Category: Software, automation

The trap of the Cloud Service UI is familiar to anyone who has set up a service on AWS (or any cloud provider) . The use of the web ui inevitably leads to configuration drift — a series of small undocumented changes to your environment causing it to slowly evolve from whatever was initially deployed.

In a more daily pain point, the behaviors of CI and Production start to diverge and the integrity of your regression tests is invalidated.

All of this was wrapping CloudFormation templates that were hundreds of lines long, often contained copy & pasted snippets from other templates and contained similar incomprehensible magic to generate parameters and conditional logic.

Our goal of aligning the CI and production environments was achieved though many iterations and lessons learned, but the result was worth it — all configuration updates were recorded as git check-ins; monitoring was tested in CI before going to production; and developers could extend the architecture of the application with ready to use, monitored, logged, reliable building blocks.

Related Articles