Chapter 5. Installing Software on Newly Provisioned Hardware
The adoption of Infrastructure-as-a-Service requires a fundamental change to how software is installed and configured on newly provisioned servers. Most organizations manually install and configure software on each server. This doesn’t work when you’re quickly provisioning new servers in response to real-time traffic. Servers need to be serving HTTP requests or doing other work within minutes of being provisioned. They also need to be configured accurately, which is something humans have difficulty doing reliably.
You can skip this chapter if you’re only using PaaS or SaaS because they do all this for you. This is what you’re paying them a premium for over IaaS.
In this chapter, we’ll discuss how to build, maintain, and monitor self-contained modular stacks of software. These stacks are called deployment units.
What Is a Deployment Unit?
When you provision capacity with Infrastructure-as-a-Service, you get raw hardware with your choice of an image. But before you can actually do anything with the hardware, you need to install and configure software so that it can actually handle HTTP requests or serve whatever purpose it’s destined for, as shown in Figure 5-1.
Specifically, this involves installing a base image, or:
- Installing software from binary distributions (virtual machine, application ...