This past week I had the opportunity to have two very distinct conversations about OpenStack, the evolving open-source cloud computing project. One from the beginner’s perspective, and another one from the expert’s perspective. Or another way to look at it, one from the Enterprise perspective and one from the open-source community perspective. The first conversation was with Scott Lowe, a recognized VMware expert and noted author, who is beginning to shift his technology focus from traditional Enterprise tools to more emerging infrastructure technologies. The second conversation was with Jesse Andrews, one of the founding developers of the OpenStack project and an expert in deploying open-source software. There were several key points that I took away from these two conversations:
- Learning Curves – With any new technologies, there are distinct learning curves to grasp new concepts, uncover unexpected problems (or deficiencies), and come up with best-practices for solving common problems. From the Enterprise perspective, OpenStack involves an understanding of different terminology from what is used by vendors like VMware, managing through a lack of documentation and getting a working environment up and running from the bits of multiple projects. From the open-source perspective, it was the evolution of the project from simple compute and storage projects to a series of loosely interconnected projects that needed to incorporate complex functionality for identity, networking, authentication and storage.
- Loosely Coupled vs. Tightly Coupled Architectures – While OpenStack contains the word “Stack”, which some might imply that to mean all the elements should be deployed together, this is not necessarily the case. Unlike some other cloud computing projects or products that are either a single entity, or tightly coupled and dependent, OpenStack is designed to be loosely coupled. While it is possible to deploy all the elements of OpenStack to deliver a set of services, it is not required*. In fact, some early users have deployed certain OpenStack elements as standalone services (eg. Storage as a Service). While this loose coupling means that it could be more complex to initially test or deploy, it also has the possibility for greater extensibility with external products and services in the future. It’s a classic design trade-off that will be interesting to watch as more companies decide which cloud computing architectures best solve their business challenges.
- Virtual Data Center vs. Cloud Computing – When you talk to people with experience in deploying hypervisor-centric architectures, such as VMware, you often hear them talk about deploying a “Private Cloud”. These architectures take existing applications, place them on a Guest OS within a Virtual Machine (VM), and then leverage the capabilities of the hypervisor to provide various levels of availability for the application. This aligns very well with traditional Enterprise architectures, where there is an application expectation that the infrastructure will be robust and highly available. On the other hand, when talking to people deploying open-source cloud computing software, they are often looking to do something with an application that wasn’t possible before. Their architectural mindset is that the application should be able to survive infrastructure failures. They are building new applications and are shifting the failure profile from infrastructure to application, expecting the infrastructure to use lower-cost hardware that can fail more frequently. This group often calls the hypervisor-centric approach “Virtual Data Center”, and the application-centric approach “Cloud Computing”.
I’ve been following the evolution of OpenStack for the past couple of years. It’s interesting to watch as technology experts from various backgrounds begin to explore if these technologies make sense for their business. In some cases they are making an “all-in” bet, while others are exploring to see if it offers functionality they can’t already get from commercial offerings. I’m curious to hear if our readers have interest in OpenStack and how they view this emerging cloud computing project.
* OpenStack “distributions”: TryStack (online), DevStack, Rackspace “Alamo”, Piston Cloud “Airframe”, Ubuntu OpenStack, SUSE OpenStack, RedHat OpenStack, Debian OpenStack, Fedora OpenStack, Cisco OpenStack, Cloudscaling (apologies if I missed any…)