ansible: automated app deployment
TRANSCRIPT
Ansible: Automated App Deployment
Presented By:
Rand Graham
• “Deploying Rails applications used to be a pain…” - Michael Hartl
Rails’ Reputation
rmcore.com
•“Rails sucks•My experience is admittedly limited here, but as far as I
can tell, installing a Rails app is impossible.” -Eevee
Drawbacks•Fragile
•Hard to debug
•Error recovery
Shell Scripts
rmcore.com
• Agentless
Ansible Advantages
rmcore.com
• Configuration as Data (YAML)
• Idempotent
•Playbooks contain Plays•Plays contain Tasks• Tasks call Modules
•Everything is sequentially ordered except handlers that run at the end.
Ansible Playbooks
rmcore.com
A task calls a module to do the work.
Ansible Tasks
rmcore.com
---
- name: Install git yum: pkg=git state=installed
Apply changes to multiple machines
Inventory
rmcore.com
[web]webserver-1.foo.comwebserver-2.foo.com
[db]dbserver-1.foo.com
not all tasks are run:
Output of playbook
rmcore.com
PLAY [rails]
GATHERING FACTS ok: [136.166.60.99] PLAY RECAP 136.166.60.99 : ok=14 changed=7 unreachable=0 failed=0
ansible-playbook -i inventories/staging site.yml
Ansible One Liners
rmcore.com
ansible-playbook -i inventories/staging deploy_app.yml
Provision
Deploy
Connect with me on twitter:@rdg_rmcoreRead more at my website: http://rmcore.com/
On the internets
rmcore.com
• The sad state of web app deployment
• Ruby on Rails Tutorial
• Efficient Rails DevOps
• An Overview of Chef
• Ansible Quick Start Video
• Stockfighter CTF
• There Is No Cloud
•Cloudcast Ansible Episode
• Postgresql Automation w/Ansible
References
rmcore.com
•Photo of forge by Andrew Stawarz.
Credits
rmcore.com