Automation Tools

Infrastructure as Code” is one of the primary principle of the DevOps. Virtualizations, Cloud Computing, configuration of basic server capabilities are all part of the fully programmable infrastructure. Automating Infrastructure by scripting environments from installing an Operating System to installing necessary packages, configuring instances on fly and networking is one of the important roles of the DevOps. By scripting environments, you can apply the same configuration to a single node or to thousands.

Infrastructure automation also can be defined as configuration management, IT management, provisioning, scripted infrastructures, system configuration management etc. The point is the same: you are describing your infrastructure and its configuration as a script or set of scripts so that environments can be replicated in a much less error-prone manner. Infrastructure automation brings agility to both development and operations because any authorized team member can modify the scripts while applying good development practices — such as automated testing and versioning — to your infrastructure.

One of the important aspects of DevOps is about making a push-button deployment. A Complete DevOps infrastructure contains a Push-Button deployment that will automatically create new boxes, install all dependencies, upload the app, and set all the appropriate configuration values on Fly.

As a Test Driven development or a Test Driven design in a software development where unit testing is repeatedly done on Code a testable deployments are created so that they can be deployed with the Push button. Test cases are also written to check whether the deployment is success and also how the app is testing.

Automation languages
These are major players in infrastructure as Code. Automation languages are bases on the structure of “describe the desired state of the system and the tool will make that happen”. The automation tools like Chef/Puppet/Ansible/SaltStack are all based on the above principle. With most procedural process like building a source code where each steps are performed in steps which include make, make install etc the problem with them is that once a part is broken the system state is changed and cannot be reverted back. The automation languages make sure that the desired state change is done only when all desired steps are successful.

Infrastructure automation also refers to tracking and controlling changes to the Software code base. We something goes wrong we will have the capability to get the system back to the desired state and also to find out what was changed. It’s an essential practice for establishing and keeping consistent product performance, especially when various developers and system administrators are working on the same code base.


No comments :