A Swirl of Cloud Confusion
People will often ask me, how does cloud product X compare to cloud product Y? Often, it will be because X is a third party product and Y is a Red Hat product. The problem with such comparisons is that in the realm of cloud, there aren’t single, well-defined product categories. So, product X and product Y may be competitive. But, more likely, they have some overlapping features as well as vastly different capabilities in other areas.
How then, can you compare any two given cloud products? First, you have to know what problem you want to solve. Then, you can evaluate the various cloud products against your problem based on the problems that these various products are focused on addressing and not against each other.
IaaS Product Categories
At a high level, people talk about IaaS, PaaS, and SaaS clouds, but that is too coarse a categorization for products in the marketplace. For example, let’s just consider offerings that play in the IaaS space. Suppose you are an enterprise interested in cloud. Which cloud solution(s) you choose will depend upon what is your fundamental challenge. Here are some product categorizations within the IaaS space:
- Sample Products: VMWare vSphere, Red Hat Enterprise Virtualization
- Problem Solved: Manage datacenter virtualization
- Key Characteristics: Increased server utilization, flexibility, density
Of course, virtualization management is not cloud. But, many people still think it is or think that a virtualization vendor is automatically a cloud vendor. You can see the difference by looking at the problems they solve.
Virtualization management focuses on solving how to manage datacenter virtualization to achieve:
- better server utilization
Virtualization is typically managed and delivered via centralized, sophisticated IT management tools.
Cloud, however, typically focuses on:
- delivering better overall efficiency rather than higher single-server utilization
- abstracted cloud resources rather than flexible but dedicated virtual machines
- spreading workloads and risk across a large pool of elastic capacity rather than concentrating them densely on fewer servers
Cloud typically provides distributed self-service access to resources rather than centralized provisioning.
Cloud is an abstraction and automation layer above virtualization.
Public Cloud Providers
- Sample Products: Amazon EC2, Rackspace Cloud Servers, IBM SmartCloud
- Problem Solved: Rent capacity on-demand
- Key Characteristics: seemingly infinite capacity, on-demand self-service access, cloud resources, services
Public cloud providers rent access to infrastructure resources on-demand. They provide quick access to capacity and, usually, relatively cheap prices for access to computing power. Notably, public cloud providers generally run workloads across the public Internet rather than in a customer’s own data center.
- Sample Products: Rightscale, BMC Cloud Lifecycle Manager
- Problem Solved: Manage and automate IaaS clouds
- Key Characteristics: cloud orchestration, cloud lifecycle management, service provisioning
These products take existing cloud capacity and provide higher-level automation and orchestration capabilities across them to provide a richer and deeper set of cloud capabilities. They can be available either as a hosted service or as a product. However, beware lock-in or other major operational problems as these options typically aren’t open and provide restricted interoperability.
Cloud in a Box
- Sample Products: OpenStack, Eucalyptus, CloudStack
- Problem Solved: Build public-cloud-like IaaS capacity in your own datacenter
- Key Characteristics: large scale, self-service access to cloud resources, resembles a public cloud
These products provide a great option for cloud service providers and enterprises looking to build public-cloud-like infrastructure in their own datacenters. They provide similar capabilities to that of IaaS public cloud providers in an easy-to-consume product by integrating everything from virtualization management to self-service portals.
However, as easy as these offerings may be to setup for creating a new cloud, they also present major challenges for enterprises. How will you migrate existing applications to this new cloud? How will you manage this new cloud alongside existing infrastructure? This approach provides deep but targeted capabilities and doesn’t address most enterprises’ broad needs.
- Sample Products: VMWare vCloud Director
- Problem Solved: VM Sprawl, disparate virtualization clusters, virtualization management complexity
- Key Characteristics: Provide cloud automation on top of virtualization
VMWare’s vCloud Director is the prototypical example of this class of product. It addresses the challenges of a larger virtualization deployment by offering self-service provisioning to address VM sprawl, abstraction to deal with disparate virtualization clusters, and automation to handle complex virtualization management tasks. Effectively, it layers cloud automation on top of virtualization.
However, even though this approach solves fundamental problems with virtualization, it doesn’t address physical servers or public clouds incompatible with a particular hypervisor. So, it effectively turns a virtualization silo into a well-managed cloud silo.
Open Hybrid Cloud
- Sample Products: Red Hat CloudForms
- Problem Solved: Bring cloud automation to all your hybrid and heterogenous resources, manage your applications in the cloud
- Key Characteristics: build and manage hybrid clouds, build and manage applications in the cloud
This approach is similar to the cloud silo approach in that it layers cloud automation on top of existing infrastructure. However, rather than only automating one particular virtualization technology, it provides cloud automation on top of your choice of physical infrastructure, virtualization technologies, and public cloud providers. In this, I mean hybrid in two senses of the word: spanning private and public clouds, and spanning heterogenous infrastructure.
Another important aspect of an open hybrid cloud is enabling application management and application portability in the cloud. Providing cloud automation across disparate infrastructure doesn’t provide much benefit if applications are still tied to one particular location or cloud provider.
With an open hybrid cloud, enterprises can achieve the automation benefits of a cloud, but they don’t have to throw away existing applications or infrastructure, and they preserve flexibility to use new technologies and avoid lock-in.
What’s Your Problem?
Most enterprises need to solve the problem of IT complexity. They want to evolve from taking weeks and dollars to provision capacity for their users to minutes and cents like the public cloud providers do. But, they have to deal with existing infrastructure and management challenges. For example, in a typical enterprise:
- They have virtualized with VMWare, but now deal with managing VM sprawl, multiple virtualiztion clusters, mutiple applications, and multiple virtualization silos. e.g. NA production cluster, HR cluster, London QA cluster, etc.
- They have started adding another hypervisor into their environment, whether with Red Hat Enterprise Virtualization and KVM, or with Microsoft Hyper-V. Adding another virtualization option like Red Hat Enterprise Virtualization can bring great new capabilities, but it also introduces a new management silo
- Their developers have started using Amazon public clouds. How are enterprises going to manage and enforce policy across public cloud capacity?
- They still have lots of applications running on physical servers
- They have many applications managed by disparate application groups
Which one of these cloud product categories mentioned previously will address this problem? How can enterprises with this diverse set of existing infrastructure and applications as well as stakeholders start to become more efficient and agile through cloud?
- Virtualization management won’t address this problem because it is already part of the problem. It doesn’t deal with automating all these silos or with public clouds. Instead, virtualization is at least one of the management silos in a typical enterprise
- Public cloud providers don’t help because they are also part of the problem. Developers running workloads in the public cloud won’t reduce the number of management silos or complexities that come from the rest of the enterprisess’ environments
- Proprietary cloud management doesn’t solve this issue because it isn’t open and flexible enough to deal with all the infrastructure an enterprise has or may want to use. Additionally, it focuses on the problem of managing clouds, but not necessarily the diverse applications running in a cloud
- A cloud in a box provides a really easy way to stand up a cloud. But, it also requires enterprises to migrate existing workloads to this new cloud before they reap any benefits. This is typically impractical and not an option. Otherwise, all enterprises have done is introduced a private cloud silo to the rest of their infrastructure silos across physical, virtual, and public cloud infrastructure
- Turning your virtualization silo into a cloud silo can offer significant benefits across your virtualized infrastructure. It can deal with VM sprawl by offering self-service provisioning. It can deal with multiple virtualization clusters by abstracting them into a common cloud. But, this approach doesn’t deal with other hypervisors, public clouds like Amazon incompatible with a single hypervisor like VMWare’s, and physical systems. So, all it does is provide some better automation around a virtualization silo by turning it into a cloud silo. But, it doesn’t solve an enterprises’s fundamental challenge of becoming much more efficient overall.
- By now, I’m sure you’ve recognized that we at Red Hat advocate open hybrid clouds for enterprises. This approach brings cloud automation to all your infrastructure, so you aren’t limited to where you get the benefits of cloud, you don’t have to go through a migration process before cloud is useful, and you aren’t locked in.
Red Hat CloudForms focuses on delivering an open hybrid cloud for enterprises, and it also focuses on managing applications in a hybrid cloud. Other products definitely have their place in the market and solve important problems, but they don’t solve this problem of bringing cloud automation pervasively across an enterprise’s existing IT infrastructure to make it more efficient. In fact, an open hybrid cloud is the only strategy which can bring the benefit of cloud pervasively to an enterprise with existing applications and infrastructure.
If you’re an enterprise customer, what problem are you trying to solve with cloud? That will affect which sets of products you need to consider because different products focus on solving different problems. If a cloud product doesn’t solve your problem, as good as it is, it’s not going to help you.