Ricardo Schmidt gave a presentation on Ansible, an open source tool for configuration management, application deployment, provisioning, and orchestration. He explained that Ansible is fast, clear, complete, and secure. It uses SSH to connect to nodes agentlessly without requiring additional firewall rules or open ports. Key components include the inventory to define hosts and groups, modules to run tasks on nodes, and playbooks to orchestrate tasks across multiple hosts. The presentation demonstrated Ansible's capabilities through examples and a demo of its core features.
3. Who Am I?
- - -
- define devops user
- user: name=Ricardo Schmidt
email=ricardo.xmit@gmail.com
accent=Brazilian
4. What we will use in this presentation
- Linux
- YAML
My examples use:
- Vagrant
- EC2/AWS
5. What’s Ansible?
• Open source tool, created +- 3 years ago by Michael DeHaan.
• Configuration Management + Application Deployment +
Provisioning + Orchestration.
• Written in Python.
• Competes with Puppet, Chef, Salt Stack.
16. Modules
• Bits of code copied to the target system.
• Modules avoid changes to the system unless a change
needs to be made.
• You can write your own modules.
17. Modules: Commonly Used
• apt/yum
• copy
• ec2
• file
• service
• git
• user
200+ Ansible
Modules
18. Tasks
Task is a declaration about the state of a system.
- name: install memcached
yum: name=memcached state=present
- name: Create database user with all database privileges
mysql_user: name=bob password=12345 priv=*.*:ALL
state=present
23. Support to Windows
Starting in version 1.7, Ansible also contains support
for managing Windows machines. This uses native
powershell remoting, rather than SSH.
24. Ansible Galaxy
• Collection of 500 roles
• Community reviewed
• Great starting point
http://galaxy.ansible.com
25. What we didn’t talk…
• Variables
• Templates
• Roles
• Ansible-vault
• Ansible Tower
26. How should I start with Ansible?
ansible.com
docs.ansible.com
twitter: @ansible
27. Q&A
Thanks!
Looking for a new Job?
strut.ly is hiring! Talk to me!
Ricardo Schmidt - ricardo.xmit@gmail.com
Editor's Notes
It's easy to write, read, maintain, and evolve
- Provisioning - Create a new node (for example an EC2 node), bootstrap it and then do the configuration management you want to.
- Configuration management involves modifying servers from a state A to a desired state B (Install packages, make sure services are running, create users, etc).
- Orchestration is when you combine multiple automation tasks for a specific purpose, where the result of the event A can be used in the event B (deploy a web application stack, network, firewalls).