Ansible: Automation in the Cloud

For several years, LCSEE Systems has used  Debian packaging to automate the installation of software on servers and desktop computers, reducing the amount of time and effort required versus manual configuration by hand. While Debian packaging has fulfilled its role as an automation tool, numerous facets of its behavior are non-ideal for Systems configuration management. The package author is limited to actions which are amenable given the features of Debian packaging. For example, the primary means to automatically execute commands during package installation is a singleBASH script denoted as the  post-install script. Implementing the post-install script for non-trivial software requires deciding which installation steps to include in the script and which to perform by hand following package installation. In an effort to include every required task, many complex packages have rather intricate post install steps, to reduce the number of steps which must be performed by hand. Additionally, intricate packages can become a serious maintenance burden, as passing the responsibility of package maintenance to a second author following the departure of the original is time-consuming and tedious. Clearly, this provisioning system has left much to be desired.