2. Who am I?
âCo-organizer of Ansible Ahmedabad & Docker Ahmedabad
âSoftware Engineer @ Red Hat
âWork on Ansible, CentOS, Docker, Vagrant, Jenkins, etc.
âI †automation
3. Agenda
âWhatâs the problem?
âWhat is Ansible?
âHow does Ansible try to solve it?
âHow is it different from tools in same domain?
âHow to install and use it?
4. The Problem
â Normally dev, staging and prod environments
â Numerous systems in each one of them
â Webserver, DB, Mail server, Application server etc.
â Different setup and multiple systems for each server type
â Security update, bug fix, add new system to environment
5.
6. What is Ansible?
âRadically simple IT automation engine
âAutomates:
â cloud provisioning
â configuration management
â application deployment
â any many other IT needs
âUses no agents, so easy to deploy
7. Ansible style solution and difference
â Install Ansible on only one system
â SSH access to all other systems
â No client process running in any remote system
â No daemon process either!
â Run a command, sit back and relax
9. Using Ansible
âModify /etc/ansible/hosts (aka Inventory file)
âPut one or more remote systems in the file
âPublic SSH key must exist in authorized_keys on that
system
âRun ansible; itâs that easy!
10. âModules for almost all OSes
âSupports Docker, Kubernetes, AWS, Azure, Google Cloud,
OpenStack, Rackspace, VMware
âansible-vault to store secrets
âBlue-Green deployment
Features
12. âansible localhost -m setup
âansible do -m ping
âansible do -bu root -m shell -a 'yum install nginx'
âansible do -bu root -m yum -a 'name=docker state=installed'
âansible do -bu root -m service -a 'name=docker state=started'
Simple commands
Imagine doing that for every package you want to install.
13.
14. Ansible Playbooks
âConfiguration, deployment and orchestration language
âManage configurations and deployments of remote sys
âRolling updates, delegate to other host, interact with
monitoring servers and load balancers!
âStill human readable!