howardlu.com

A personal blog about software development and other technical things...

Archive: "Systems"

02 September 2013

Getting Started With Vagrant And Puppet

Vagrant is an application allowing easy creation and management of virtual machines, and Puppet is a system configuration tool that works with it.

At my workplace, we use both of these to streamline our development process—you can be sure everyone is working in the same environment, and if anyone new needs to be brought onto a project, all they need to do is run a single command to get started. This can be further extended to a production environment where Puppet scripts can serve as a version-controlled source of documentation for how any given server is configured.

While these tools certainly work well in a larger team environment, I find them quite useful personally as well. I think most people have some sort of personal file backup nowadays, that doesn’t save you from the inconvenience of re-installing all your applications and re-configuring your system settings should your computer have a critical failure. If that machine just happened to be one used for development as well, manually trying to get all your dependencies back to how they are supposed to be can be a huge pain. These tools solve this issue.