Adding a configuration management system

Configuration management systems are probably the most well-known components of a classic DevOps-driven organization. Present in most companies including in the enterprise market, configuration management systems are quickly replacing homegrown Shell, Python, and Perl scripts. There are many reasons why configuration management systems should be part of your environment. They offer domain-specific languages, which improves the readability of the code, and are tailored to the specific needs that organizations have when trying to configure systems. This means they have a lot of useful, built-in features, and finally, the most common configuration management tools, have a big and active user community, which often means that you will be able to find existing code for the system you are trying to automatize.

Some of the most popular configuration management tools include Puppet, Chef, SaltStack, and Ansible. While all those options are fairly good, this book will focus on Ansible, the newest of those four tools mentioned. There are a number of key characteristics that make Ansible a very popular and easy-to-use solution. Unlike other configuration management systems, Ansible is built to work without a server, a daemon, or a database. You can simply keep your code in source control and download it on the host whenever you need to run it or use a push mechanism via SSH. The automation code you write is in YAML static files, which makes the learning curve a lot less steep than some of the other alternatives that use Ruby or specific DSL. In order to store our configuration files, we will instead rely on our file version control system, in our case GitHub.

AWS OpsWorks and its Chef integration
While Amazon hasn't really released a service dedicated to configuration management, it supports Chef within the OpsWorks service. Unlike the services we have explored so far in the book, OpsWorks aims at being a "complete application life cycle, including resource provisioning, configuration management, application deployment, software updates, monitoring, and access control." If you are willing to trade some flexibility and control, OpsWorks might be able to handle what you need to run a simple web application. You can learn more about it at http://amzn.to/1O8dTsn.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset