By, Gordon Haff, Cloud Evangelist, Red Hat
January 7, 2014
Cloud infrastructure and cloud management. As an industry, we conflate these two things far too often.
This is understandable up to a point. Cloud computing architectures are relatively new and new architectural approaches often involve figuring out how functions are best partitioned and how they relate to each other. The process tends to be pragmatic; that's how the networking stack first developed. That terminology is often morphing and inconsistently applied (innocently or otherwise) doesn't help matters.
The overall building blocks of the private and hybrid cloud stack have now crystallized to a significant degree. The boundaries of these blocks aren't hard-edged of course; there's always overlap in the management space given that basic functions tend to come built-in even if they're superseded at scale or for more complex requirements. But we're at a point where we can describe the relationship of a cloud platform such as OpenStack to cloud management platforms (CMP)s like CloudForms that shouldn't be too controversial.
To this end, I'm going to lean heavily on Gartner's definition of a “cloud management platform.” Forrester Research embeds similar concepts under the “cloud manager” term. Whatever the specific terminology, the basic idea is that the cloud platform or cloud provider has certain responsibilities and the cloud management platform has others. It really doesn't matter if we're talking about private, public, or hybrid clouds. One of the primary goals for an Infrastructure-as-a-Service (IaaS) cloud platform like OpenStack is to allow organizations to create an on-premise cloud that works just like a public cloud. In other words, a cloud platform is a cloud platform regardless of who operates it and where it is located.
What's in that cloud platform?
At its foundation, it provides virtual infrastructure and the virtual management on top of that virtual infrastructure. But, while these layers describe a traditional enterprise virtualization platform like Red Hat Enterprise Virtualization or VMware vSphere, they don't capture what makes an IaaS different from enterprise virtualization. That difference comes in large part from the ability to create resource pools from the underlying virtual infrastructure using hooks into virtual management to do so. Thus, we have pools of compute, pools of networking, and pools of various types of storage that can be allocated to users through a self-service interface. In OpenStack, these pools are created using services such as Nova (compute), Neutron (networking), Cinder (block storage), and Swift (object storage).
A cloud platform may also provide Identity and Access Management—Keystone in the case of OpenStack. Another OpenStack project, Ceilometer, collects measurements within OpenStack (which can then be surfaced to a higher-level management platform). It's worth mentioning at this point that OpenStack has other functions such as the Horizon dashboard and the Glance image repository that allow it to be used without a CMP for certain purposes but, as we shall see, a CMP goes beyond the requirements for basic IaaS management.
There are probably as many detailed CMP definitions and feature lists as there are analysts and consultants writing about this area of the market. However, typical definitions include functions like self-service access under some degree of policy-based control, metering and billing, intelligent workload placement, system image provisioning, capacity planning, governance, and lifecycle management—while recognizing that different products have different levels of capabilities today and that the bar will likely rise over time.
To make this more concrete, consider the capabilities of Red Hat CloudForms, Red Hat's CMP which is also available as part of Red Hat Cloud Infrastructure together with Red Hat Enterprise Linux OpenStack Platform and Red Hat Enterprise Virtualization. The basic components of these two products are shown in the figure below.
CloudForms supports web-based access to service catalogs with role-delegated automated provisioning, quota enforcement, and chargeback across virtualization and cloud platforms, including those from Red Hat, VMware, Microsoft, and Amazon. It supports complex policy-based task and resource orchestration and automation to help ensure service availability and performance. You can simulate allocation of resources for what-if planning and continuous insights into consumption levels to allow chargeback, showback, and proactive planning and policy creation. There's unified monitoring, management, and automation across on-premise platforms like OpenStack as well as public clouds. You also get control over workload resources, configurations, capacity, and usage levels, with event timelines, and change and drift tracking to help IT maintain control of applications and infrastructure capacity.
I could go into a lot more detail about CloudForms, but my intent here isn't to dig down into the specifics of CloudForms as a product but to use it as an illustration of a full-featured CMP—and to give a sense of how such a CMP both augments and complements a cloud platform.
That's not to say none of these features and functions can or should be present in a cloud platform itself. Certain public cloud, or public cloud-like, use cases, may not require a separate CMP. However, for many purposes including enterprise workload management and orchestration, delegated administration, and hybrid deployments, a CMP helps organizations to make far more effective use of their infrastructure, especially their heterogeneous infrastructure. And ultimately makes the promise of cloud computing possible for enterprises: users get the simplicity of public clouds while IT retains control over operations and risk.