Do you need to command an OpenStack cloud? Hello, Rackspace
All you'll need is OpenCenter and a dozen boxes to get going
Once you get a complex piece of software like OpenStack built, the next thing you have to do is make it easier for system administrators to use.
Then you have to integrate it with the various management tools they already have deployed in their data centers.
This is what Rackspace Hosting, one of the driving forces and probably the biggest user of the OpenStack cloud controller, is hoping to accomplish with a new management console called – you guessed it – OpenCenter.
OpenCenter is a brand new tool, designed from the ground up, and is not based on any internal tools that Rackspace cooked up to manage its own private cloud before or after it switched to OpenStack, explains Jim Curry, general manager of the Rackspace Private Cloud business.
That private cloud business is the one that creates chunks-of-Rackspace that you plunk into your data center and either run yourself (with tools like OpenCenter) or have Rackspace manage from the outside on your behalf but inside your firewall.
Thus far, Google, Amazon Web Services, and Microsoft have not offered the same clouds to customers they have built for public clouds, although Microsoft flirted with the idea a few years back and then went dark.
The plan is that Rackspace itself will eventually use OpenCenter to help run its own public cloud, but just like your data centers, Rackspace has existing control systems and therefore needs a rich set of APIs for OpenCenter so those tools can plug in. Those same APIs will allow OpenCenter to link out to various management and provisioning tools from IBM, HP, Dell, BMC Software, CA Technologies, and others so OpenStack can be brought into their fold if necessary.
OpenCenter is written in Python and it sits on Chef from Opscode, which was just updated last month and uses the metaphor of recipes and cookbooks to configure systems and their software stacks.
With the latest Chef 11, you can scale a Chef machine to manage as many as 10,000 servers, which is plenty enough for most private clouds. Interestingly, Amazon Web Services has also chosen the Chef engine to be at the heart of its OpsWorks cloud management service, which was announced two weeks ago.
With the Rackspace public cloud, management is somewhat easier in that Rackspace designed the server configurations and once it has a setup working, it can easily replicate it.
With the private cloud offering, Rackspace is letting customers pick and choose their servers, storage arrays, and networking components and a management tool has to be flexible enough to accommodate lots of different iron and possible ways of setting it up.
And thus, what OpenCenter does - in addition to being a stack of APIs that in turn talk down to OpenStack components such as Nova compute and Swift storage - is watch how things go as you set up Chef profiles and creates a database of "known good outcomes," as Curry put it.
If something worked, then that's the way OpenCenter tries to do it the next time giving similar starting conditions.
The OpenCenter code is open sourced under an Apache 2.0 license, just like OpenStack itself and the tweaks that Rackspace has done to it to create the Rackspace Private Cloud. The hope is that other OpenStack disties will adopt OpenCenter as their control-freak console and thus create a de facto standard console.
One neat feature of OpenCenter is that it takes all of the high availability and failover capabilities in various parts of the OpenStack software and provides an easy, point-and-click method for activating these complex tools. If you want to control these features programmatically, use the OpenCenter APIs that in turn tickle other OpenStack APIs.
In general, says Rackspace, it takes four physical management servers to set up a private cloud proof-of-concept, with Nova and Swift controllers running virtualized on a single box. Chef is a bit of a resource hog, so it likes its own physical server, and if you are doing a lot of API calls to OpenCenter, you probably want to mirror them for performance as well as for high availability.
Apps that do a lot of self-scaling up and down tend to make a lot of API calls; relatively static VMs that are running modest workloads and don't change much do not. So it really depends.
The typical proof-of-concept rig for an OpenStack private cloud has four management servers and maybe ten physical servers for compute and storage, which is enough to put it through the paces. Once you have that built, depending on your workloads, you can scale up the compute and storage nodes to hundreds or thousands without adding to the management side.
In addition to rolling out the OpenCenter console, Rackspace is now offering customers more options on the host systems that run the OpenStack software. In the past, you had one option: Canonical's Ubuntu Server. But now you can pick Red Hat Enterprise Linux or its CentOS clone if you prefer these for your corporate server images. ®