Earlier this week, VMware announced its
One Cloud vision for “running and managing any cloud-native or traditional application, through a software-defined platform that spans private and public cloud environments.” A key aspect of this vision was the release of VMware’s Integrated OpenStack product for running cloud workloads.
VMware’s vision for One Cloud and OpenStack sounds appealing--one unified cloud for running both cloud-native and traditional applications--but it is fundamentally flawed in implementation because these two classes of workloads have quite different requirements for infrastructure. And, by attempting to mash these two worlds together, all One Cloud provides is one limited cloud that is not optimized to run any workload.
OpenStack APIs Are For Cloud Admins, Not Developers
VMware
explains that they are responding to customer “demand for powerful OpenStack APIs to their developers” with their OpenStack product. In other words, what OpenStack provides is a nice set of developer APIs, and if developers want that, VMware will provide it for them on top of their existing infrastructure.
OpenStack APIs are not oriented at developers. Developers building apps in the cloud don’t want to think about managing underlying infrastructure, managing storage, or configuring network topologies. Instead, they want to build microservices or mobile interfaces or analytics capabilities. IaaS clouds like OpenStack just provide a building block on which development and application platforms sit. This is why so many developers love building apps with technologies like
OpenShift or
FeedHenry, which can run on top of OpenStack.
OpenStack APIs are for cloud administrators who want to offer public-cloud-like infrastructure services in their own datacenter. And, cloud administrators have quite different interests for cloud infrastructure not only from developers but from virtualization administrators as well. In particular, cloud administrators care about agile operational management and horizontal scale and elasticity.
OpenStack is For Scale Out; Virtualization is for Scale Up
As an IaaS cloud, OpenStack is optimized for running scale-out architectures and cloud-native workloads. Indeed, one of the hallmarks of true IaaS clouds is their seemingly infinite pool of capacity. If you need more capacity, just add it and it’s available. When you don’t need it anymore, shut it down and reduce your app footprint. And, because cloud-native apps expect to add and reduce systems elastically, they are architected to be horizontally scalable and resilient against virtual machines shutting down. Indeed, virtual machines disappearing is expected behavior for a cloud-native app.
Virtualization infrastructure--whether with VMware vSphere or
Red Hat Enterprise Virtualization--is not designed to scale out but to scale up traditional applications. When these traditional applications need additional capacity, you give them bigger virtual machines. And, these workloads depend upon the underlying virtual machines being resilient and never going away.
The problem, then, with running a scale-out cloud like OpenStack on a scale-up platform like vSphere is that vSphere has limited capacity to scale out. Once you run so many virtual machines in vSphere, you reach the limit of your cluster. This inherently limits the ability of cloud-native apps on OpenStack to scale out horizontally because they will run into the cluster size constraints of the underlying vSphere platform.
So, while you can run OpenStack on top of vSphere, you limit the capabilities of OpenStack for running cloud-native apps. And, OpenStack is not optimized to run traditional workloads, so you end up with one cloud that runs both cloud-native and traditional apps, but neither very well.
A Better Approach: Open Hybrid Cloud
At Red Hat, we also believe that customers need to support “any cloud-native or traditional application,” but we support that through an
open hybrid cloud approach. To enable this, we provide:
And so, by providing native platforms suited to their particular workloads and the ability to bridge these environments together, an open hybrid cloud offers a no-compromise approach to cloud: optimized traditional apps, optimized cloud-native apps, and a unified experience across them.
When Free Isn’t Truly Free
VMware announced that it is including its Integrated OpenStack product with its top-of-the-line vSphere Enterprise Plus offering. However, while this offer is free, it doesn’t come without a cost:
-
You have to purchase VMware’s most expensive virtualization product
-
You have to purchase production support
-
Your OpenStack cannot horizontally scale because it runs on a scale-up infrastructure
Now, there are still some reasons why an enterprise may want to deploy OpenStack on top of vSphere. In particular, enterprises who are installing a test configuration of OpenStack or using it in a small environment (perhaps for evaluation or training purposes) and don’t need the scale of a production environment may want a quick way to install OpenStack on top of vSphere. But, if you ever want to move from that small installation to a production-grade OpenStack deployment, it’s better to use the same OpenStack distribution across both environments for consistency.
And, what is better than free? How about negative cost? For less than one-sixth the cost of VMware’s equivalent vCloud suite, you could buy
Red Hat Cloud Infrastructure, which includes:
This could allow you to replace vSphere with Red Hat Enterprise Virtualization at significant cost savings and implement a native OpenStack platform for your environment as well, all with unified management.