Writing
Blog
Writing on React, web performance, and the craft of building software.
Blog
Cloud & Infrastructure
Serverless Applications on AWS
Expand All
01
Serverless Mindset
1 article
•
Not started
1
The Serverless Mindset Before You Draw a Single Box
7 min read
•
The nine principles I now run every serverless design through, starting with the one nobody puts first: does this even need to exist?
02
Designing The Fuel Pass Architecture
12 articles
•
Not started
1
The App That Broke on Launch Day
3 min read
•
A real government app built to ration fuel for a country in crisis, and what its launch-day failure teaches about designing for scale before you need it.
2
Why I Made QR Code Delivery Asynchronous
4 min read
•
Turning a real app's launch-day failure into a requirements list, and the one change to a synchronous flow that would have prevented it.
3
The Frontend That Never Touches a Password
4 min read
•
Hosting a static app on S3 behind CloudFront, then handing authentication to Cognito's custom challenge triggers so a password never enters the picture.
4
The Token Gets Checked Before the Lambda Ever Runs
3 min read
•
How API Gateway leans on the Cognito user pool to reject a bad request before the register Lambda or the database ever sees it.
5
Grading the Registration Architecture
4 min read
•
Checking the finished registration design against the four qualities that actually decide whether it survives launch day: security, scalability, cost, and complexity.
6
A Lambda That Only Moves Data Is a Lambda You Don't Need
4 min read
•
Wiring API Gateway straight into EventBridge for vehicle registration, skipping a transport-only Lambda, and using EventBridge's content-based filtering to route events into SQS.
7
A New Rule, Not a Rewrite
3 min read
•
Why EventBridge specifically was the right piece to reach for in the vehicle registration flow, tested against a feature that doesn't exist yet: corporate fleet registration.
8
The Number of Requests Isn't the Problem
5 min read
•
Why a queue sits between EventBridge and the external RMV check, and how batch size plus reserved concurrency turn a flood into a trickle a third-party system can survive.
9
Three Tries, Then a Different Path
4 min read
•
What happens when the external RMV system won't answer at all: a bounded number of retries, a dead-letter queue, and a Lambda whose only job is telling the user.
10
Check the Fuse Before You Try the Call
4 min read
•
A circuit breaker built from a DynamoDB heartbeat table with a TTL, so a Lambda stops hammering an already-down external system instead of retrying blind.
11
Same Request Twice Should Mean Nothing Changes
4 min read
•
Why the vehicle registration Lambda needs to survive being run twice for the same request, and how an idempotency key turns a dangerous retry into a harmless no-op.
12
A Cache Doesn't Know a Token Expired
4 min read
•
Retrieving a private QR code through a signed URL and CloudFront, and the TTL mismatch that quietly keeps expired access alive in the cache.
Serverless Applications on AWS | Writing & Engineering | Durgesh Rai