Orchestration with Ansible at Fedora Project

Aditya Patawari
Aditya PatawariCloud and Infra Engineer at BrowserStack.com
Orchestration with Ansible at Fedora Project
Aditya Patawari
Fedora Ambassador and Contributor to Fedora Infra
Cloud and Infra Engineer at BrowserStack.com
aditya@adityapatawari.com
adimania on freenode irc
http://blog.adityapatawati.com
February 24, 2014
Aditya Patawari Orchestration with Ansible at Fedora Project
Topics
Challenges faced by a System Administrator
Why scripts fail to scale
Ansible to the Rescue!
Ansible vs Puppet (or Chef)
Ad-Hoc Stuff
Scripted Stuff
No Agent = True Decentralization
Ansible @ Fedora Infra
Contribute @ Fedora Infra
Aditya Patawari Orchestration with Ansible at Fedora Project
Challenges Faced By A System Administrator
New servers. New applications. Updates.
Is it a cloud? Is it a colo? Is it a hybrid?
Initial Configuration. Management. Replication.
New joinees. People leaving.
Read Again from first bullet. Essentially ”SyaAd Loop”
Aditya Patawari Orchestration with Ansible at Fedora Project
Why Scripts Fail To Scale
Looks Dirty, specially when exceed 1000 lines (50 for perl)
Code repetition multitude of times
Hard to remember the order of execution
Do you like to Document?
Aditya Patawari Orchestration with Ansible at Fedora Project
Ansible to the Rescue!
YAML awesomeness
OpenSSH as transport
Parallel-ordered execution
No agent required on servers!
Aditya Patawari Orchestration with Ansible at Fedora Project
Ansible vs Puppet (or Chef)
No agent requirement
Based on Python, can run on minimalistic systems like Xen
YAML is lot easier to read
Derived from my experience with Puppet, criticism welcomed
Aditya Patawari Orchestration with Ansible at Fedora Project
Ansible Installation And Configuration
yum, apt, pip
If you can ssh, you can run Ansible
Run ad-hoc or scripted commands
Inventory file: hosts
Aditya Patawari Orchestration with Ansible at Fedora Project
Inventory file
$ cat /etc/ansible/hosts
[webservers]
web1.example.com
web2.example.com
[databases]
db1.example.com
db2.example.com
[smtp]
web1.example.com
Aditya Patawari Orchestration with Ansible at Fedora Project
Ad-Hoc Stuff 1
$ ansible webservers -m ping
web1.example.com | success >> {
"changed": false,
"ping": "pong"
}
web2.example.com | success >> {
"changed": false,
"ping": "pong"
}
Aditya Patawari Orchestration with Ansible at Fedora Project
Ad-Hoc Stuff 2
$ ansible all -m command -a ’echo hello’
web1.example.com | success | rc=0 >>
hello
web2.example.com | success | rc=0 >>
hello
db1.example.com | success | rc=0 >>
hello
db2.example.com | success | rc=0 >>
hello
Aditya Patawari Orchestration with Ansible at Fedora Project
Scripted Stuff
$ cat sample_playbook.yml
- name: that awesome service
hosts: databases
tasks:
- name: put config
copy: src=config/my.conf dest=/etc/mysql/my.conf
notify:
- restart MySQL
handlers:
- name: restart MySQL
command: service mysqld restart
Aditya Patawari Orchestration with Ansible at Fedora Project
No Agent = True Decentralization
Anyone with right authorization can execute
No more ”Damn! Orchestration server went down :(”
One less server to manage
Works from anywhere, anytime
Aditya Patawari Orchestration with Ansible at Fedora Project
Ansible @ Fedora Infra
Creating from scratch = easy-peasy, moving from Puppet =
”Kill me now!”
Focus on idempotent playbooks
Turbo charged with Accelerate mode
Learn what not to do
Aditya Patawari Orchestration with Ansible at Fedora Project
Contribute @ Fedora Infra
Fedora = Bleeding Edge, leading by example
Help us port Puppet modules to Ansible
Easyfix modules for beginners
Lots of helpful people on IRC and mailing list.
Talk to us at #fedora-admin on IRC
Aditya Patawari Orchestration with Ansible at Fedora Project
Questions?
Now is your chance :)
Aditya Patawari Orchestration with Ansible at Fedora Project
1 of 15

Recommended

