CloudFormation templates can be versioned right alongside the application code itself. Through the CloudFormation service, AWS resources can be provisioned declaratively using JSON. Services like Amazon EC2 and AWS CloudFormation allow infrastructure to be managed as code.
What is needed instead is a way to transfer an environment seamlessly from development to test, eliminating the need for manual and error prone resource provisioning and configuration.ĪWS has long offered services that address the need to reliably and efficiently automate the creation of an environment.
Traditional approaches for dealing with this problem, such as change management processes, are too cumbersome for today’s rapid build and deploy cycles. Slight differences between development, test, stage, and production environments can wreak mayhem on an application. This is an all too common problem in software development. After spending a few hours troubleshooting alongside the QA engineer, you discover that the test environment is using an outdated version of a third-party library, and this is what is causing your REST endpoints to break. How can this be? You’ve got thorough code coverage with your unit tests, and all were passing before the handoff to QA. The QA engineer dutifully deploys the most recent build to the test environment, and within the first few minutes of testing discovers that your recently developed REST endpoint is broken. After running all the unit tests and seeing that they passed, you check your code into the Git repository and let the QA engineer know that the build is ready for testing. You code the first endpoint using the development environment on your laptop. You’ve been tasked with creating the REST API for a mobile app for tracking health and fitness.