Blog
Thoughts on engineering, design, and building great products.
Dockerizing an Application and Pushing the Image to ECR
Package a Node.js application into a Docker image, create an ECR repository, and push the image to it. This is the foundation for the CI/CD article that follows.
CI/CD with GitHub Actions: Automatically Build and Deploy to AWS
Build a pipeline: every push to GitHub automatically builds a Docker image, pushes it to ECR, and deploys to EC2. Uses OIDC so you don't store an AWS access key in GitHub.
CloudWatch: Monitoring and Viewing Your Application's Logs
Create a CPU alarm that emails you via SNS, and ship container logs to CloudWatch Logs for centralized viewing. Know how the system is running and get alerted when something goes wrong.
Series Wrap-up and a Full Audit of Your AWS Account
The final article: a full-account audit checklist to be sure no resource is quietly billing you, a review of the best practices used, and suggestions for where to learn next.