Showing posts with label configuration management. Show all posts
Showing posts with label configuration management. Show all posts

Wednesday, April 14, 2021

What is Ansible?

What is Ansible  - Configuration Management Tools - Alternatives to- Chef and Puppet
It is used in Devops.
Business Users: System Admin - infrastructure
Configuration of : N servers x Type of servers(Webserver, Apache, MySQL)

Is is an automation tool? Yes
Yes it helps in IT Automation
Business Scenario : Configuration - 100 apache servers and database servers

Mechanism:
1) Pull Configuration - 2) Push Configuration ( no client installed on nodes, Server pushes)

Core Elements of Ansible:
1st part Core - Playbook
Playbook - instructions to confiugure the node
Written in YAML to describe the data
YAML - YAML ain't a mark up language
...
name: play1
hosts: webserver
tasks:
    -name:install apache
    yum:
        name:apache
        state:present
    -name: start apache
    service:
        name: apache
        state: start
    -name: play 2
    hosts: databaseserver
    tasks:
        -name:install MySQL
2nd Part : inventory


[webserver]
web1.machine
web2.machine

[databaseserver]
db1.machine

 

How it works?
Ansible is installed on the local machine
Connects to different nodes - agentless
Playbook - How to setup remote nodes
Uses SSH to connect to nodes
and Push the Playbook to the node
Create environment that is consistent

 Ansible is a command line tool
Ansible Tower - RedHat - Framework

Usecase: Hootsuite
Business: Social media platform
Problem Statement:
Rebuild their servers
Now they write Playbooks to deploy servers providing a standardization

Take away:
IT Automation consistent configuration

Source:
https://www.youtube.com/watch?v=wgQ3rHFTM4E