This article will address the topic of Continuous configuration automation, which has gained great relevance in recent years. Throughout history, Continuous configuration automation has been the object of study and interest by experts in various disciplines, and has been a source of debate and reflection for society in general. In order to further understand the importance of Continuous configuration automation in the current context, different perspectives and approaches will be analyzed that will allow us to obtain a comprehensive vision of this topic. Likewise, the implications that the study of Continuous configuration automation has in different areas, such as culture, politics, science, among others, will be explored. Through an exhaustive analysis, the aim is to provide the reader with a broad and updated vision of Continuous configuration automation, providing new reflections and knowledge that contribute to enriching the understanding of this phenomenon.
Continuous configuration automation (CCA) is the methodology or process of automating the deployment and configuration of settings and software for both physical and virtual data center equipment.[1]
Continuous configuration automation is marketed for data center and application configuration management. CCA tools use a programmable framework for configuration and orchestration through coding, planning, and incrementally adopting policies.[2][3]
CCA tools are used for what is called DevOps, and are often included as part of a DevOps toolchain. CCA grew out of a push to develop more reliable software faster.[1] Gartner describes CCA as “Embodying lean, agile and collaborative concepts core to DevOps initiatives, CCA tools bring a newly found level of precision, efficiency and flexibility to the challenges of infrastructure and application configuration management.” [4]
CCA tools support administrators and developers to automate the configuration and Orchestration of physical and virtual infrastructure in a systematic way that give visibility to state of infrastructure within an enterprise. Generally thought of as an extension of infrastructure as code (IaC) frameworks.[1] CCA tools include Ansible, Chef software, Otter, Puppet (software), Rudder (software) and SaltStack.[5] Each tool has a different method of interacting with the system some are agent-based, push or pull, through an interactive UI. Similar to adopting any DevOps tools, there are barriers to bring on CCA tools and factors that hinder and accelerate adoption.[6]
Notable CCA tools include:
| Tool | Developed by | Initial release | Method | Approach | Written in |
|---|---|---|---|---|---|
| Ansible | Red Hat | 2012 | Push | Declarative and imperative | Python |
| CFEngine | Northern.tech | 1993 | Pull | Declarative | C[7] |
| Chef | Progress | 2009 | Pull | Imperative | Ruby |
| Otter | Inedo | 2015 | Push | Declarative and imperative | — |
| Puppet | Puppet | 2005 | Pull | Declarative | C++, Clojure since 4.0, Ruby |
| Salt | VMware | 2011 | Push and Pull | Declarative and imperative | Python |
| Terraform | HashiCorp | 2014 | Push | Declarative | Go |
Evaluations of CCA tools may consider the following:[8][9]