Brownfield CDK: Migrating a Live Production App to Infrastructure as Code
Details
Ever wonder how to migrate a live, production app to AWS CDK? We’re looking forward to our July guest Dave Wilson for that answer.
Many CDK journeys start with `cdk init` and an empty account. His started with a live, revenue-generating tender platform, launched in 2023 after several years of development, running on hand-rolled deployment scripts, a lone `forever` process and an Nginx proxy.
This is the honest account of moving that whole platform to AWS CDK in three phases, with the lights on the entire way. First, the proof of concept: standing up the database, the app on Fargate, and assets on CloudFront as code, until a fresh deployment into an empty AWS account could pass the smoke tests.
Then the pipeline: building each artefact exactly once per commit and promoting the same build through every stage, wrangling ECR and Docker images the CDK way, and mirroring production with staging and preview.
Finally, go-live: cutting UAT and then PROD over by DNS, with rollback measured in seconds and the first post-launch fix shipped as a one-line config change through the new pipeline.
You'll leave with a practical playbook for adopting CDK on a system that already exists and can't go down, and the gotchas the tutorials skip.




