This chapter focus on automating server deployment and managing development environments.
I start off by discussing Linux package management tools and then move on to Fully Automatic Installation (FAI), which is the way to go when installing large number of Linux servers.
Setting up consistent virtual environments is a big concern in many organizations. Vagrant is an amazing tool that’s quite easy to use yet very powerful, and one that helps you effortlessly spin up consistent development environments.
Managing a few servers at a time through shell scripts is fine, but when handling large and complex environments with various services running on them, you need different strategies. I discuss various tools that’ll help you perform parallel command execution such as PDSH, as well as more sophisticated parallel execution frameworks such as Fabric and Mcollective.
Automated server provisioning tools are very helpful in installing large number of servers and managing them with configuration tools such as Chef and Puppet (I discuss these two well-known configuration management tools along with other popular CM tools such as Ansible/Salt) in Chapter 7.
The chapter concludes with a brief discussion of two popular server deployment automation tools: Razor and Cobbler.
Linux systems can contain thousands of software packages and adding, updating and removing those packages is a common ...