Software Defined Datacenter - All You Really Need is Linux
Maybe I’m getting old. Perhaps that’s why I just don’t get it anymore when I see the direction of the virtualization industry, and specifically, VMware. The virtualization giant has been swinging around the buzzword, and of course, accompanying acronym, “Software Defined Datacenter”, SDDC for short, to explain their take on how VMware can be the center of the IT world. However, when I look at their latest offering, I see layers upon layers of complexity, hiding beneath the veneer of their slick GUI. I have a simpler solution, a programmable datacenter.
According to VMware CTO Steve Herrod,
“A software-defined datacenter is where all infrastructure is virtualized and delivered as a service, and the control of this datacenter is entirely automated by software.”
I think we can all get behind most of the statement; I agree that control of the datacenter should be automated, but the concept of using virtualization software, especially closed source commercial software, to secure network segments makes me uneasy. The concept of what VMware is attempting to do, to move the technology of the datacenter forward is admirable, but being a commercial company they are defining the solution that works best for them, not necessarily you.
A programmable datacenter uses open source software like Proxmox to provide containers for operating systems, as opposed to virtual machines like VMware. Proxmox uses OpenVZ to provide a service that is much closer to my beloved FreeBSD jails, instead of virtualizing all of the hardware, the container provides direct access to the hardware while still supporting unique environments for each container. Running a Linux server in a container gives you the full benefit of a bare metal install with the flexibility of a virtual machine. Proxmox can abstract the hardware, programming the datacenter is left to management tools like Chef.
Using Chef you can define where and how to install, configure, and launch applications. For example, a recent experience of mine was to use Chef to install and configure a Nagios server to monitor the environment. Using a pre-built cookbook and minimal customization, I was able to programmatically install the server, all prerequisites, and configure the Nagios server with all Chef nodes as Nagios nodes. Chef then automatically started the server, ready for me to log in using the username and password combination previously defined. In the programmable datacenter, Chef provides the abstraction and automation, and Linux provides the platform to build on.
The simplicity of the programmable datacenter does come with some compromise. The concept does not yet have the bells and whistles of VMware, but it is not far behind. Proxmox, Linux (which, yes, Proxmox is Linux too), and Chef get you 90% of the way there, and they do so without you giving up control of your business to VMware or any other third party. VMware is always going to suggest the solution that works best for them, so we should expect multiple layers of virtualization that each require VMware’s management console, and expensive licensing costs. With open source, you keep your datacenter, costs and all, under control.