Introduction to Vagrant

BabuSubashChandar C

Introduction to Vagrant based approach to handle development environments.

  • Virtual Machines - VMs - these terms would be familiar to most of the people nowadays.
  • Vagrant makes it easy to work with Virtual machines.

Worked on my machine!

  • Almost I guess all of us would ve fallen into a situation where people were startled by the fact that something is not working on their peer's machine which was working fine on their machines.
  • There are numerous reasons for someone to bump into such situation.
    • Operating system
    • Libraries installed
    • or it can be anything

If I had my text editor!

  • We always love certain text editors, my love is emacs. And for someone else it could be vim. This can cause a person to lose concentration on what they are intented to do.

Oops, I was using Java1.7 not Java1.5

  • There are scenarios where people get into trouble in understanding why certain application is misbehaving or not working on certain environments.
  • For this people thought of having these softwares installed in a Virtual environment and distribute it across the team; where people can have all their development.

Ok! Enough with the torture!

  • If we wanted to dispose off the changes that we made on our VM and start freshly, it is nearly impossible without cloning the VM / taking a copy at the sane state.
  • This eats up a lot of space and time in getting back to the original state of the VM.
  • Reinstalling all the development tools in the virtual environments after the manual installation of an operating system in a virtual provider is torturous. We always tend to miss things out.

:Solves it all

  • So now all of these problems are solved by Vagrant.

Tell me How, Already!

  • Okay, Lets see how Vagrant solves these problems.
  • Vagrant provides a configurable, reproducible, portable, disposable and consistent environment without sacrificing any of the comfort.
  • What that suppose to mean anyway?

Ride on top of Giants

  • VirtualBox
  • VMware
  • Docker
  • Hyper-V
  • and so on
  • Vagrant is just a wrapper around these VM providers.

Infrastructure Management

  • Chef
  • Puppet
  • Ansible
  • and so on
  • Vagrant coupled with these IT automation tools provides the consistent environment which can be conveniently disposed to zero out our changes.
  • It also provides the flexibility to configure the VM providers.

Version Control

  • The configuration files can be placed under version control along with your application code.




Follow me




Right, Down, Page DownNext slide
Left, Up, Page UpPrevious slide
POpen presenter console
HToggle this help