I first delved into the world of OpenStack about a year ago. I had heard it thrown around in meetings, and started seeing a fair bit about it on twitter. As I did more research I found out it began in 2010 as a research project between Rackspace and NASA. Which of course, only intrigued me further, since I’m a huge space nerd. I’ve also heard it come up in discussion more often than not in the last year or so.
It’s a word that we hear all over when discussing virtualization and cloud technology, OpenStack. It could be one of the more confused subjects as well, and if you want to see the most interesting responses from people, just ask them “So, what is OpenStack?” to see what they tell you. Some people brush it off as “not ready yet”, others embrace it fully. On Season 2 of Virtual Design Master, we did an OpenStack challenge that required the use of VMware and a secondary hypervisor, and if my reputation as the evil challenge issue hand’t already been solidified, it was then. OpenStack, now approaching the 10th full release since its inception in 2010, is an open source cloud ecosystem. That can be taken as sort of ambiguous, and overly simplified. OpenStack is a set of projects, products, and features that are stacked (hah, see what I did there?) together to comprise this powerful and fast-rising competitor in the private and public cloud space. Another topic that has been hot in discussion lately has been the DevOps movement. While this is a topic that warrants its own discussion, the ability for developers to deploy their own environments wherever and whenever they want them is further enabled by OpenStack Horizon.
Some people get uncomfortable with the “open source” phrase gets mentioned in regards to their infrastructure. While you can deploy a completely open source version of OpenStack on whatever commodity hardware you want, there’s also a number of enterprise distributions of OpenStack. There’s HP Helion, Red Hat Enterprise Linux OpenStack Platform, SUSE Cloud, and VMware Integrated OpenStack.
VMware Integrated OpenStack, or VIO, was announced at VMworld this year. While it is still in beta, this isn’t VMware’s first foray into the OpenStack world. The vSphere OpenStack Virtual Appliance (VOVA) has been around since last year, and is a quick and easy way to get up and running with OpenStack if you’ve got a VMware environment. VIO is the next generation of this, and continues to bring OpenStack up to the enterprise level.
Why would I want to use something like VIO, instead of just running OpenStack natively on some servers? Good question. One important feature that the enterprise distributions add to OpenStack is the ability to easily upgrade. There are major OpenStack releases twice a year, with new features and functionality constantly being added. The ability to easily upgrade to the latest and greatest with an enterprise distribution can be a competitive advantage.
While OpenStack does provide a rather complete cloud platform, there are a couple of key features that haven’t arrived yet, and can be critical to enterprise environments. I’m talking about high availability functionality and “live migration” of instances. While this is fine when you’re kicking things around in the lab, this isn’t so fine for true production enterprise environment. By using something like VIO, VMware’s HA, DRS, and vMotion functionality can be leveraged to get around the gap.
Another question that always comes into play with open source projects is usually support. VIO, as well as other enterprise distributions, provide this very important feature for production environments. Those of us who have been in this space for a while know that it isn’t if you run into an issue, it is when. VIO allows a single point of support for your VMware environment hosting OpenStack.
Let’s break down OpenStack a little bit, and take a look of what it is made of. There are several different key components.
- Nova, the scheduling engine which controls and manages the compute layer of OpenStack, each hypervisor requires a compute controller to be paired with it.
- Swift, object based storage, for web objects, backup instances, graphics, documents.
- Cinder, block based storage, instance storage with persistent disks.
- Neutron, provides networking between different OpenStack services.
- Horizon, web interface, your interface into your OpenStack environment.
- Identity (Keystone), directory services, can connect to external authentication services such as LDAP.
- Image (Glance), you’ve got to deploy those instances from somewhere.
- Orchestration (Heat), your method of automating all the things with OpenStack.
- Telemetry (Ceilometer), how to measure utilization within the platform.
- Database (Trove), databases as a service by OpenStack.
This is by no means all of the projects within OpenStack. For more information on these, as well as other official programs, check out a list of the OpenStack Offical Programs. Before things make it to the Program stage, which is what we’re used to hearing about, they start out as Blueprints. Scrolling through the blueprints is a great way to see what’s up and coming in the ecosystem, and yes, there are a lot of them. One of them that I’m a huge fan of is Fuel, which is a way to even further streamline and simplify OpenStack for users.
So why should you care? Remember a number of years ago, when we were all running ESX 2.5 and we had to pry people’s arms from around their physical servers? Virtualizaiton was so new, that no one wanted to be the first to do it, or it was fine of everyone else, but not for their application! Those days are long gone, and now we’re virtualizing all of our data centers. We all know what comes next, since we were the ones that pioneered the cloud in our own data centers. OpenStack is all about abstracting the provisioning layer, and providing a complete self service interface for administrators and consumers. It enables an API driven fully featured multi-tennant cloud environment.
As you can see from the popularity of OpenStack, and the need to educate ourselves on the use-cases for it, this a great time to get involved. Chances are, if you haven’t encountered it yet, you will. You can easily find an OpenStack User Group in your area, watch educational content on OpenStack, and find lots of great resources in books and blogs to help you start your journey towards fully understanding OpenStack. Below are a list of resources to help get you started. Welcome to OpenStack!