Fault Tolerance with Kubernetes by
Fault Tolerance with KubernetesFault Tolerance with Kubernetes
Fault Tolerance with KubernetesAditya Patawari
2.3K views10 slides
Project Atomic [rootconf2015] by
Project Atomic [rootconf2015]Project Atomic [rootconf2015]
Project Atomic [rootconf2015]Aditya Patawari
566 views12 slides
Tectonic Summit 2016: The Origins of Kubernetes by
Tectonic Summit 2016: The Origins of KubernetesTectonic Summit 2016: The Origins of Kubernetes
Tectonic Summit 2016: The Origins of KubernetesCoreOS
365 views29 slides
Transforming Infrastructure into Code - Importing existing cloud resources u... by
Transforming Infrastructure into Code  - Importing existing cloud resources u...Transforming Infrastructure into Code  - Importing existing cloud resources u...
Transforming Infrastructure into Code - Importing existing cloud resources u...Shih Oon Liong
2.8K views57 slides
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec by
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpecMartin Etmajer
6K views57 slides
Ansible new paradigms for orchestration by
Ansible new paradigms for orchestrationAnsible new paradigms for orchestration
Ansible new paradigms for orchestrationPaolo Tonin
813 views82 slides

More Related Content

What's hot

Automated Deployments with Ansible by
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with AnsibleMartin Etmajer
14.4K views91 slides
TIAD 2016 : Migrating 100% of your production services to containers by
TIAD 2016 : Migrating 100% of your production services to containersTIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containersThe Incredible Automation Day
534 views49 slides
Making Spinnaker Go @ Stitch Fix by
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixDiana Tkachenko
2.3K views38 slides
Deploying On-Prem as SaaS: Why we go with Ansible by
Deploying On-Prem as SaaS: Why we go with AnsibleDeploying On-Prem as SaaS: Why we go with Ansible
Deploying On-Prem as SaaS: Why we go with AnsibleMartin Etmajer
4.3K views108 slides
Infrastructure as code by
Infrastructure as codeInfrastructure as code
Infrastructure as codedaisuke awaji
1.1K views69 slides
Moby and Kubernetes entitlements by
Moby and Kubernetes entitlements Moby and Kubernetes entitlements
Moby and Kubernetes entitlements Docker, Inc.
957 views21 slides

What's hot(20)

Automated Deployments with Ansible by Martin Etmajer
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
Martin Etmajer14.4K views
Making Spinnaker Go @ Stitch Fix by Diana Tkachenko
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch Fix
Diana Tkachenko2.3K views
Deploying On-Prem as SaaS: Why we go with Ansible by Martin Etmajer
Deploying On-Prem as SaaS: Why we go with AnsibleDeploying On-Prem as SaaS: Why we go with Ansible
Deploying On-Prem as SaaS: Why we go with Ansible
Martin Etmajer4.3K views
Infrastructure as code by daisuke awaji
Infrastructure as codeInfrastructure as code
Infrastructure as code
daisuke awaji1.1K views
Moby and Kubernetes entitlements by Docker, Inc.
Moby and Kubernetes entitlements Moby and Kubernetes entitlements
Moby and Kubernetes entitlements
Docker, Inc.957 views
Ansible-for-openstack by Udayendu Kar
Ansible-for-openstackAnsible-for-openstack
Ansible-for-openstack
Udayendu Kar457 views
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins by Marcel Birkner
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Marcel Birkner2.9K views
Deep drive into Nova by Udayendu Kar
Deep drive into NovaDeep drive into Nova
Deep drive into Nova
Udayendu Kar257 views
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by... by Docker, Inc.
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Orchestration? You Don't Need Orchestration. What You Want Is Choreography by...
Docker, Inc.703 views
Docker for developers on mac and windows by Docker, Inc.
Docker for developers on mac and windowsDocker for developers on mac and windows
Docker for developers on mac and windows
Docker, Inc.1.7K views
2016 Docker Palo Alto - CD with ECS and Jenkins by Tracy Kennedy
2016 Docker Palo Alto -  CD with ECS and Jenkins2016 Docker Palo Alto -  CD with ECS and Jenkins
2016 Docker Palo Alto - CD with ECS and Jenkins
Tracy Kennedy223 views
Netflix Open Source: Building a Distributed and Automated Open Source Program by aspyker
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker5K views
Continuous Deployment with Jenkins on Kubernetes by Matt Baldwin
Continuous Deployment with Jenkins on KubernetesContinuous Deployment with Jenkins on Kubernetes
Continuous Deployment with Jenkins on Kubernetes
Matt Baldwin3.8K views
Deep dive in container service discovery by Docker, Inc.
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
Docker, Inc.1.5K views
Browser Testing with Docker - Craig Huber by Docker, Inc.
Browser Testing with Docker - Craig HuberBrowser Testing with Docker - Craig Huber
Browser Testing with Docker - Craig Huber
Docker, Inc.7.8K views
Building A SaaS with CoreOS, Docker, and Etcd by Ross Kukulinski
Building A SaaS with CoreOS, Docker, and EtcdBuilding A SaaS with CoreOS, Docker, and Etcd
Building A SaaS with CoreOS, Docker, and Etcd
Ross Kukulinski2.3K views

Similar to Orchestration with Ansible at Fedora Project

