Introduction
build or provision
install and configure
change management
monitor
keep the lights on .....
infrastructure
security and compliance
application operations
networks
cloud
containers
Manual
Scripts
Automation
Tools
func
Simplicity
Batteries Included
Infrastructure as a Code
Code vs Data
Idempotence
Simple Things should be simple, complex things should be possible
---
- hosts: all
remote_user: vagrant
sudo: yes
tasks:
- name: create devops user with admin previleges
user: >
name=xyz
uid=2001
group=pqr
password=er867!fe%rger93$#c
Closer to natural language
Self Documented Code
Human Readable
Machine Readable
push model
Uses SSH / WinRM
Simple to Setup
Smaller Footprint
Secure
vs
Agent
Agent
Agent
Text
Infrastructure as a Code
---
- hosts: all
remote_user: vagrant
sudo: yes
tasks:
- name: create devops user with admin previleges
user: >
name=xyz
uid=2001
group=pqr
password=er867!fe%rger93$#c
python
perl
shell
user
name = xyz
shell = /bin/bash
uid = 5001
group = xyz
password = w&*Tnkj23sa
version control
Editing and Refactoring Tools
Peer Reviews
vs
port = 80 user = apache conn = 1024
port = 8080 user = www-data conn = 512
port = 9000 user = httpd conn = 4096
profile 1
profile 2
profile 3
port = 80 user = apache conn = 1024
code
data
vars
tasks
templates
port = {{ port }} user = {{ user }} conn = {{ conn }}
roles
generic
sharable
Idempotence is the property of certain operations in mathematics and computer science, that can be applied multiple times without changing the result beyond the initial application.
Which can be simply represented by,
First time I read that, I had the same expression !!
Ansible runs are invoked multiple times
Every time, it compares the desired state vs current state. And the decides whether to take an action, or to skip.
desired
desired
current
current
user
name = xyz
uid = 5001
pass = pqr
user
name = xyz
uid = 4000
pass = pqr
user
name = xyz
uid = 5001
pass = abc
user
name = xyz
uid = 5001
pass = pqr
useradd
usermod
passwd
task 1
task 2
task 3
task 4
task 5
task 6
task 7
task 8
task 1
task 2
task 3
task 4
task 5
task 6
task 7
task 8
task 1
task 2
task 3
task 4
task 5
task 6
task 7
task 8
THE STORY......"
2006 - Emerging Technologies Group, RedHat
Cobbler
Src: https://www.ansible.com/blog/2013/12/08/the-origins-of-ansible
Func
Product Manager, Puppet Labs
Ansible
Ansible(noun): a fictional machine capable of communicating faster than the speed of light.
Coined by Ursula K. Le Guin in her 1966 novel Rocannon's World
src: http://www.businesswire.com/news/home/20151016005177/en
Led Zeppelin songs
Van Halen songs