Write once, deploy anywhere. That's the goal of application writers everywhere. But how to bring such portability to hybrid clouds given that underlying infrastructure can differ markedly between on-premise platforms and public clouds or even between different public cloud providers?

Portability is closely related to other aspects of cloud openness, such as open source and open standards. Without freedom from being locked into business practices and technology roadmaps of a specific proprietary vendor, you certainly won't have portability. Without being able to deploy on the infrastructure of your choice, you don't have portability. Without open and extensible APIs, you can't have portability.

In a hybrid cloud environment, Red Hat augments portability by providing consistent runtime environments across private and public clouds. With access to products such as Red Hat Enterprise Linux and JBoss Enterprise Middleware on public clouds, you can run the exact same certified Red Hat software on the platform you choose.

This means, for example, that your developers can write and test software in a public cloud environment and then deploy the application on-premise without needing to worry about differences between the development and the production runtime environment. Or you may decide that an application developed and deployed on-premise is a good candidate for moving to a public cloud; perhaps its resource requirements vary a lot over time and pay-as-you-go utility pricing is consequently a better fit than buying physical assets.

But Red Hat does more to enable the use of products such as Red Hat Enterprise Linux and JBoss Enterprise Middleware in public clouds than simply providing interoperability APIs, the ability to run a Red Hat Enterprise Linux image and other technical features. Business and operational models need to be in place as well. How do you get updates, for example? How do you manage entitlements? These are technical challenges. But they also have business and operational aspects. We've been working to address them as part of the Red Hat Certified Cloud Provider (CCP) program.

The program's goal is to offer trusted destinations for customers, ISVs and partners where they can access and consume Red Hat technologies in public clouds. CCPs meet technical and certification requirements that provide for safe, supported, scalable and consistent destinations for enterprise cloud deployments.

A key aspect of the program is offering consistency between Red Hat technologies that are provided directly from Red Hat and consumed on-premise, and those Red Hat product offerings that a cloud provider makes available. A runtime within a public cloud environment that is consistent with on-premise environments greatly aids application portability. Because the same runtime spans physical servers, multiple virtualization platforms and public clouds, applications need only be certified and tested once and then run on the infrastructure of choice.

The CCP program provides a variety of additional benefits to end users. Using a Red Hat-certified cloud provides access to a broad ecosystem of enterprise-quality proven Red Hat Cloud Providers, enabling customers to select from a wide spectrum of business terms, service levels and global locations. They gain the ability to purchase Red Hat products on a consumption (pay-as-you-go) basis that can be a good match for spiky or unpredictable workloads. They get timely access to the latest updates and versions of Red Hat products through a Red Hat Update Infrastructure at the provider. These providers offer enterprise support—backed by Red Hat. And with select Red Hat Premier-Certified Cloud Providers, they can transfer their software subscriptions back and forth from on-premise, a feature called Red Hat Cloud Access.

Of course, enterprise customers still should perform their own due diligence to ensure that the processes and protections offered by a public cloud provider meets their specific security, compliance and regulatory requirements. For example, they may need to ensure that a cloud provider isn’t storing customer data in a locale not meeting government mandates for that type of data. However, the CCP provides a significant level of confidence with respect to the maintenance of their Red Hat environment.

The certification program associated with CCPs is not unlike what Red Hat does with hardware certification. Can Red Hat Enterprise Linux run in that environment? Can you start it? Can you enable and disable SELinux just like you can on-premise? Does it have all the drivers that are needed to work?
 
It's also about maintaining the integrity of the Red Hat subscription in those situations. One key piece of technology is that all of the Red Hat Certified Cloud Providers are using an in-cloud update service. When you start images, they're automatically entitled to where they can access this update service immediately, and get the additional Red Hat Enterprise Linux packages they may need. Furthermore, they receive needed updates on the fly. It really becomes a seamless environment with Red Hat Enterprise Linux in the public cloud following the same operational model that it does on-premise.

Building hybrid clouds that span heterogeneous on- and off-premise resources requires an open approach. So that's the approach taken by Red Hat across its entire cloud portfolio. But providing consistency for applications across hybrid environments requires even more. It takes consistent environments on which applications can run. But even that's not enough. It takes business relationships and technology to make the experience of running applications in a hybrid environment consistent as well. And that's the challenge that the Red Hat Certified Cloud Provider Program takes on.