An introduction to Docker and Project Atomic by
An introduction to Docker and Project AtomicAn introduction to Docker and Project Atomic
An introduction to Docker and Project AtomicAditya Patawari
2.6K views16 slides
Project Atomic - rootconf2015 by
Project Atomic - rootconf2015Project Atomic - rootconf2015
Project Atomic - rootconf2015Aditya Patawari
572 views12 slides
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013 by
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013Puppet
8.5K views51 slides
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard by
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardHow I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardSV Ruby on Rails Meetup
556 views123 slides
Hortonworks Technical Workshop: Apache Ambari by
Hortonworks Technical Workshop:   Apache AmbariHortonworks Technical Workshop:   Apache Ambari
Hortonworks Technical Workshop: Apache AmbariHortonworks
7.7K views57 slides
Crossing the Bridge: Connecting Rails and your Front-end Framework by
Crossing the Bridge: Connecting Rails and your Front-end FrameworkCrossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end FrameworkDaniel Spector
1.3K views65 slides

Similar to Orchestration with Ansible at Fedora Project(20)

An introduction to Docker and Project Atomic by Aditya Patawari
An introduction to Docker and Project AtomicAn introduction to Docker and Project Atomic
An introduction to Docker and Project Atomic
Aditya Patawari2.6K views
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013 by Puppet
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Oscar: Rapid Iteration with Vagrant and Puppet Enterprise - PuppetConf 2013
Puppet8.5K views
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard by SV Ruby on Rails Meetup
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardHow I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
Hortonworks Technical Workshop: Apache Ambari by Hortonworks
Hortonworks Technical Workshop:   Apache AmbariHortonworks Technical Workshop:   Apache Ambari
Hortonworks Technical Workshop: Apache Ambari
Hortonworks7.7K views
Crossing the Bridge: Connecting Rails and your Front-end Framework by Daniel Spector
Crossing the Bridge: Connecting Rails and your Front-end FrameworkCrossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end Framework
Daniel Spector1.3K views
Free The Enterprise With Ruby & Master Your Own Domain by Ken Collins
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins641 views
Ansible + Drupal: A Fortuitous DevOps Match by Jeff Geerling
Ansible + Drupal: A Fortuitous DevOps MatchAnsible + Drupal: A Fortuitous DevOps Match
Ansible + Drupal: A Fortuitous DevOps Match
Jeff Geerling8.2K views
Matt Franklin - Apache Software (Geekfest) by W2O Group
Matt Franklin - Apache Software (Geekfest)Matt Franklin - Apache Software (Geekfest)
Matt Franklin - Apache Software (Geekfest)
W2O Group2K views
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure by Habeeb Rahman
Cloud meets Fog & Puppet A Story of Version Controlled InfrastructureCloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Cloud meets Fog & Puppet A Story of Version Controlled Infrastructure
Habeeb Rahman3.3K views
AWS CDK introduction by leo lapworth
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
leo lapworth2.1K views
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019 by Codemotion
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Codemotion142 views
Reuse, Reduce, Recycle in Serverless World by Dmitri Zimine
Reuse, Reduce, Recycle in Serverless WorldReuse, Reduce, Recycle in Serverless World
Reuse, Reduce, Recycle in Serverless World
Dmitri Zimine576 views
Modern Release Engineering in a Nutshell - Why Researchers should Care! by Bram Adams
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Bram Adams751 views
Day 1 General Session RedisConf by Redis Labs
Day 1 General Session RedisConfDay 1 General Session RedisConf
Day 1 General Session RedisConf
Redis Labs824 views
How Heroku uses Heroku to build Heroku by Craig Kerstiens
How Heroku uses Heroku to build HerokuHow Heroku uses Heroku to build Heroku
How Heroku uses Heroku to build Heroku
Craig Kerstiens1.1K views
Automating the Cloud with Terraform, and Ansible by Brian Hogan
Automating the Cloud with Terraform, and AnsibleAutomating the Cloud with Terraform, and Ansible
Automating the Cloud with Terraform, and Ansible
Brian Hogan1.8K views

More from Aditya Patawari

Networking Overview for Docker Platform by
Networking Overview for Docker PlatformNetworking Overview for Docker Platform
Networking Overview for Docker PlatformAditya Patawari
3.9K views12 slides
Beginning mesos by
Beginning mesosBeginning mesos
Beginning mesosAditya Patawari
4K views9 slides
BrowserStack Security Breach. Lessons Learned. by
BrowserStack Security Breach. Lessons Learned.BrowserStack Security Breach. Lessons Learned.
BrowserStack Security Breach. Lessons Learned.Aditya Patawari
1K views11 slides
Git by
GitGit
GitAditya Patawari
638 views9 slides
Introduction to Puppet and Usage In Cloud by
Introduction to Puppet and Usage In CloudIntroduction to Puppet and Usage In Cloud
Introduction to Puppet and Usage In CloudAditya Patawari
2.5K views14 slides
Koji and pulp by
Koji and pulpKoji and pulp
Koji and pulpAditya Patawari
1.9K views12 slides

