ansible: automated app deployment

17
Ansible: Automated App Deployment Presented By: Rand Graham

Upload: rand-graham

Post on 12-Jan-2017

1.424 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Ansible: Automated App Deployment

Ansible: Automated App Deployment

Presented By:

Rand Graham

Page 2: Ansible: Automated App Deployment

Unix

rmcore.com

Page 3: Ansible: Automated App Deployment

• “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

Page 4: Ansible: Automated App Deployment

Drawbacks•Fragile

•Hard to debug

•Error recovery

Shell Scripts

rmcore.com

Page 5: Ansible: Automated App Deployment

•DSL - Domain Specific Language

Puppet and Chef

rmcore.com

Page 6: Ansible: Automated App Deployment

Don’t Just Take My Word For It

rmcore.com

Page 7: Ansible: Automated App Deployment

• Agentless

Ansible Advantages

rmcore.com

• Configuration as Data (YAML)

• Idempotent

Page 8: Ansible: Automated App Deployment

•Playbooks contain Plays•Plays contain Tasks• Tasks call Modules

•Everything is sequentially ordered except handlers that run at the end.

Ansible Playbooks

rmcore.com

Page 9: Ansible: Automated App Deployment

A task calls a module to do the work.

Ansible Tasks

rmcore.com

---

- name: Install git yum: pkg=git state=installed

Page 10: Ansible: Automated App Deployment

Apply changes to multiple machines

Inventory

rmcore.com

[web]webserver-1.foo.comwebserver-2.foo.com

[db]dbserver-1.foo.com

Page 11: Ansible: Automated App Deployment

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

Page 12: Ansible: Automated App Deployment

ansible-playbook -i inventories/staging site.yml

Ansible One Liners

rmcore.com

ansible-playbook -i inventories/staging deploy_app.yml

Provision

Deploy

Page 13: Ansible: Automated App Deployment

Efficient Rails DevOps

rmcore.com

Page 14: Ansible: Automated App Deployment

Remember:

rmcore.com

Page 15: Ansible: Automated App Deployment

Connect with me on twitter:@rdg_rmcoreRead more at my website: http://rmcore.com/

On the internets

rmcore.com

Page 17: Ansible: Automated App Deployment

•Photo of forge by Andrew Stawarz.

Credits

rmcore.com