CHAPTER FIVE

Deployment

After you have an idea of how much capacity is needed for future growth and have purchased the hardware, you need to deploy it into production. In the case of a cloud setup, this entails configuring autoscaling (this is discussed in depth in Chapter 6). conversely, for a datacenter (which can be a managed service, as well), this also entails physically installing the hardware.

Image

Historically, deployment has been viewed as a headache. Installing the operating system and application software, ensuring that all of the right settings are in place, and loading a website’s data—all of these tedious steps must be done to integrate the new instances in the cloud, or new hardware that’s fresh out of the crate in a datacenter. Fortunately, the pain of repeating these steps over and over has inspired an entire category of software: automated installation and configuration tools such as Vagrant, Chef, Puppet, Pallet, Ansible, and CFEngine.1 This new category of tools is commonly talked about under the umbrella of infrastructure as code, or programmable infrastructure. In essence, infrastructure as code refers to writing code (which you can do using a high-level language or any descriptive language) to manage configurations and automate provisioning of infrastructure in addition to deployments. It differs from infrastructure automation, which just involves replicating ...

Get The Art of Capacity Planning, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.