Learn about build pipeline, configuration management, packaging and delivering machines, immutable infrastructure, and convergence.
We'll cover the following
Designing for easy deployment
Our goal in this chapter is to learn how we need to design our applications so that they’re easy to deploy. This section describes the deployment tools themselves to give us a baseline for understanding the design forces they impose. This overview won’t be enough for us to pick up Chef and start writing deployment recipes, but it will put Chef and tools like it into context so we know what to do with our ingredients.
The first tool of interest is the build pipeline. It picks up after someone commits a change to version control. Some teams like to build every commit to master; others require a particular tag to trigger a build. In some ways, the build pipeline is an overgrown continuous integration (CI) server.