SlideShare a Scribd company logo
1 of 23
Infrastructure As Code
 Infrastructure as Code is the practice of describing all software
runtime environment and networking settings and parameters in
simple textual format, that can be stored in your Version Control
System (VCS) and versioned on request.
 These text files are called manifests and are used by DevOps
tools like Terraform and Kubernetes to automatically provision
and configure build servers, testing, staging and production
environments.
 Most importantly, all these operations are traceable through the
VCS, which ensures the removal of decades-old “works fine on
my computer” problem, where the code that worked in testing
does not work in production.
 IaC ensures continuity, as all the environments are provisioned
and configured automatically, with no room for human error,
Example for ec2 instance
 Resources:
 Ec2Instance:
 Type: AWS::EC2::Instance
 Properties:
 InstanceType: t2.micro
 ImageId: ami-063dd30adbb186909 #
Amazon Linux AMI in N.California
 Tags:
 - Key: Name
 Resources:
 Ec2Instance:
 Type: AWS::EC2::Instance
 Properties:
 InstanceType: t2.micro
 ImageId: ami-063dd30adbb186909 #
Amazon Linux AMI in N.California
 UserData:
 'Fn::Base64':
 Deployment
 Provisioning
 Configuration Orchestration
 Configuration Management
Why IaC
 A long time ago, in a data center, every server,
every route table entry, every database
configuration, and every load balancer was
created and managed by hand.
 It was a dark and fearful age: fear of downtime,
fear of accidental misconfiguration, fear of slow
and fragile deployments, and fear of what would
happen if the sysadmins fell to the dark side
(i.e. took a vacation).
Deployment
 ‘Deployment’ is the process of putting a new application, or new
version of an application, onto a prepared application server.
 As per developer, it may also mean the process of preparing the
server, perhaps by installing libraries or daemons
Provisioning
 The word ‘Provisioning’ is normally used by Ops folks to refer to
getting computers or virtual hosts to use, and installing needed
libraries or services on them.
 Infrastructure as code (IaC) is the process of managing and
provisioning computer data centers through machine-readable
definition files, rather than physical hardware configuration or
interactive configuration tools. Infrastructure as Code (IaC) is
the management of infrastructure
Orchestration
 Orchestration means arranging or coordinating multiple
systems. It’s also used to mean “running the same tasks on a
bunch of servers at once, but not necessarily all of them.”
 Config Management is part of provisioning.
Basically, that’s using a tool like Chef, Puppet or
Ansible to configure our server.
 “Provisioning” often implies it’s the first time we
do it.
 Config management usually happens
repeatedly.
 Configuration management (CM) is a systems
engineering process forestablishing and
maintaining consistency of a product’s
 The primary benefit of configuration management is consistency
of systems and software.
 we no longer guess or hope that a configuration is current. It is
correct because the configuration management system ensures
that it is correct.When combined with automation, configuration
management can improve efficiency because manual
configuration processes are replaced with automated
processes.
 Chef, Puppet, Ansible, and SaltStack are all configuration
management tools, which means they are designed to install
and manage software on existing servers.
Configuration Orchestration and
Configuration Management
 The first thing that should be clarified is the difference between
“configuration orchestration” and “configuration management”
tools, both of which are considered IaC tools and are included
on this list.
 Configuration orchestration tools, which include Terraform and
AWS CloudFormation, are designed to automate the
deployment of servers and other infrastructure.
 Configuration management tools like Chef, Puppet, and the
others on this list help configure the software and systems on
this infrastructure that has already been provisioned.
 Using Ansible
 So we are talking about IT orchestration where
tasks are run in sequence in several different
machines or servers.
 Ansible does this by connecting to multiple
machines through SSH and runs the tasks
which have been configured into playbooks and
uses a simple language called YAML (Yet
Another Markup Language).
Install Ansible
 Ansible can be installed and run from any machine
 Typically you will need a Control machine for installation which
should be Linux.
 sudo apt-add-repository ppa:ansible/ansible
 sudo apt-get update
 sudo apt-get install ansible
 ansible --version
Ansible Components
 Inventory
 Playbook
 Modules
 Plays
 Variables
 Facts
 Configuration Files
Inventory
 An inventory is a text file that contains a list of servers or nodes
that you are managing and configuring. Usually, the servers are
listed based on their hostnames or IP addresses.
 You can include anywhere from one to several hundred servers
in your inventory file, and hosts can be organized into groups
and subgroups.
 The inventory file is also often used to set variables that will be
valid only for specific hosts or groups, in order to be used within
playbooks and templates.
 10.200.50.50
 10.200.50.51
 10.200.50.52
 Alternatively, they can be listed using groups.
 [webservers]
 10.200.50.60
 10.200.50.61
 [databases]
Playbook
 A playbook is a set of configuration management scripts that
