Hybrid Cloud - why is it not ideal!
We no longer live in a world where people debate if the cloud is right for them or not. Cloud has become a first class citizen. The word cloud is used in this article to indicate a compute model and not necessarily a place. There are two cloud models available to choose from - private and public. The combination of these two with orchestration in the midst gives you the ‘hybrid cloud’. This is where IT departments in most organizations live today.
Hybrid cloud, being most organizations' default option, is the consequence of a massive drive of IT infrastructure services to the public cloud in the recent times. These organizations are left with some legacy applications or infrastructure on-premises. And, the simple way to solve this problem is to bridge these two with orchestration and high-speed VPN. This is easier said than done.
The reason for hybrid cloud being hard to build, manage and administer is that it is mostly found in a heterogeneous environment. A heterogeneous environment means that the solution in public cloud and private cloud or virtualization solution are from different vendors and not bound by any industry standards for interoperability. This is due to the timelines at which cloud-high hit fever pitch. The specific timeline being that VMware was leading the virtualization space and AWS was leading the public cloud space. The way you architect and manage these environments is different from one another. The teams, skills, and mindset required for these two platforms were mostly different too. Microsoft was merely catching up on these two fronts during those days, and their sales teams could bask in the glory of being the only provider to have a public and private cloud story (although infrequently); System Center for private and Azure for the public. The story got stronger for Microsoft with the introduction of Azure Stack and put them in an enviably unique position. There was no need for a fixed agenda; a customer could buy either a private cloud or a public cloud solution from Microsoft; unlike the case of AWS, VMware or Google.
Due to the variations in platform models that exist in your infrastructure, if you have a hybrid cloud you pretty much have chaos. Chaos in terms of what server is where, where is it ideal, who is responsible for it, what tools to use, what could be the efficient placement of various services/components. Auditing is hard with heterogeneous systems on heterogeneous platforms. If your organization uses the ancient martial art called ITIL; you might as well drop your braided hair down the high castle you're in for the mythical prince to save you. Below are some rough edges I see with organizations with a heterogeneous hybrid cloud
People: One of the challenges in the market is finding individuals with the ability to have a fair grasp on networking, storage and compute so they can architect a top notch solution on any of the public cloud platforms. In other words, keep in mind the 5,000 pieces that make a solution/application work with a deep focus on each component from time to time. With a hybrid cloud, the complexity is significantly higher in terms of requirement of knowledge of various private and public cloud platforms resulting in a significant reduction in the number of available candidates. Also, when you've fragmented technologies in your IT landscape you'll be slow to move forward you will end up with more meetings and processes for gauging implications of changes you're making across teams, compliance and audits.
Seamless interoperability: As mentioned earlier, when you've different vendors serving you on-premises and in public cloud, there is little to no higher standards to guide on interoperability. The only relevant guiding standards that exist currently in this context are for networking and security, but those do not give you advantages of a true hybrid cloud that you'd expect. Vendors like Google and VMware are working on seamless interoperability, and hope they win at it. I'm not suggesting that there is no interoperability between various on-premise and public cloud platforms; it is just not seamless enough. The seamlessness need not be due to a deliberate solution-architecture aimed at interoperability but as an inherent function of public and private cloud technology capability.
Security: Consider any of the major private or public cloud platforms in use. They will adhere to most of the standards required by regulations imposed by governments or relevant industries. It is to be noted that this implies security for the platform as a whole, and not necessarily for the solution you place on these platforms. This means that an outcome of protecting the vendor's platform will get you some protection; like DDoS protection. But, security for your application should be customized for your scenario much like you would have done in a traditional data center. The complexity with the hybrid cloud is that one needs to be aware of data protection mechanisms in various platforms and take special precautions from unintentionally building a weak link at the point of bridge between public and private cloud.
So what? Have an aggressive public cloud plan, unless you're in some industry that's living under a rock or some legacy app vendor broke up with you. Whatever your counter story is, re-evaluate that. The efficiency of public cloud is unmatched in comparison to a private cloud. The reason that cost does not figure in the previous list is because it is too obvious. Analysts or cloud management platform vendors who propagate a hybrid cloud nirvana story have vested interests in heterogeneous environments. If you're an organization with purchase/IT strategy decisions from the past to protect, and we all know how a startup in your industry inventing the future will run past the past you're protecting.
As a closing note, I can only add that whatever your plan be, you need an aggressive roadmap for public cloud.