Blog
Thoughts on engineering, design, and building great products.
Capstone (2): The Complete Production Pipeline
Closing the series: a pipeline that carries code from a CodeCommit commit, through build and test, through an approval gate, then blue/green deploys onto an Auto Scaling Group behind an ALB — running for real end-to-end, one commit becoming one zero-downtime production release. Then tearing everything down and wrapping up the whole series with a roadmap for what's next.
Capstone (1): Building the Target Infrastructure via CLI
Opening the capstone: assembling every piece of infrastructure we've learned into a production target environment for a complete pipeline. A launch template and Auto Scaling Group behind an Application Load Balancer, a blue/green deployment group with rollback — all via the AWS CLI. The next article wires up a pipeline that runs straight into this infrastructure.
Quality and Notifications in the Pipeline
A pipeline needs two more things to use for real: running test/scan as a blocking gate (broken code never reaches Deploy) and firing status notifications so nobody has to sit watching the console. This article uses tests in the Build stage as a gate, then sets up a notification rule that pushes pipeline events to SNS — reading a real notification through SQS to prove the chain works.
A Pragmatic Pipeline: Approval Gate, Parallelism, and Triggers
A pipeline that runs isn't yet a pipeline you can use at work. This article adds three pragmatic things: a manual approval gate that blocks deploy until someone signs off (demoed for real over the CLI), running multiple actions in parallel with runOrder, and trigger filtering so the pipeline runs only for the right branch — using pipeline type V2.
CodePipeline: Wiring Source, Build, Deploy Into a Chain
Until now every stage ran by hand. CodePipeline wires them into one automated chain: Source pulls code from CodeCommit, Build calls CodeBuild, Deploy calls CodeDeploy — artifacts flow from one stage to the next. This article builds the first pipeline, runs it for real, and dissects how artifacts pass between stages.
Blue/Green Deploy With ALB and Automatic Rollback
In-place deploys have a window where a machine is offline. Blue/green avoids it: stand up a new fleet (green) in parallel, validate it, then shift traffic over with a load balancer — blue stays intact for an instant return. This article builds an ALB, switches the deployment group to blue/green, runs it for real (including a very realistic IAM error), and configures automatic rollback per CloudWatch alarm.
Deploying to an Auto Scaling Group and Deployment Config
From one instance to many: deploying to an Auto Scaling Group. Create a launch template and ASG, attach the deployment group to the ASG, then pick a deployment config (OneAtATime, HalfAtATime, AllAtOnce) to control whether the deploy goes machine by machine or all at once. Plus a key mechanism: CodeDeploy automatically deploys the latest revision to instances the ASG launches later.