define how tasks are to be executed on remote hosts or a group
of host machines. The scripts or instructions are written in YAML
format.
 ---
 - name: This installs and starts Apache webserver
 hosts: webservers
 tasks:
 - name: Install Apache Webserver
 yum: name=httpd state=latest
Variables
 If you have a background in programming, then
most likely you have used variables. Basically, a
variable represents a value. A variable can
include letters, numerals, and underscores but
MUST always begin with letters.
 Variables are used when instructions vary from
one system to another. This is especially true
during the configuration or various services and
features.
Facts
 Facts are system properties gathered by Ansible when it
executes a playbook on a host system. The properties include
hostname, OS family, CPU type, and CPU cores to mention a
few.
 ansible localhost -m setup
 ansible localhost -m setup -a "filter=*ipv4"
Playbooks

More Related Content

Similar to iac.pptx

Ansible a tool for dev ops
Ansible a tool for dev opsAnsible a tool for dev ops
Ansible a tool for dev opsRené Ribaud
 
Deepa ppt about lamp technology
Deepa ppt about lamp technologyDeepa ppt about lamp technology
Deepa ppt about lamp technologyDeepa
 
lamp technology
lamp technologylamp technology
lamp technologyDeepa
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Ansible & Salt - Vincent Boon
Ansible & Salt - Vincent BoonAnsible & Salt - Vincent Boon
Ansible & Salt - Vincent BoonMyNOG
 
Bootstrap from CHEF Workstation
Bootstrap from CHEF WorkstationBootstrap from CHEF Workstation
Bootstrap from CHEF Workstationsuvadip mandal
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeRobert van Mölken
 
Muraliupdatedpersonal091215
Muraliupdatedpersonal091215Muraliupdatedpersonal091215
Muraliupdatedpersonal091215Murali Krishna R
 
TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3TranscendComputing
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Serveracosdt
 
APACHE
APACHEAPACHE
APACHEARJUN
 
Infrastructure as code, using Terraform
Infrastructure as code, using TerraformInfrastructure as code, using Terraform
Infrastructure as code, using TerraformHarkamal Singh
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsJohn Smith
 
PowerBreakfast #005 - Why DSC, NOW?
PowerBreakfast #005 - Why DSC, NOW?PowerBreakfast #005 - Why DSC, NOW?
PowerBreakfast #005 - Why DSC, NOW?Milton Goh
 
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows ServerAWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows ServerAmazon Web Services
 

Similar to iac.pptx (20)

Ansible a tool for dev ops
Ansible a tool for dev opsAnsible a tool for dev ops
Ansible a tool for dev ops
 
Deepa ppt about lamp technology
Deepa ppt about lamp technologyDeepa ppt about lamp technology
Deepa ppt about lamp technology
 
lamp technology
lamp technologylamp technology
lamp technology
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
 
Ansible
AnsibleAnsible
Ansible
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Ansible & Salt - Vincent Boon
Ansible & Salt - Vincent BoonAnsible & Salt - Vincent Boon
Ansible & Salt - Vincent Boon
 
Bootstrap from CHEF Workstation
Bootstrap from CHEF WorkstationBootstrap from CHEF Workstation
Bootstrap from CHEF Workstation
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
 
Servicemix4.5.0
Servicemix4.5.0Servicemix4.5.0
Servicemix4.5.0
 
Muraliupdatedpersonal091215
Muraliupdatedpersonal091215Muraliupdatedpersonal091215
Muraliupdatedpersonal091215
 
Apache ppt
Apache pptApache ppt
Apache ppt
 
TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3TopStack Product Architecture 2013-Q3
TopStack Product Architecture 2013-Q3
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Server
 
APACHE
APACHEAPACHE
APACHE
 
DevOps for database
DevOps for databaseDevOps for database
DevOps for database
 
Infrastructure as code, using Terraform
Infrastructure as code, using TerraformInfrastructure as code, using Terraform
Infrastructure as code, using Terraform
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The Basics
 
PowerBreakfast #005 - Why DSC, NOW?
PowerBreakfast #005 - Why DSC, NOW?PowerBreakfast #005 - Why DSC, NOW?
PowerBreakfast #005 - Why DSC, NOW?
 
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows ServerAWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
AWS July Webinar Series: Introducing AWS OpsWorks for Windows Server
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

