Skip to content

How to Create Development Environments with Vagrant and Puppet (Video)

Learn how Vagrant and Puppet let you build portable, reproducible development environments with PHP, MySQL and MongoDB, so your whole team works the same way.

Ricardo Moya

vagrant-puppetVagrant is a virtualization tool that lets you create and configure virtualized development environments that are portable, lightweight and reproducible. In other words, with Vagrant you can set up development environments with whatever you need (a Debian or Ubuntu with Apache, PHP, MySQL, MongoDB, etc.), and those environments can be cloned or reproduced so that a whole development team can work and program in the same environment on their own machine.

To see an example of how useful Vagrant is, suppose a team of about 4 or 5 people wants to develop a web system (or a website) that will run on a server under Apache, with a MySQL, MongoDB, Postgres or whatever database. This server will be an external server that receives a request and sends back a response (Client-Server):

ClienteServidor_Jarroba

Imagine that everyone on this team has a different operating system on their computer (a Mac OS, a Debian, an Ubuntu, a Windows, etc.). In that case, each of them would need to install Apache with MySQL and everything else on their computer, just like on the server where the website’s code will be uploaded. Since this can be very tedious and, let’s be honest, those of us who have suffered it know it’s "a real pain", the best thing would be to have a virtual machine cloned on each team member’s computer, with an environment identical to the one on our server where our website will run. We can have that thanks to Vagrant, which lets us configure development environments to test our website before uploading it completely to our server. In short, we could say (even if it’s not technically accurate) that we’re bringing our server into VirtualBox, or similar tools:

Vagrant_jarroba

 As we always do on this site, let’s see how to configure a development environment with Puppet, in this case to work with PHP and the MySQL and MongoDB databases. To follow along with this video tutorial, you’ll need VirtualBox and Vagrant installed on your computer, both available for all operating systems (Mac OS, Linux and Windows):

Presentation about Vagrant and Puppet by Daniel Acedos:

“How to Create Development Environments with Vagrant and Puppet (Video)” by Ricardo Moya at jarroba.com, licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Registered at Safe Creative.

Ricardo Moya

I work in Machine Learning and Big Data. I like learning new technologies and explaining them as clearly as I can on this site.

You may also like

Binary: Combinations and Conversion

Learn how numeral system combination tables work and convert between binary, decimal, hexadecimal and octal with simple mental math.

Aug 29, 2017

Binary Number System

Learn what the binary number system is, how it relates to decimal, octal, hexadecimal and base 64, and how to read bases and number notations.

Jul 28, 2017

Comments

Leave a comment


This site uses Akismet to reduce spam. Learn how your comment data is processed.