Continuous configuration automation

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]

Overview

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]

Relationship to DevOps

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]

Tools

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 Released by Initial release Method Approach Written in
Ansible RedHat 2012; 12 years ago (2012) Push Declarative and imperative Python
CFEngine CFEngine 1993; 31 years ago (1993) Pull Declarative C[7]
Chef Chef 2009; 15 years ago (2009) Pull Imperative Ruby
Otter Inedo 2015; 9 years ago (2015) Push Declarative and imperative -
Puppet Puppet 2005; 19 years ago (2005) Pull Declarative C++, Clojure since 4.0, Ruby
SaltStack SaltStack 2011; 13 years ago (2011) Push and Pull Declarative and imperative Python
Terraform HashiCorp 2014; 10 years ago (2014) Push Declarative Go

Evaluation factors

Evaluations of CCA tools may consider the following:[8][9]

  • Skills, training, and cost required to implement and maintain tool
  • Content and support of the Platform and Infrastructure – tool specified for Windows or Linux etc.
  • Delivery method and likening flexibility – important for scalability
  • Method of interacting with managing system
  • Support and training availability and cost
  • Incorporation of orchestration with configuration management
  • Security and compliance reporting

See also

References

  1. ^ a b c Fletcher, Colin; Cosgrove, Terrence (26 August 2015). Innovation Insight for Continuous Configuration Automation Tools. Gartner (Report).[dead link]
  2. ^ Ramos, Martin (4 November 2015). "Continuous Integration: Infrastructure as Code in DevOps". easydynamics.com. Archived from the original on 6 February 2016. Retrieved 11 May 2016.
  3. ^ Infrastructure As Code: Fueling the Fire for Faster Application Delivery (Report). Forrester. March 2015.
  4. ^ Phillips, Andrew (14 May 2015). "Moving from Infrastructure Automation to True DevOps". DevOps.com.
  5. ^ Venezia, Paul (21 November 2013). "Puppet vs. Chef vs. Ansible vs. Salt". Network World. Network World. Archived from the original on 18 July 2018. Retrieved 14 December 2015.
  6. ^ Garner Market Trends: DevOps – Not a Market, but Tool-Centric Philosophy That supports a Continuous Delivery Value Chain (Report). Gartner. 18 February 2015.
  7. ^ "CFEngine 3.18.0 Documentation - What is CFEngine?".
  8. ^ Fletcher, Colin; Cosgrove, Terrence (25 March 2016). How I&O teams can combine CCA tools With Containers to Achieve Operational Efficiecies. Gartner (Report).
  9. ^ Fletcher, Colin; Cosgrove, Terrence (8 December 2016). Market Guide for Continuous Configuration Automation Tools. Gartner (Report).