Introduction to Vagrant

BabuSubashChandar C

babusubashchandar@zilogic.com

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.

Demo

Questions

References

Follow me

  babuenir

  @babuenir

  babuenir

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