Jump to content

Vagrant (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
spam
m Architecture: Fix capitalization
Line 28: Line 28:


== Architecture ==
== Architecture ==
Vagrant uses "[https://www.vagrantup.com/docs/provisioning/ Provisioners]" and "[https://www.vagrantup.com/docs/providers/ Providers]" as building blocks to manage the development environments. Provisioners are tools that allow users to customize the configuration of virtual environments. [[Puppet (software)|Puppet]] and [[Chef (software)|Chef]] are the two most widely used provisioners in the Vagrant [[Software ecosystem|ecosystem]]. Providers are the [[Software service|services]] that Vagrant uses to set up and create virtual environments. Support for [[VirtualBox]], [[Hyper-V]], and [[Docker (software)|Docker]] virtualization ships with Vagrant, while [[VMware|VMWare]] and [[AWS EC2|AWS]] are supported via plugins.
Vagrant uses "[https://www.vagrantup.com/docs/provisioning/ Provisioners]" and "[https://www.vagrantup.com/docs/providers/ Providers]" as building blocks to manage the development environments. Provisioners are tools that allow users to customize the configuration of virtual environments. [[Puppet (software)|Puppet]] and [[Chef (software)|Chef]] are the two most widely used provisioners in the Vagrant [[Software ecosystem|ecosystem]]. Providers are the [[Software service|services]] that Vagrant uses to set up and create virtual environments. Support for [[VirtualBox]], [[Hyper-V]], and [[Docker (software)|Docker]] virtualization ships with Vagrant, while [[VMware]] and [[AWS EC2|AWS]] are supported via plugins.


Vagrant sits on top of virtualization software as a [[Wrapper library|wrapper]] and helps the developer interact easily with the providers. It automates the configuration of virtual environments using [[Chef (software)|Chef]] or [[Puppet (software)|Puppet]], and the user does not have to directly use any other virtualization software. Machine and software requirements are written in a file called "[https://www.vagrantup.com/docs/vagrantfile/ Vagrantfile]" to execute necessary steps in order to create a development-ready box. [https://www.vagrantup.com/docs/boxes.html Box] is a [[Format (computing)|format]] and an [[Software extension|extension]] ( .box) for Vagrant environments that is copied to another machine in order to replicate the same environment.
Vagrant sits on top of virtualization software as a [[Wrapper library|wrapper]] and helps the developer interact easily with the providers. It automates the configuration of virtual environments using [[Chef (software)|Chef]] or [[Puppet (software)|Puppet]], and the user does not have to directly use any other virtualization software. Machine and software requirements are written in a file called "[https://www.vagrantup.com/docs/vagrantfile/ Vagrantfile]" to execute necessary steps in order to create a development-ready box. [https://www.vagrantup.com/docs/boxes.html Box] is a [[Format (computing)|format]] and an [[Software extension|extension]] ( .box) for Vagrant environments that is copied to another machine in order to replicate the same environment.

Revision as of 04:46, 8 March 2017

Vagrant
Original author(s)Mitchell Hashimoto[1]
Developer(s)HashiCorp (Mitchell Hashimoto and John Bender)
Initial releaseMarch 8, 2010; 14 years ago (2010-03-08)[2]
Repository
Written inRuby
Operating systemLinux, FreeBSD, macOS, and Microsoft Windows
Available inEnglish
TypeConfiguration management
LicenseMIT License[3]
Websitewww.vagrantup.com

Vagrant is an open-source software product for building and maintaining portable virtual development environments.[4] The core idea behind its creation lies in the fact that the environment maintenance becomes increasingly difficult in a large project with multiple technical stacks. Vagrant manages all the necessary configurations for the developers in order to avoid the unnecessary maintenance and setup time, and increases development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in almost all major languages.

History

Vagrant was first started as a personal side-project by Mitchell Hashimoto in January 2010. The first version of Vagrant was released in March 2010. In October 2010, Engine Yard declared that they were going to sponsor the Vagrant project. The first stable version, Vagrant 1.0, was released in March 2012, exactly two years after the original version was released. In November 2012, Mitchell formed an organization called “HashiCorp” to support the full-time development of Vagrant; Vagrant remained liberally licensed open-source software. HashiCorp now works on creating commercial additions and provides professional support and training for Vagrant.

Vagrant was originally tied to VirtualBox, but version 1.1 added support for other virtualization software such as VMware and KVM, and for server environments like Amazon EC2.[5] Vagrant is written in Ruby, but it can be used in projects written in other programming languages such as PHP, Python, Java, C#, and JavaScript.[6][7] Since version 1.6, Vagrant natively supports Docker containers, which in some cases can serve as a substitute for a fully virtualized operating system.[8]

Architecture

Vagrant uses "Provisioners" and "Providers" as building blocks to manage the development environments. Provisioners are tools that allow users to customize the configuration of virtual environments. Puppet and Chef are the two most widely used provisioners in the Vagrant ecosystem. Providers are the services that Vagrant uses to set up and create virtual environments. Support for VirtualBox, Hyper-V, and Docker virtualization ships with Vagrant, while VMware and AWS are supported via plugins.

Vagrant sits on top of virtualization software as a wrapper and helps the developer interact easily with the providers. It automates the configuration of virtual environments using Chef or Puppet, and the user does not have to directly use any other virtualization software. Machine and software requirements are written in a file called "Vagrantfile" to execute necessary steps in order to create a development-ready box. Box is a format and an extension ( .box) for Vagrant environments that is copied to another machine in order to replicate the same environment.

References

  1. ^ Marvin, Rob. "Mitchell Hashimoto is automating the world". Software Development Times. Software Development Times. Retrieved 27 June 2016.
  2. ^ "mitchellh/vagrant: Release v0.1.0". GitHub. Retrieved 6 September 2015.
  3. ^ Vagrant's LICENSE
  4. ^ "Introducing Vagrant | Linux Journal". www.linuxjournal.com. Retrieved 2016-09-14.
  5. ^ Mitchell Hashimoto (2013). Vagrant: Up and Running (PDF). O'Reilly Media. p. 13. ISBN 978-1449335830.
  6. ^ "Vagrant: EC2-Like Virtual Machine Building and Provisioning from Ruby". Retrieved May 14, 2012.
  7. ^ "Vagrant - Getting Started - Project Setup". Retrieved Jan 19, 2016.
  8. ^ Mitchell Hashimoto (2014-05-06). "Vagrant 1.6". Retrieved 2014-06-14.