Red Hat
Dec 5, 2012
by bryanche

Hybrid is About Heterogenous Technologies

I previously posted that the 1st Tenet of Hybrid Clouds is that Hybrid is About Heterogenous Technologies.  In other words, in a hybrid environment, you must be able to manage and work across different types of infrastructure and environments.  And, this is a critical problem for enterprises because they already have assembled a hugely diverse cornucopia of software and systems.  A hybrid cloud that can work across all this has the potential to simplify enterprise IT and make it much more agile.

So, how do you get to operational consistency across a diverse, hybrid cloud?  You do that with cloud portability.

Hybrid is About Portability

If you want to have consistency across a hybrid cloud spanning different physical servers, virtualization, and public clouds, you need to have portability of your workloads across these topologies.  Now, in order for your workloads to be portable, they need to be portable in four dimensions:

  • Portable computing
  • Portable data and services
  • Portable programming models
  • Portable applications

Cloud Portability

Portable Computing

In a hybrid cloud, you need to be able to run your workloads on your choice of computing infrastructure: your choice of physical servers, virtualization, and public clouds.  If you can’t, then you are locked in and not portable.  For example, if you can only run your applications on one hypervisor, then you are locked into that hypervisor’s vendor.  And, you can’t build a heterogenous, hybrid cloud that spans across your enterprise unless you run 100% of your workloads on that one hypervisor.

Portable Data and Services

It’s not enough just to be able to run your workload on your choice of infrastructure.  What if you run your workloads at Amazon’s cloud and can run an identical VM in your own datacenter on VMWare, but you had put all your application data into Amazon’s S3 storage service?  Then, it doesn’t matter that you can instantiate and run your application code both on Amazon and on VMWare because your data is stuck at Amazon.  To achieve hybrid cloud portability, you must also have portability of the data and services on which your applications depend.

Portable Programming Models

You need to be able to write applications in the languages and frameworks of your choice and deploy them to the cloud of your choice in a truly open, hybrid cloud.  This is particularly important in the world of PaaS.  Almost all of the major PaaS’s on the market—whether Google AppEngine, or Heroku, or Force.com—have a severe limitation in that they support a limited and proprietary set of APIs and frameworks.

That means that you can’t take existing applications into these clouds because they don’t support the standard, enterprise programming models that you’ve been using.  Perhaps even more importantly, it means that once you put an application into these PaaS’s, you are locked in and can’t take them out because you can’t run these PaaS’s proprietary API’s and frameworks anywhere else.  If you want to have portability across a hybrid cloud, you must have portable programming models.

Portable Applications

Finally, even if you can deploy your workloads to the cloud of your choice, if you can bring your application data with you across clouds, if you can write your applications in the language and framework of your choice…BUT:

  • you have different tools or processes for managing your applications in different environments
  • you have no automation to move your applications from one environment to another
  • you have no consistent way of using your applications across different environments

Then you are still as good as locked in because you will never take advantage of portability across a hybrid cloud.  It’s just too complicated.

Red Hat Delivers Cloud Portability With Its Open Hybrid Cloud Offerings

Red Hat is committed to delivering Open Hybrid Clouds and provides open technologies to help enterprises build hybrid clouds that are portable and not locked in across each of these four dimensions.

Red Hat Open Hybrid Cloud Portfolio

Portable Computing With RHEV, OpenStack, and CloudForms

To have a hybrid cloud, you first must be able to build cloud capacity.  Red Hat provides the ability to do this with its Red Hat Enterprise Virtualization` and upcoming Red Hat OpenStack offerings.  But, as much as we want customers to build clouds using our technology (and most leading public clouds today do build upon our technology), we also want to give customers the freedom to use the computing infrastructure of their choice.  That’s why Red Hat CloudForms, through its support of DeltaCloud, enables enterprises to build clouds on the choice of their computing infrastructure with no lock in—whether that infrastructure is Red Hat or a third party.

Portable Data and Services With Red Hat Storage

Red Hat Storage enables enterprises to build a hybrid cloud storage service with a global namespace spanning multiple datacenters and private and public clouds.  Furthermore, because Red Hat Storage is a pure software solution, it can be deployed not just in physical datacenters that an enterprise owns but also in third party public clouds as a virtual appliance.

This means, for example, that if an enterprise deploys a hybrid cloud across Amazon and VMWare and writes its data to Red Hat Storage, it will be able to access that data regardless of whether a VM runs in the public cloud an Amazon or in a private cloud on VMWare.  And, because Red Hat Storage offers a wide variety of client interfaces—from traditional Posix filesystem to OpenStack Swift object store—enterprises can also have choice in how they access their data in a hybrid cloud with Red Hat Storage.

Portable Programming Models with RHEL, JBoss, and OpenShift

Red Hat’s OpenShift PaaS builds on standard enterprise platforms such as Red Hat Enterprise Linux and JBoss Enterprise Middleware.  This means that OpenShift can run a wide variety of languages and frameworks—including full Java EE.  Whether a developer wants to use Java EE, Sprint, Ruby, Python, Node.js, or some other language, they’ll be able to do so at OpenShift.  And, because OpenShift uses standard, enterprise, open source languages and libraries you can take existing enterprise applications and run them at OpenShift.  And, if you don’t like OpenShift, you can take your applications and run them somewhere else.  You aren’t locked in because OpenShift has no proprietary APIs and frameworks.

OpenShift even has a cartridge extensibility framework.  If it doesn’t support a particular framework or service out-of-the-box that you want to use, you can write a cartridge for that framework or service and drop it right into OpenShift.

Portable Applications with CloudForms

Red Hat CloudForms not only provides the ability to build and manage hybrid cloud computing capacity, it also provides the ability to manage application lifecycles across hybrid clouds.  For example, CloudForms provides the ability to define Application Blueprints.  These Application Blueprints can specify something as simple as a VM with a minimal OS to a multi-tier application spanning multiple VM’s.

Now, because CloudForms can manage hybrid cloud computing capacity, it can also provision these Application Blueprints across hybrid cloud capacity.  For example, an enterprise could build a hybrid cloud spanning RHEV, VMWare, and Amazon with CloudForms.  Then, it could also use CloudForms to define an Application Blueprint for its corporate standard Java development environment to place into a self-service catalog.

Now, CloudForms would be able to take that same Application Blueprint and provision it across this diverse, hybrid cloud.  To deploy onto RHEV, it would generate, populate, and configure the appropriate set of KVM images, transfer them to RHEV, and launch them.  To deploy onto VMWare, it would generate, populate, and configure the appropriate set of VMDK images, transfer them to vSphere, and launch them.  To deploy onto Amazon, it would generate, populate, and configure the appropriate set of AMI’s, transfer them to EC2, and launch them.

In other words, CloudForms provides the ability to have a single set of tools to manage applications across a diverse, hybrid cloud.

Overall Cloud Portability

In a hybrid cloud, you need to be able to manage your applications consistently across diverse, heterogenous infrastructure.  If you can’t, then you can’t bring the benefits of cloud to your entire enterprise IT.  Conversely, if you can do this, then you can break down all the silos you have built up over time and move towards a cohesive, dynamic, and agile hybrid cloud environment.  And, the only way to build such a hybrid cloud is to make sure that you are portable across a hybrid cloud in the four dimensions of computing, data and services, programming models, and applications.

Red Hat provides all the technologies required to build such an Open Hybrid Cloud, and that is why we are announcing the coordinated release of so many cloud offerings today.  But, whether you choose Red Hat or another vendor, you must achieve portability in these four dimensions across your hybrid cloud if you want to bring the benefits of cloud across your entire IT and not just one particular silo.