Continuous configuration automation: Difference between revisions

Content deleted Content added
Kharnagy (talk | contribs)
m Removing link(s) Wikipedia:Articles for deletion/Otter (software) closed as delete (XFDcloser)
 
(37 intermediate revisions by 23 users not shown)
Line 1:
'''Continuous Configurationconfiguration Automationautomation''' ('''CCA''') – Isis the methodology or process of automating the deployment and configuration of settings and software for infrastructure both physical and virtual [[data center]] equipment.<ref name="CCA" >{{cite report
|lastlast1= Fletcher | firstfirst1= Colin | last2= Cosgrove | first2=Terrence
|title=Innovation Insight for Continuous Configuration Automation Tools
|website=Gartner
|url=http://www.gartner.com/document/3119319?ref=unauthreader
| date=26 August 2015
}}{{dead link|date=December 2021|bot=medic}}{{cbignore|bot=medic}}</ref>
}}</ref>
 
== Overview ==
Continuous Configurationconfiguration Automationautomation solvesis challengesmarketed relatedfor to[[data infrastructurecenter]] and application [[configuration management]]. CCA tools address these challenges throughuse a systematic programmable framework which allows for ease of configuration and Orchestrationorchestration thoughthrough coding, planning, and incrementally adopting industry best practicespolicies.<ref>{{cite web | url= http://info.easydynamics.com/blog/continuous-integration-infrastructure-as-code | title= Continuous Integration: Infrastructure as Code in DevOps | last= Ramos | first= Martin | website= easydynamics.com | date= 4 November 2015 | access-date= 11 May 2016 | archive-date= 6 February 2016 | archive-url= https://web.archive.org/web/20160206165308/http://info.easydynamics.com/blog/continuous-integration-infrastructure-as-code | url-status= dead }}</ref><ref>{{cite report |title=Infrastructure As Code: Fueling the Fire for Faster Application Delivery |publisher=Forrester |date=March 2015}}</ref>
<ref>{{cite report |title=Infrastructure As Code: Fueling the Fire for Faster Application Delivery |publisher=Forrester |date=March 2015}}</ref>
 
==Relationship to DevOps==
CCA tooltools are includedused infor thiswhat realmis ofcalled [[DevOps]] tooling, and are often included as part of a [[DevOps toolchain]]. CCA tools help automate infrastructure which helps achieve some of the key DevOps goals. CCA grew out of a need created by the changing market – with the increase in a push to develop more reliable software faster, infrastructure agility and productivity became a reality.<ref name="CCA" /> Gartner describes CCA as “Embodying [[Lean software development|lean]], [[agile software development | 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.”
<ref >{{cite web
| url=http://devops.com/2015/05/14/moving-from-infrastructure-automation-to-true-devops/
Line 19 ⟶ 20:
}}</ref>
 
==CCA tools 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 traditional [[Infrastructureinfrastructure as Codecode]] frameworks, CCA tools leverage (IaC) to “Change configure and automate infrastructure"frameworks.<ref name="CCA" /> There are a few different CCA tools includinginclude [[Ansible (software)|Ansible]], [[Chef software]], Otter, [[OtterPuppet (software)]], [[PuppetRudder (software)]], and [[SaltStack]].<ref >{{cite web | url= http://www.networkworld.com/article/2172097/virtualization/puppet-vs--chef-vs--ansible-vs--salt.html | title= Puppet vs. Chef vs. Ansible vs. Salt | last= Venezia | first= Paul | date= 21 November 2013 | website= [[Network World]] | publisher= Network World | access-date= 14 December 2015 | archive-date= 18 July 2018 | archive-url= https://web.archive.org/web/20180718030604/https://www.networkworld.com/article/2172097/virtualization/puppet-vs--chef-vs--ansible-vs--salt.html | url-status= dead }}</ref> 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.<ref >{{cite report
| url=http://www.networkworld.com/article/2172097/virtualization/puppet-vs--chef-vs--ansible-vs--salt.html
| title= Puppet vs. Chef vs. Ansible vs. Salt
| last= Venezia | first=Paul | date= 21 November 2013| website= networkworld.com | publisher= Network World | access-date=14 December 2015
}}</ref> 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.<ref >{{cite report
|title=Garner Market Trends: DevOps – Not a Market, but Tool-Centric Philosophy That supports a Continuous Delivery Value Chain
|publisher=[[Gartner]]
|date=18 February 2015
}}</ref>
 
Notable CCA tools include:
{| class="wikitable"
! Tool !! Developed by !! Initial release !! Method !! Approach !! Written in
|-
! [[Ansible (software)|Ansible]]
| [[Red Hat]]
| {{release date and age|2012}}
| Push
| Declarative and imperative
|[[Python (programming language)|Python]]
|-
![[CFEngine]]
|Northern.tech
| {{release date and age|1993}}
|Pull
|Declarative
|[[C (programming language)|C]]<ref>{{Cite web|url=https://cfengine.com/learn/what-is-cfengine/|title = CFEngine 3.18.0 Documentation - What is CFEngine?}}</ref>
|-
![[Progress Chef|Chef]]
|[[Progress Software|Progress]]
| {{release date and age|2009}}
|Pull
|Imperative
|[[Ruby (programming language)|Ruby]]
|-
!Otter
|Inedo
| {{release date and age|2015}}
|Push
|Declarative and imperative
| -
|-
![[Puppet (software)|Puppet]]
|[[Puppet (company)|Puppet]]
| {{release date and age|2005}}
|Pull
|Declarative
|[[C++]], [[Clojure]] since 4.0, [[Ruby (programming language)|Ruby]]
|-
![[Salt (software)|Salt]]
|[[VMware]]
| {{release date and age|2011}}
|Push and Pull
|Declarative and imperative
|[[Python (programming language)|Python]]
|-
! [[Terraform (software)|Terraform]]
| [[HashiCorp]]
| {{release date and age|2014}}
| Push
| Declarative
|[[Go (programming language)|Go]]
|-
|}
 
==Evaluation factors==
AsEvaluations enterprises are moving towards implementingof CCA tools, evaluations of various tools occur and may consider the following:<ref>{{cite report
|lastlast1= Fletcher | firstfirst1= Colin | last2= Cosgrove | first2=Terrence
|title=How I&O teams can combine CCA tools With Containers to Achieve Operational EfficieciesEfficiencies
|url=https://www.gartner.com/en/documents/3265717
|url-access=subscription
|website=Gartner
| date=25 March 2016
}}</ref><ref>{{cite report
|last1= Fletcher | first1= Colin | last2= Cosgrove | first2=Terrence
|title=Market Guide for Continuous Configuration Automation Tools
|url=https://www.gartner.com/en/documents/3843365
|url-access=subscription
|website=Gartner
| date=8 December 2016
}}</ref>
 
*Skills, training, and trainingcost 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 ==
*[[Agile software development]]
* [[Infrastructure as Code]], the automation of hosting infrastructure, again by describing it through a machine-processable document
*[[Continuous delivery]]
*[[Continuous integration]]
*[[Software configuration management]]
 
==References==