It's the holy grail of Continuous Deployment: Build the application, provision an environment, setup the app, run automated tests, then tear it down or freeze it for analysis. Vendor demos have shown us this is possible for years, but there's often a gap between basic demos and our real-world, complex environment. So the question remains, is this plausible? YES! I'll cover how organizations have tackled some of the larger challenges:
* What your organization or team needs to accept before "accepting this quest"
* Coordinating the delivery of infrastructure automation and application code
* Common areas overlooked when creating this kind of pipeline like release coordination, quality checks for infrastructure and layering of configuration data
* Ways to save environments upon failure
* Integration of automated testing and monitoring
I have a live demo as a base to show how it can be done, to prove these ideas do work! As with all demos I've picked specific tooling (.NET, Azure, Chef, Octopus Deploy) but I'll suggest alternatives to make the most out of your environment.