As we describe in Chapter 1, there are three steps to deploying software:
• Creating and managing the infrastructure in which your application will run (hardware, networking, middleware, and external services)
• Installing the correct version of your application into it
• Configuring the application, including any data or state that it requires
This chapter deals with the first of these steps. Since our goal is that all testing environments (including continuous integration environments) should be production-like, particularly in the way they are managed, this chapter will also, by extension, cover the management of testing environments.
Let’s start by defining what we mean by ...