Virtualisation is awesome. I can scarcely believe I used to develop natively! At one point, I was on WINDOWS developing for a LINUX stack – I mean, that’s pretty crackers, but now we’re all about service oriented architectures, it’s nothing short of asking for trouble! In 2014, you should be developing against an environment that’s as close to production as you can possibly get.
If you’re not familiar with Vagrant, well basically it’s a set of tools that work with VirtualBox (or other providers including my preferred VMWare) to allow you to easily set up virtual machines from the command line, as easy as “vagrant up”. Then, the development team is all using the same architecture, installed packages, software versions, and more… It is a huge stride towards eliminating that “it works on my machine!” nonsense that has plagued our industry for so long!
I’ve used Vagrant for just over a year. Gradually, I’ve transferred pretty much every development environment I have over to a virtual machine that I use Vagrant to control. When I got my new computer when I started my company in January, I went 100% virtualised for all my projects except for app development.
So, this book then. It’s written by the creator of the Vagrant project, Mitchell Hashimoto. I came to this book as a reasonably seasoned Vagrant user, but often I’ve found that when you THINK you know what you’re doing, that’s a REALLY good time to read up on the subject to fill in the gaps in your knowledge and disabuse you of your misapprehensions! That was certainly the case here. I learned exactly what the bridged, port forwarding and private network options are – I’d always been a little fuzzy! I also got a good overview of how and why to create your own base boxes (SPOILER: generally you would do this if your devs were spending too much time provisioning machines).
Vagrant: Up and Running is clear, concise (I hate long tech books!), and easy to read. It goes through the problems that Vagrant is designed to solve and if you’re not convinced after reading that, then perhaps you won’t ever be! I don’t think it’s ESSENTIAL – the online docs are sufficient for most users – but it’s nice to have it all in one place, clearly laid out. If you’re facing some of the problems I talked about before (e.g. developing against non-representative systems), and are a bit nervous about getting started with virtualisation (after all, it can seem a bit scary at first), this is a fantastic book to read.
If you’re interested in this kind of thing, I’m speaking at Devops Cardiff in June!