Blog
Short posts about what I’m learning while building in AWS.
Dec 2025 • AWS • Cost Management
Cost Management by Design: Keeping My AWS Cloud Resume Practically Free
One of my explicit goals while building my Cloud Resume project was cost discipline —
not hoping the bill stays low, but designing the architecture so cost is controlled by default.
From the beginning, I made a conscious decision to favor a static-first, serverless architecture.
This meant avoiding always-on infrastructure and choosing services that either cost nothing at low
scale or only charge when they are actually used.
Key cost decisions
- Static hosting with Amazon S3 instead of EC2
- CloudFront caching to reduce origin requests and bandwidth costs
- Serverless visitor counter using Lambda, API Gateway, and DynamoDB (on-demand)
- AWS Budgets with alerts as cost guardrails
This project reinforced an important lesson for me:
good cloud engineering is as much about what you don’t deploy as what you do.
Dec 2025 • Cloud Resume Challenge
What broke (and how I fixed it): CloudFront, redirects, and the visitor counter
This build taught me that “simple” static hosting becomes real engineering once you add HTTPS,
DNS, caching, and a serverless backend.
My biggest time-sinks were CloudFront cache behavior, redirect rules, and wiring the
visitor counter to the correct API endpoint. Each issue forced me to slow down and
understand how the pieces actually interact in production.
Key lessons
- CloudFront will happily serve old content until you invalidate (or version files).
- Redirect logic can look “correct” but still fail because of cached behavior.
- Front-end code should never talk directly to DynamoDB — use API Gateway and Lambda.
Next up: documenting my full CI/CD flow end-to-end so deployments become boring (the goal).