Machine image as a build artifact
NOT ON THE CURRENT EDITION
This blip is not on the current edition of the Radar. If it was on one of the last few editions it is likely that it is still relevant. If the blip is older it might no longer be relevant and our assessment might be different today. Unfortunately, we simply don't have the bandwidth to continuously review blips from previous editions of the RadarUnderstand more
Published: May 22, 2013
Last Updated: Jul 08, 2014
Many of our teams are getting great benefit from publishing virtual machine images as a build artifact during their automated build processes. These machine images are published with the application and all dependencies, often in an immutable state. With minimal additional configuration the image can be used to create identical virtual machines in all environments eliminating many common sources of error and waste. Tools are emerging to make this approach simpler, for example Packer in the tools section of the Radar. This approach is working well in companies that take a mature approach to cloud and virtualization, and where delivery teams have responsibility and access right through to production.
Most virtualization technologies provide a way to launch a machine from an image. By creating a machine image as a build artifact early in your build pipeline and promoting it through the pipeline as it passes further suites of tests, you can reliably deploy the exact machine that passed the tests into production. This technique eliminates most causes of the snowflake server anti-pattern.