I'm really interested in how y'all are doing Continuous Integration/Deployment of your Infrastructure-as-Code (particularly CloudFormation), especially without disruption to users!
Specifically, I'm trying to automate a "manual CloudFormation setup".
Right now that's "templates in git with humans periodically run update-stack
";
ideally it would become "PR merged? Rolling out the change".
(Part of me feels like I have "too many questions" and really just need to see a working setup, but hey)
- Are you doing immutable deployments? If so how do you handle DNS flipping / SSL registration?
- Where do you keep your templates? Same repo as the app? Elsewhere?
- How do you handle "config"? CloudFormation templates have Parameters, great, but where/how do you source that data?
- How do you handle promotion? When you've rolled out updated templates to dev and it all looks good, how do you make them live?
If you're not doing CI/CD with IaC then please, tell me what you are doing? Artisanally hand-crafted AWS setups? Manually-pushed Terraform....thingies? What're you doing?