More from Aditya Patawari(8)

Recently uploaded

Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
66 views46 slides
"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
33 views29 slides
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...ShapeBlue
55 views12 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
26 views15 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
29 views26 slides
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...ShapeBlue
61 views15 slides

Recently uploaded(20)

"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays33 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue55 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue26 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely29 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue61 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn26 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue44 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue54 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue46 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue37 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue31 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue60 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue38 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson126 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue40 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue62 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue44 views

Orchestration with Ansible at Fedora Project

  • 1. Orchestration with Ansible at Fedora Project Aditya Patawari Fedora Ambassador and Contributor to Fedora Infra Cloud and Infra Engineer at BrowserStack.com aditya@adityapatawari.com adimania on freenode irc http://blog.adityapatawati.com February 24, 2014 Aditya Patawari Orchestration with Ansible at Fedora Project
  • 2. Topics Challenges faced by a System Administrator Why scripts fail to scale Ansible to the Rescue! Ansible vs Puppet (or Chef) Ad-Hoc Stuff Scripted Stuff No Agent = True Decentralization Ansible @ Fedora Infra Contribute @ Fedora Infra Aditya Patawari Orchestration with Ansible at Fedora Project
  • 3. Challenges Faced By A System Administrator New servers. New applications. Updates. Is it a cloud? Is it a colo? Is it a hybrid? Initial Configuration. Management. Replication. New joinees. People leaving. Read Again from first bullet. Essentially ”SyaAd Loop” Aditya Patawari Orchestration with Ansible at Fedora Project
  • 4. Why Scripts Fail To Scale Looks Dirty, specially when exceed 1000 lines (50 for perl) Code repetition multitude of times Hard to remember the order of execution Do you like to Document? Aditya Patawari Orchestration with Ansible at Fedora Project
  • 5. Ansible to the Rescue! YAML awesomeness OpenSSH as transport Parallel-ordered execution No agent required on servers! Aditya Patawari Orchestration with Ansible at Fedora Project
  • 6. Ansible vs Puppet (or Chef) No agent requirement Based on Python, can run on minimalistic systems like Xen YAML is lot easier to read Derived from my experience with Puppet, criticism welcomed Aditya Patawari Orchestration with Ansible at Fedora Project
  • 7. Ansible Installation And Configuration yum, apt, pip If you can ssh, you can run Ansible Run ad-hoc or scripted commands Inventory file: hosts Aditya Patawari Orchestration with Ansible at Fedora Project
  • 8. Inventory file $ cat /etc/ansible/hosts [webservers] web1.example.com web2.example.com [databases] db1.example.com db2.example.com [smtp] web1.example.com Aditya Patawari Orchestration with Ansible at Fedora Project
  • 9. Ad-Hoc Stuff 1 $ ansible webservers -m ping web1.example.com | success >> { "changed": false, "ping": "pong" } web2.example.com | success >> { "changed": false, "ping": "pong" } Aditya Patawari Orchestration with Ansible at Fedora Project
  • 10. Ad-Hoc Stuff 2 $ ansible all -m command -a ’echo hello’ web1.example.com | success | rc=0 >> hello web2.example.com | success | rc=0 >> hello db1.example.com | success | rc=0 >> hello db2.example.com | success | rc=0 >> hello Aditya Patawari Orchestration with Ansible at Fedora Project
  • 11. Scripted Stuff $ cat sample_playbook.yml - name: that awesome service hosts: databases tasks: - name: put config copy: src=config/my.conf dest=/etc/mysql/my.conf notify: - restart MySQL handlers: - name: restart MySQL command: service mysqld restart Aditya Patawari Orchestration with Ansible at Fedora Project
  • 12. No Agent = True Decentralization Anyone with right authorization can execute No more ”Damn! Orchestration server went down :(” One less server to manage Works from anywhere, anytime Aditya Patawari Orchestration with Ansible at Fedora Project
  • 13. Ansible @ Fedora Infra Creating from scratch = easy-peasy, moving from Puppet = ”Kill me now!” Focus on idempotent playbooks Turbo charged with Accelerate mode Learn what not to do Aditya Patawari Orchestration with Ansible at Fedora Project
  • 14. Contribute @ Fedora Infra Fedora = Bleeding Edge, leading by example Help us port Puppet modules to Ansible Easyfix modules for beginners Lots of helpful people on IRC and mailing list. Talk to us at #fedora-admin on IRC Aditya Patawari Orchestration with Ansible at Fedora Project
  • 15. Questions? Now is your chance :) Aditya Patawari Orchestration with Ansible at Fedora Project