Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vagrant - secret sauce of devops

Avatar for Petro Sasnyk Petro Sasnyk
December 01, 2012

Vagrant - secret sauce of devops

Short introduction into Vagrant

Avatar for Petro Sasnyk

Petro Sasnyk

December 01, 2012

More Decks by Petro Sasnyk

Other Decks in Programming

Transcript

  1. www.softserve.ua Agenda • The 12 Factor App by Heroku •

    Is Vagrant the solution? • Vagrant building blocks • Using Vagrant
  2. www.softserve.ua About me • In the past – System/Network administrator

    at Lviv Politechnic University – Embedded/.NET TechLead at Cypress Semiconductor – .NET TechLead at Softserve • Now – Ruby TechLead at Softserve
  3. www.softserve.ua The 12 Factor App by Heroku The twelve-factor app

    is a methodology for building software-as-a-service apps that: • Use declarative formats for setup automation • Have a clean contract with the underlying operating system • Are suitable for deployment on modern cloud platforms • Minimize divergence between development and production • And can scale up without significant changes to tooling
  4. www.softserve.ua The philosophy how to build apps: – Dev-Prod parity

    – Dependency management – Configs – Reproducible build process The 12 Factor App by Heroku
  5. www.softserve.ua Is Vagrant the solution? • Virtualized development made easy.

    • Create and configure lightweight, reproducible, and portable development environments. http://vagrantup.com/
  6. www.softserve.ua Why Vagrant? • It’s easy and highly configurable. •

    It is using existed time proven solutions: – VirtualBox – Chef/Puppet(you can use it as your playground) • It’s reproducible • It’s scalable • No divergence. Development = Production
  7. www.softserve.ua Vagrant disadvantages: • It works better on Linux •

    It requires fast PC(a lot of RAM, SSD) • 3-rd party boxes updated rarely
  8. www.softserve.ua Vagrant building blocks • The base box $ vagrant

    box add lucid32 http://files.vagrantup.com/lucid32.box • The VagrantFile Vagrant::Config.run do |config| config.vm.box = "lucid32" end • Provisioning – Chef or Puppet or what you like(shell scripts?) • The Vagrant VM
  9. www.softserve.ua Using existing boxes http://www.vagrantbox.es/ • Major linux distributions and

    others OS: • RHEL/CentOS • Debian/Ubuntu Server • OpenSUSE • Slackware/Gentoo/Archlinux • OpenBSD/FreeBSD • Scientific Linux
  10. www.softserve.ua Conclusions • Vagrant encourage you to use good development

    practices • Vagrant is nice playground for Chef/Puppet • Vagrant is Fun