Red Hat Ansible
- Ansible is a very powerful open source automation language.
- What makes it unique from other management tools, is that it is also a deployment and orchestration tool.
- In many respects, it aims to provide large productivity gains to a wide variety of automation challenges.
- While Ansible provides more productive drop-in replacements for many core capabilities in other automation solutions, it also seeks to solve other major IT challenges.
- One of these challenges is to enable continuous integration and continuous deployment (CI/CD) with zero downtime.
- This goal has often required extensive custom coding, working with multiple software packages, and lots of in-house-developed glue to achieve success.
- Ansible provides all of these capabilities in one composition, being designed from the beginning to orchestrate exactly these types of scenarios.
WHY CI/CD (Continuous Integration/Continuous Delivery)?
- Longer release cycles (“waterfall projects”) have dramatically higher overhead than more frequently released (“iterative” or “agile”) shorter cycles.
- As a release begins, a quality assurance team is prepared, waiting for things to test, and IT does not have anything to deploy.
- Towards the end of a release cycle, QA is running at full force, as is IT, but development is split between bugs and planning the next major release. Context switches are frequent.