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
Tweet

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