The evolution of development (Virtualization to Containers) from a LAMP Developer’s perspective

At the risk of sounding like a Dad whose been writing code forever, I’ll say that when I started in this business back in 1995, we were developing directly on a webserver. FTP was a Developer’s best friend. I can remember countless FTP sessions connecting to servers and sending tiny chunks of HTML across the wire.
In 1999 we were then able to leverage unique developer instances running off complex IDE’s and App Servers. Then a few years later, this thing called virtualization started transforming our data centers from massive rows of computers circa 1999 “The Matrix” into nimbler data centers thanks to VMWare.
Virtualization solved many of the scaling problems of the dotcom bubble and gave birth to an entirely new business unit of Amazon (Amazon Web Services) in 2006. Amazon was now in the hosting business overnight; whoa!
By the mid 2000’s developers were starting to take note of how server admins were simplifying their lives by consolidating their hardware machines into Virtualized software instances. Back in those days, if you wrote code you were probably configuring a local LAMP instance and having to deal with the headaches of compiling, configuring and managing Apache locally. Around this time, MAMP and WAMP started to take hold and provided a wrapper for running a local Apache instance without the need to configure it. As good as MAMP and WAMP were, old school developers like myself despised it the same way I despise phpMyAdmin; what a joke!
So… for people like myself, who wanted fine grain control over their local development environment, we had to deal with different configurations across developers and the headaches that came with different compiled versions of Apache, PHP and various drivers. Every rose has their thorns they say and I’ve been pricked by a few LAMP configuration thorns over the years.
Enter Virtualbox, Chef and Vagrant to the rescue! These three technologies made it possible for developers like myself to fully take advantage of virtualization from a local development perspective by encapsulating our development instance into a truly virtualized ephemeral device. With Vagrant, our team at RFI Studios is able to develop against a uniform configuration; Vagrant guarantees that we’re all running the same version of Apache, PHP, mySQL and their associated drivers all bundled into one single configuration file. This creates a centralized deployment model for my team. Quite frankly, as programmers, this has been the biggest boost to our productivity at RFI Studios. What used to take hours or even days of tinkering is now something we can get and running in a matter of minutes. Thank you Vagrant, we love you!
But wait, it gets better.

Thanks to a little open source project from dotCloud launched in 2013 called Docker we’re now starting to see the next evolution in Virtualization. Today at Rackspace’s Solve conference, we heard perspectives and experiences from some of the key players in the Virtualization and the OpenStack community such as Larry Lang CEO of Plumgrid. Mr Lang mentioned that migrating Enterprises from a VM based approach to a Container based approach is very promising and scalable however, its slowly being adopted at the enterprise level. Graeme Peacock of TD Bank shed some light on how his organization is using virtualization to solve the problems of scale and to streamline their development and deployment efforts dramatically.
Container based solutions like Docker and CoreOS all the rage because of how they include the application and all of its dependencies, but share the kernel with other containers. They run as an isolated process in user space on the host operating system. They’re also not tied to any specific infrastructure — Docker containers run on any computer, on any infrastructure and in any cloud. Really dude? Really!
As more and more data pumps through the internet from our phones, tablets and laptops, the applications we build need to scale in order to keep up with consumer expectations. Ultimately, Virtualization will reach it’s limit and that’s where Containers will shine. At RFI Studios, we’re tipping our toes into the Container pond, just getting started with OpenStack and seriously starting to look past mySQL towards MongoDB. We’re optimistic that these budding technologies will allow us to move the needle beyond what’s currently capable. Keep your eyes and ears tuned and we’ll update ya on our progress.
Cheers,
L.E.