To support a cloud-like delivery model for private system infrastructures for either type of workload—traditional enterprise or distributed—it’s insufficient to have automated provisioning of compute resources. The cloud-like delivery model requires self-service provisioning capabilities of other infrastructure resources: network, storage as well as security (see “Technology Overview for Cloud-Enabled System Infrastructure” by Lydia Leong under “Resources”). And that’s exactly the area where many enterprise private cloud efforts have stumbled. Until recently, the automation and provisioning domain was occupied only by vendor’s specific, highly proprietary solutions. The choices available to enterprises were limited either to completely proprietary, single-vendor-driven products that offered a combination of data center and virtualization management or, alternatively, to DIY approaches with help from automation and configuration tools such as Chef and Puppet. As for the first option, the problems with vendor lock-in aren’t limited to the vendor’s viability. Vendor lock-in puts private cloud owners at the mercy of a single company’s vision of cloud management. It allows the vendor to control your access to industry trends, which impacts your economic model.
Last year, the landscape of products available for establishing private enterprise cloud infrastructures changed significantly with OpenStack entering the enterprise market. OpenStack is a three-year old, open source cloud operating framework that provides fundamental infrastructure services around compute, storage and networking for the cloud. OpenStack is the most active open source project, with around 200 companies contributing to its development. The list of OpenStack sponsors is so long that it’s much easier to point out who isn’t on the list: AWS and Microsoft. Oracle is the latest addition to the list, announcing integration of OpenStack into many of its products.
OpenStack is modular in nature and consists of several open source projects and APIs that manage compute, storage and networking resources. OpenStack supports pluggable architecture and mechanisms for hypervisor, bare-metal, container-based virtualization, storage and networking, thus allowing enterprises to utilize existing enterprise hardware investments. OpenStack brings transparency and competition to the cloud management market, which is a great thing for enterprises. From an enterprise perspective, the biggest benefit of OpenStack may not be the open source OpenStack distributions themselves, but the ecosystem and competition created around OpenStack by vendors that deliver products, drivers, devices, plug-ins and services based on OpenStack. With OpenStack, enterprises are getting a chance to become more vendor-independent (see the sidebar).
OpenStack design tenets are clearly focused on distributed, scale-out models similar to the AWS model. However, various vendors started to offer products based on OpenStack, but have extended support to traditional enterprise workloads. These offerings typically provide support for traditional enterprise hypervisors, additional features that cater to infrastructure-level resiliency.
Consequently, based on common OpenStack fabric, we may have the ability to establish enterprise private clouds supporting two different architectural models:
• The distributed model of public elastic clouds such as AWS
• The enterprise model based on enterprise-class hardware with added high-availability benefits.
Further following AWS footsteps, OpenStack ventures toward an “IaaS+” model, providing more high-level services and focusing on application infrastructures. The latest release of OpenStack, codenamed “Havana,” includes the notable addition of Heat service. Heat is a template-based orchestration service for provisioning “stacks” that are just sets of application infrastructure resources defined based on blueprints. The blueprints can include virtual machines, floating IP addresses, storage and security groups.
Template-based infrastructure provisioning has increasingly become a defacto standard for cloud offerings. VMWare stack features vApp, a relatively simple concept that allows users to pull together a collection of one or more virtual machines, their associated network configuration and additional settings. You can start and stop a vApp as a single unit and specify the start-up order for all virtual machines included in the vApp. AWS offers a pretty sophisticated CloudFormation service that allows users to describe templates that consist of multiple virtual machines, storage, networking, security groups, elastic load-balancing settings and start-up order. AWS CloudFormation also notifies users when each individual resource, as well as the entire stack, is up and ready to run. It includes variables, user inputs, outputs, flow control and a small standard library of functions. Similar to AWS CloudFormation, OpenStack Heat service addresses the problem of creating repeatable cloud infrastructures for complex, multitiered architectures, which likely will be a welcome addition for private clouds. Heat engine can take in AWS CloudFormation templates, but also has its own syntax called Hot. Using a template-based approach to creating cloud infrastructures simplifies provisioning across various enterprise infrastructures managed by OpenStack, thus reducing human errors (see Figure 2).
OpenStack on Top of VMware Technologies and z/VM
It’s safe to assume that efforts aimed at establishing private OpenStack-based clouds for scale-out, distributed workload will be Greenfield-type deployments. In this context, Greenfield deployment refers to efforts to build brand new infrastructures that aren’t constrained by any existing constructs. However, not many companies are ready to throw away their investments in existing virtualization products and platforms. Of more importance, enterprises must provide hosting and support for traditional enterprise workloads, which currently dominate enterprise portfolios. Hence, there’s a good chance that a large chunk of OpenStack deployments in the enterprise will be Brownfield-type deployments. A Brownfield deployment is a type of project that aims to extend existing enterprise infrastructures with cloud-like delivery models. Greenfield efforts may be somewhat simpler to undertake, as you don’t have to worry about disrupting the support of the existing applications. Additionally, public-cloud-like models don’t require establishing complex resiliency solutions. On the flip side, Brownfield deployment scenarios that introduce cloud-like delivery models for the existing enterprise virtualized platforms using OpenStack will need to address some pretty complex problems, particularly related to hypervisor management.