Continuous configuration automation (CCA) is the methodology or process of automating the deployment and configuration of settings and software for both physical and virtualdata center equipment.[1]
Continuous configuration automation is marketed fordata center and applicationconfiguration 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 calledDevOps, and are often included as part of aDevOps toolchain. CCA grew out of a push to develop more reliable software faster.[1] Gartner describes CCA as “Embodyinglean, 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 ofinfrastructure as code (IaC) frameworks.[1] CCA tools includeAnsible,Chef, Otter [d],Puppet,Rudder andSalt.[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; 14 years ago (2012) | Push | Declarative and imperative | Python |
| CFEngine | Northern.tech | 1993; 33 years ago (1993) | Pull | Declarative | C[7] |
| Chef | Progress | 2009; 17 years ago (2009) | Pull | Imperative | Ruby |
| OpenTofu | Linux Foundation | 2023; 3 years ago (2023) | Push | Declarative | Go |
| Otter [d] | Inedo | 2015; 11 years ago (2015) | Push | Declarative and imperative | — |
| Puppet | Puppet | 2005; 21 years ago (2005) | Pull | Declarative | C++,Clojure since 4.0,Ruby |
| Salt | VMware | 2011; 15 years ago (2011) | Push and Pull | Declarative and imperative | Python |
| Terraform | HashiCorp | 2014; 12 years ago (2014) | Push | Declarative | Go |
Evaluations of CCA tools may consider the following:[8][9]