3 weeks ago, I didn’t even know what 𝐀𝐏𝐈 𝐆𝐚𝐭𝐞𝐰𝐚𝐲 was. Today, I shipped a fully serverless URL shortener on AWS , built with Mohan Merugu. 🚀☁️ And honestly? This project taught me more than any course ever could. Here's how it actually went: 𝐖𝐞𝐞𝐤 1 — "How hard can it be?" We set up DynamoDB, wrote the Lambda functions in Python, connected everything to API Gateway. It worked. We felt like geniuses. 𝐖𝐞𝐞𝐤 2 — Reality check. CORS errors. IAM permission issues. CloudFront cache not refreshing. The kind of bugs that don't make sense until suddenly they do. 𝐖𝐞𝐞𝐤 3 — It clicked. Everything connected. User pastes a URL → Lambda shortens it → DynamoDB stores it → short link redirects perfectly. Zero servers managed. What we shipped: ⚙️ lambda_shorten.py — generates a 6-char short code + writes to DynamoDB 🔁 lambda_redirect.py — fetches the URL and returns HTTP 302 redirect 🌍 S3 + CloudFront frontend — fast UI, HTTPS, globally accessible 🔐 iam_policy.json — strict least-privilege access (security-first) This is project #2 in my cloud journey (Azure was #1). Each one teaches something the docs never tell you. 📂 The full repo is public on GitHub. Every file — Lambda functions, IAM policy, frontend, README — is open for anyone who wants to learn how a real cloud project is structured. If you're just starting out, use it. That's exactly why we made it public. 🔗 https://lnkd.in/d7a6dMvm #AWS #Serverless #CloudComputing #BuildInPublic #OpenSource #Lambda #Python #StudentDeveloper #hackerhaibhai
Dilip Pal’s Post
More Relevant Posts
-
🐳 Containerizing Node.js just got a whole lot clearer. I just published a new article in my Docker Zero to Hero series — and this one covers everything students always get stuck on: ✅ Writing a production-aware Dockerfile for Express ✅ The layer caching trick that speeds up every build ✅ Nodemon hot reload inside Docker (no rebuilds!) ✅ Docker Compose with MongoDB — full working setup ✅ The double-volume pattern that everyone gets wrong If you've ever typed `docker run` and immediately regretted it, this one's for you. 😄 Built for beginners. Packed with real explanations — not just copy-paste commands. 👇 Read it here: https://lnkd.in/gxPXfzhn #Docker #NodeJS #ExpressJS #MongoDB #DockerCompose #Nodemon #Containerization #BackendDevelopment #DevOps #DockerZeroToHero
To view or add a comment, sign in
-
Been a bit offline but for a good reason. I’ve been building something I’m really proud of "𝗩𝗶𝘀𝗶𝘁 𝗪𝗵𝗲𝗿𝗲 𝗜𝘁 𝗖𝗼𝘂𝗻𝘁𝘀" a 𝗺𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀-based 𝗩𝗶𝘀𝗶𝘁𝗼𝗿 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀 𝗦𝘆𝘀𝘁𝗲𝗺. Real time visitor tracking on the surface, but the real focus was under the hood: - Scalable microservices architecture - Redis with persistence - Nginx load balancing - Docker-based IaC 🏗 𝗛𝗶𝗴𝗵𝗹𝗶𝗴𝗵𝘁𝘀 🐍 Flask backend + Google Maps API 🔴 Persistent Redis (survives restarts) ⚖️ Nginx round-robin traffic 🛡️ Slim images for better security ⚡ Multi-stage builds for fast, lightweight deployments ⚙️ Config management with .env 🌐 Tech Stack Python Flask • Redis • Nginx • Tailwind CSS • Docker • Google Maps API Check out my code and more details of the features on my GitHub: https://lnkd.in/dRzVdZnz CoderCo #DevOps #Docker #CloudInfrastructure #Python #Redis #Nginx #WebDevelopment #ITCareer
To view or add a comment, sign in
-
⚡ AWS LAMBDA SNAPSTART: COLD START PRATICAMENTE ZERO! Você sofre com cold start? Lambda SnapStart = milliseconds. ⚡ **O que é?** Snapshot-based initialization. ```java // Com SnapStart public class LambdaHandler implements RequestHandler { static { // Init uma vez init(); } } ``` Workflow: 1. Init → snapshot 2. SnapStart → encrypt + store 3. Invoke → restore Benefícios: ✅ Cold start: ~200ms → ~10ms ✅ Consistent latency ✅ Sem changes no código Works com: 🎯 Java (Corretto 11+) 🎯 Python (coming) 🎯 Node.js (coming) E pricing: Same Lambda pricing. Sem surcharge. Na comunidade DevOps for Life: 💻 Setup SnapStart 💻 Java optimization 💻 Performance tuning --- 🤙 Cold start = passado! Me siga para mais dicas! E aproveita os CUPONS pra joinar a gente: 🔗 https://devopsforlife.io NINJA - 20% OFF: https://lnkd.in/dchtzbWH JEDI - 20% OFF: https://lnkd.in/d9G9R-Ew SUPER SAIYAN - 20% OFF: https://lnkd.in/dtm2Hnj6 --- Curtiu? Me segue para novos updates! 🚀 #devops #aws #lambda #snapstart #coldstart #serverless #performance #devopsforlife
To view or add a comment, sign in
-
AWS vs. Me: The Cloud Resume Challenge (Backend → Frontend Reality) Finished the serverless backend for my Cloud Resume Challenge… and I won’t lie, this one humbled me a bit. At first, it sounded straightforward>> “just build a Lambda function.” But once you actually get into it, you realize it’s not just about writing code. It’s about getting multiple AWS services to cooperate without breaking. The Architecture: -DynamoDB – stores my visitor count -Lambda – handles the logic -API Gateway – exposes everything to the internet -S3 – where the actual 'user-facing' page lives -IAM & CORS – the silent gatekeepers that can block everything if misconfigured The Reality Check This was far from smooth. IAM issues slowed me down more than the code itself I ran into DynamoDB quirks like reserved keywords (“Views” was not as harmless as it looked) And at one point, a tiny naming mistake had me debugging something that didn’t even exist Nothing dramatic, just the kind of small issues that stack up and test your patience. The Turning Point I finally got the API working… opened it in the browser… and saw raw JSON. It worked. But it didn’t feel like it worked. No structure, no design, just data. So I took it a step further: Built a simple HTML/CSS page Uploaded it to S3 Enabled static hosting Connected it to my API using JavaScript That’s when everything clicked. The same data, but now it actually looked like something a person would use. The Result Now it’s a complete flow: Frontend on S3 Backend powered by Lambda Data stored in DynamoDB Requests handled through API Gateway And the view count updates in real time. What I Took From This This project made one thing clear: You can have something that works technically… and still isn’t finished. The real work is in: 1. figuring out why things break 2. understanding how services connect 3. and turning raw output into something usable Still learning, still refining, but this one definitely leveled me up. cc: Oluwabusola Opeoluwa TechPeak Lab LTD Github: [ https://lnkd.in/dTx3Xcd2 ] #AWS #CloudResumeChallenge #Serverless #Python #Lambda #DynamoDB #S3 #CloudEngineering #LearningInPublic
To view or add a comment, sign in
-
-
𝐏𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐚𝐭𝐢𝐜 𝐈𝐧𝐟𝐫𝐚𝐬𝐭𝐫𝐮𝐜𝐭𝐮𝐫𝐞: 𝐒3 + 𝐁𝐨𝐭𝐨3 Integrating the 𝐀𝐖𝐒 𝐏𝐲𝐭𝐡𝐨𝐧 𝐒𝐃𝐊 with my 𝐂𝐋𝐈 to automate S3 deployments and using a python script to create resources on AWS cloud. As part of my AWS Cloud Practice, I have setup my environment configuration through the CLI. Today I automated S3 bucket creation using Python. My 𝐆𝐢𝐭𝐡𝐮𝐛 𝐥𝐢𝐧𝐤 to AWS Cli + Python SDK repo: https://lnkd.in/d53mp-JN 𝐖𝐨𝐫𝐤𝐟𝐥𝐨𝐰: 1. Configure AWS CLI with IAM credentials. 2. Use Boto3 to initialize an S3 client. 3. Handle regional endpoints and constraints programmatically. "Building the cloud" is exciting, can't wait to integrate with Agentic Ai Applications. It was interesting to find out that the first service AWS ever launched was s3 and it was at the us-east-1 region, which is the only reason why you have to use LocationConstraints when you want to create resources in other regions to create endpoints. #AWSArchitecture #PythonDeveloper #InfrastructureAsCode #AWSCLI #Tech #AWS #Python
To view or add a comment, sign in
-
💥 I made a small mistake in Kubernetes… and it broke everything. While deploying MongoDB + Mongo Express on Kubernetes, I hit a scary error: 👉 CreateContainerConfigError At first, I thought something was wrong with my containers, YAML, or even Minikube setup. But the real issue? ❌ Just ONE mismatched name. I used: mongo-secret But actually created: mongodb-secret That’s it. One tiny inconsistency = entire app fails. 👉 What I learned from this: • Kubernetes is VERY strict about naming • Secrets & ConfigMaps must match EXACTLY • kubectl describe pod is your best debugging weapon 👉 After fixing it, everything worked perfectly: ✔ MongoDB connected ✔ Mongo Express UI running ✔ Services communicating via internal DNS If you're learning Kubernetes, don’t just watch tutorials — 👉 build real projects and break things. That’s where real learning happens. 📖 I wrote a full step-by-step guide here: https://lnkd.in/gVCzAhHs 💻 Full source code: https://lnkd.in/g3vgsvQh #Kubernetes #DevOps #MongoDB #CloudNative #Backend #LearningInPublic #100DaysOfCode
To view or add a comment, sign in
-
-
just wrote a new article! 🎉 I remember when I first started building LLM-based solutions — every framework (LangChain, CrewAI, Google ADK, etc.) had its own tool format. It was a disaster whenever I tried to migrate to another framework or needed to manage multiple projects. Then I heard about MCP (Model Context Protocol), but had no idea how to build one from scratch. So here's a full walkthrough on how I built my custom MCP Server: → Built an MCP server from scratch using FastMCP in Python for BigQuery, Snowflake, PostgreSQL, Qdrant, Gmail, and Telegram → Deployed it to Google Cloud Run (with the gotchas that'll save you hours) → Connected the same server URL to Google ADK, LangChain, and CrewAI 📖 Read the article here: https://lnkd.in/ghQX4dYn #MCP #ModelContextProtocol #AIAgents #Python #CloudRun #LangChain #CrewAI #GoogleADK
To view or add a comment, sign in
-
Anyone can build an app that works when things go right. I wanted to build a system that survives when things go wrong. Most portfolio projects often end with simple interactions like "user clicks a button, a database updates." I aimed to create something that truly breaks, recovers, and scales. Over the past few weeks, I developed a fully serverless AWS event-driven system that simulates an end-to-end factory production line. https://lnkd.in/dGHN7Tud Instead of a monolithic backend, I designed an event-driven flow where state changes dictate the next action, eliminating manual orchestration and relying solely on events. The Architecture & The "Why": - API Gateway + Cognito (JWT): Securing and throttling the edge. - DynamoDB + Streams: The source of truth, where a payment update automatically triggers the next phase via Streams. - SQS + DLQ: The shock absorbers, decoupling the storefront from the factory floor to prevent traffic spikes from crashing the processing engine. - EventBridge (Scheduler): The watchdog, monitoring for edge cases, such as orders stuck in production for over 24 hours. - SNS: Real-time alerting for inventory drops and factory delays. - Lambda (Python): The stateless glue that holds the business logic together. This project forced me to confront the realities of distributed systems: handling failures gracefully, avoiding tight coupling, and keeping cloud costs near $0 for idle workloads. My next optimization will be implementing ElastiCache to enhance read-heavy paths. I am focusing my work on architectures that not only function but also survive failure. For those building in the serverless space: How do you prefer to manage complex, multi-step workflows without creating a tangled web of dependencies? Step Functions, or pure event choreography? #AWS #Serverless #EventDriven #SoftwareArchitecture #CloudComputing #EventDrivenArchitecture #DistributedSystems #Microservices #SystemDesign #BackendEngineering #AmazonWebServices #CloudNative #AWSLambda #DynamoDB #CloudArchitecture #Python #PythonDeveloper #BackendDeveloper #Coding #SoftwareEngineering #Scalability #Resilience #FinOps
To view or add a comment, sign in
-
🚀 Flask App Deployed on AWS Elastic Beanstalk (No CLI Required!) Excited to share my latest project where I deployed a Python Flask web application using AWS Elastic Beanstalk, entirely through the AWS Management Console ☁️ 🧑💻 Project by: Avdhoot Lad 🔧 Tech Stack: Python (Flask) Gunicorn (WSGI server) AWS Elastic Beanstalk AWS EC2 🏗️ Architecture (No CLI) User → EC2 → Flask App (Gunicorn) (Managed automatically by Elastic Beanstalk) ✨ Key Highlights: ✅ Simple deployment without any CLI commands ✅ AWS handles EC2 provisioning, environment setup, scaling & monitoring ✅ Production-ready setup with Gunicorn ✅ Easy updates via Upload and Deploy in console 📌 Learnings: How to deploy apps via AWS Console Understanding Elastic Beanstalk environment management Deploying production-ready Python applications 📸 Attached: Custom architecture diagram for No CLI deployment Next steps: 🔹 Add custom domain + HTTPS 🔹 Implement CI/CD pipeline #AWS #Flask #ElasticBeanstalk #CloudComputing #Python #DevOps #WebDevelopment #LearningByDoing
To view or add a comment, sign in
-
-
New blog post alert 🚨 "Spring AI with Amazon Bedrock - Part 6 Adding AgentCore Observability". In this article, we'll show how to use AWS Distro for Open Telemetry (ADOT) SDK to add the Observability to the Spring AI Agentic application running on the Amazon Bedrock AgentCore Runtime. Amazon Web Services (AWS) #Java #SpringAI #Serverless #Observability #OTEL #AgentCore #MCP https://lnkd.in/e3bmZWbq
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development