When I first started out in web development, I worked directly on the server. I had an FTP client and I’d download files, edit them, and re-upload them. If it was a “serious” project, I might even use source control. I thought this was a pretty handy way to work… Looking back on that workflow, I’m embarrassed, but the thing is, I know people who still work that way. I’m not going to go into the merits of having a dedicated development environment, automated builds and tests, etc… Just take it as a given that you need them. With that being said, however, it’s always a pain trying to set up a new development environment, and having an environment already set up on my laptop doesn’t guarantee that it’ll be the same environment that the next client has in production. If you’re on a different machine, it’s a problem. I’m going to talk about how I’ve solved this age old problem using Vagrant, Puppet and VirtualBox.
As I’ve mentioned in the past, I run Linux exclusively in my shop. There are many reasons for this, but I won’t get into those right now. My distribution of choice has always been openSuse, Novell’s version of Linux. However, openSuse has always had some issues that I couldn’t seem to get past. So, this past weekend, I bit the bullet and made the switch to Ubuntu. Ubuntu is a linux distribution offered by Canonical, and is the distro offered on Dell computers. I’m still in the process of getting used to it, but so far, I’m very happy with it. I’ll post more as I dig deeper into the system.