Blog
Thoughts on engineering, design, and building great products.
CI/CD Concepts and Your First Pipeline on AWS EC2
A step-by-step guide to deploying a React + Node.js web app to AWS EC2 with Docker, then wiring up an automated CI/CD pipeline with GitHub Actions. Walks through CI/CD fundamentals, the difference between Continuous Delivery and Continuous Deployment, the standard pipeline stages (Source → Build → Test → Quality Gate → Package → Deploy → Verify), GitHub Actions terminology, common deploy strategies, then builds a first end-to-end pipeline. Aimed at DevOps newcomers.
What's New in AWS: a re:Invent 2025 → Early 2026 Recap
The opening edition of a recurring AWS digest, catching up on six months from re:Invent 2025 to early 2026. The features worth your attention: Lambda Durable Functions, EKS Capabilities (managed Argo CD), DynamoDB multi-Region strong consistency, Bedrock's 18 new open-weight models, S3 Vectors, Security Hub GA, plus the list of services being retired. Every item is grounded in the AWS docs; whatever can be demoed is run for real, then cleaned up.
Capstone: Reviewing Against Well-Architected, Cleanup, and Extensions
The final article of the series. Putting the whole architecture back together, reviewing it through the five Well-Architected pillars to see where each article contributed, walking through a one-command clean teardown, and sketching the next extensions: custom domain, multi-region, and a real dashboard.
Load Testing With k6: Finding the Bottleneck Under Real Load
Throwing real load at the system with k6 and reading how it scales. Firing over 25,000 requests at the link-open path, then cross-checking the k6 results against CloudWatch metrics to find the bottleneck. The numbers point straight at a figure seen many times in the series: the concurrency limit of 10, and show the system sheds excess load fast instead of collapsing.
The Real Bill: How Much Serverless Costs, and Where It Saves
Opening the real bill of this very product. Cost Explorer shows that building and testing across the whole series cost essentially nothing, because serverless doesn't charge while idle and usage stays inside the free tier. We walk through the pricing model service by service, and point out where design choices in the series cut cost.
CI/CD: Automating Build and Canary Deploy With Rollback
Throughout the series we deployed by typing sam deploy by hand. This article builds CI/CD: a GitHub Actions workflow that builds and validates the template on every push, and deploys safely with canary via CodeDeploy, shifting traffic gradually and rolling back automatically if an error alarm fires. Plus two real traps hit along the way: esbuild missing from the CI PATH, and a circular dependency between the function and the alarm.