iac.pptx

  • 2.  Infrastructure as Code is the practice of describing all software runtime environment and networking settings and parameters in simple textual format, that can be stored in your Version Control System (VCS) and versioned on request.  These text files are called manifests and are used by DevOps tools like Terraform and Kubernetes to automatically provision and configure build servers, testing, staging and production environments.  Most importantly, all these operations are traceable through the VCS, which ensures the removal of decades-old “works fine on my computer” problem, where the code that worked in testing does not work in production.  IaC ensures continuity, as all the environments are provisioned and configured automatically, with no room for human error,
  • 3. Example for ec2 instance  Resources:  Ec2Instance:  Type: AWS::EC2::Instance  Properties:  InstanceType: t2.micro  ImageId: ami-063dd30adbb186909 # Amazon Linux AMI in N.California  Tags:  - Key: Name
  • 4.  Resources:  Ec2Instance:  Type: AWS::EC2::Instance  Properties:  InstanceType: t2.micro  ImageId: ami-063dd30adbb186909 # Amazon Linux AMI in N.California  UserData:  'Fn::Base64':
  • 5.  Deployment  Provisioning  Configuration Orchestration  Configuration Management
  • 6. Why IaC  A long time ago, in a data center, every server, every route table entry, every database configuration, and every load balancer was created and managed by hand.  It was a dark and fearful age: fear of downtime, fear of accidental misconfiguration, fear of slow and fragile deployments, and fear of what would happen if the sysadmins fell to the dark side (i.e. took a vacation).
  • 7. Deployment  ‘Deployment’ is the process of putting a new application, or new version of an application, onto a prepared application server.  As per developer, it may also mean the process of preparing the server, perhaps by installing libraries or daemons
  • 8. Provisioning  The word ‘Provisioning’ is normally used by Ops folks to refer to getting computers or virtual hosts to use, and installing needed libraries or services on them.  Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. Infrastructure as Code (IaC) is the management of infrastructure
  • 9. Orchestration  Orchestration means arranging or coordinating multiple systems. It’s also used to mean “running the same tasks on a bunch of servers at once, but not necessarily all of them.”
  • 10.  Config Management is part of provisioning. Basically, that’s using a tool like Chef, Puppet or Ansible to configure our server.  “Provisioning” often implies it’s the first time we do it.  Config management usually happens repeatedly.  Configuration management (CM) is a systems engineering process forestablishing and maintaining consistency of a product’s
  • 11.  The primary benefit of configuration management is consistency of systems and software.  we no longer guess or hope that a configuration is current. It is correct because the configuration management system ensures that it is correct.When combined with automation, configuration management can improve efficiency because manual configuration processes are replaced with automated processes.  Chef, Puppet, Ansible, and SaltStack are all configuration management tools, which means they are designed to install and manage software on existing servers.
  • 12. Configuration Orchestration and Configuration Management  The first thing that should be clarified is the difference between “configuration orchestration” and “configuration management” tools, both of which are considered IaC tools and are included on this list.  Configuration orchestration tools, which include Terraform and AWS CloudFormation, are designed to automate the deployment of servers and other infrastructure.  Configuration management tools like Chef, Puppet, and the others on this list help configure the software and systems on this infrastructure that has already been provisioned.
  • 14.  So we are talking about IT orchestration where tasks are run in sequence in several different machines or servers.  Ansible does this by connecting to multiple machines through SSH and runs the tasks which have been configured into playbooks and uses a simple language called YAML (Yet Another Markup Language).
  • 15. Install Ansible  Ansible can be installed and run from any machine  Typically you will need a Control machine for installation which should be Linux.
  • 16.  sudo apt-add-repository ppa:ansible/ansible  sudo apt-get update  sudo apt-get install ansible  ansible --version
  • 17. Ansible Components  Inventory  Playbook  Modules  Plays  Variables  Facts  Configuration Files
  • 18. Inventory  An inventory is a text file that contains a list of servers or nodes that you are managing and configuring. Usually, the servers are listed based on their hostnames or IP addresses.  You can include anywhere from one to several hundred servers in your inventory file, and hosts can be organized into groups and subgroups.  The inventory file is also often used to set variables that will be valid only for specific hosts or groups, in order to be used within playbooks and templates.
  • 19.  10.200.50.50  10.200.50.51  10.200.50.52  Alternatively, they can be listed using groups.  [webservers]  10.200.50.60  10.200.50.61  [databases]
  • 20. Playbook  A playbook is a set of configuration management scripts that define how tasks are to be executed on remote hosts or a group of host machines. The scripts or instructions are written in YAML format.  ---  - name: This installs and starts Apache webserver  hosts: webservers  tasks:  - name: Install Apache Webserver  yum: name=httpd state=latest
  • 21. Variables  If you have a background in programming, then most likely you have used variables. Basically, a variable represents a value. A variable can include letters, numerals, and underscores but MUST always begin with letters.  Variables are used when instructions vary from one system to another. This is especially true during the configuration or various services and features.
  • 22. Facts  Facts are system properties gathered by Ansible when it executes a playbook on a host system. The properties include hostname, OS family, CPU type, and CPU cores to mention a few.  ansible localhost -m setup  ansible localhost -m setup -a "filter=*ipv4"