Benefits of hybrid cloud and how to get there
How to slash your costs, increase your control, and fast-track innovation with hybrid clouds
From the beginning of cloud computing, there has been a push and pull between private and public cloud.
On the one hand, private cloud was within your control and offered predictable costs for infrastructure, but limited elasticity. On the other, by contrast, public cloud provides almost unlimited capacity at a moment's notice – but with dynamic (or piecemeal) scaling, costs are harder to predict.
For understandable reasons, people wanted both sets of benefits: enter hybrid cloud – the “holy grail” of enterprise cloud architectures. Unfortunately, much like the actual holy grail, hybrid cloud has been considered unattainable by many users.
Unfortunately, much like the actual holy grail, for many people it was considered unattainable.
What is hybrid cloud?
While hybrid cloud isn't a new term, there has always been some misunderstanding – or at least lack of agreement – on what it really means.
From a purely technical standpoint, a hybrid cloud architecture is one in which applications can simultaneously avail themselves of the resources of more than one cloud. For example, an application might run a web front end on a Kubernetes cluster on one private cloud, while accessing a database running on an OpenStack cluster on another private cloud, say, in another city. Even though both clouds are private, you’re pulling together resources from multiple - ergo, it’s “hybrid.”
But from a business perspective, hybrid cloud is generally considered to be an architecture in which one of those clouds is private and the other is public.
The most common use case is "bursting", in which an application runs on the private cloud, but should that cloud run out of resources, the application can "burst" to the public cloud as a backup. This is a popular use case for hybrid cloud, but there are several other helpful ways to use it.
It's this view of hybrid cloud – combining private and public cloud – that we discuss below.
Why hybrid clouds?
The reality is that while public and private clouds would seem to have different benefits because of their different architectures, in many ways they provide many of the same benefits, but in different ways -- after all, it's all about the cloud, isn't it? The are several reasons to consider hybrid cloud, including:
Cost savings: Public cloud enables you to save money by only paying for what you're actually using, but beyond a certain point, private clouds become much more economical (not to mention fiscally predictable).
Innovation: Public clouds enable you to experiment with new technologies, but private clouds give you more control over the technologies with which you want to experiment.
Vendor Lock-In: Public clouds would seem to avoid vendor lock-in, as you can always switch to another provider if you want to, but because of proprietary APIs, that's not always easy to do, so private cloud enables you to avoid public cloud lock-in.
Data sovereignty and regulatory issues: Private clouds give you more control over your data and where and how it's stored, particularly if you have data sovereignty issues, but if you operate in different geographical locations from your private cloud, public cloud might give you other options that fit within your regulatory structure.
Disaster Recovery: Disaster Recovery is easier to accomplish when you have full control over the infrastructure, as in your private cloud, but one of your Disaster Recovery options might be to failover to a public cloud that's always available.
As you can see, there are definite advantages to both private and public cloud that often support each other.
A fully-hybrid cloud allows you to get the best of both worlds. That’s why we at Mirantis believe that the most future-proof cloud is a hybrid cloud.
Why you need to take advantage of hybrid cloud and how to do it
If you don’t want to miss out on the critical benefits of having a hybrid cloud, you'll need to perform these basic steps:
Determine your target architecture
Make any modifications you need to your workloads to enable a hybrid architecture
Deploy and monitor the new architecture
Let's take these one step at a time.
Determine your target architecture
Before you can make any moves, you need to know where you are, and where you're going.
Do a cloud inventory.Determine what you've already moved to your public cloud and where it is. Note that a thorough inventory might surprise you: often developers use public cloud if they don't feel like they're getting what they want from the private cloud, or if it's too difficult or slow to use. So ‘unofficial’ usage of public clouds is common. This is called Shadow IT, and can be a major issue in terms of security, maintenance, cost, and compliance. (But don't worry, this process can solve that problem.)
What must go where? What resources must be run internally, and what can be outsourced to public cloud if necessary? This step includes determining whether any legacy non-cloud workloads can be moved to the public or private cloud.
Determine your baseline private cloud resource needs. It's likely that your resource utilization goes up and down, but there's a basic level of usage that covers most of your needs.
Decide on the final infrastructure. Although you're using a public cloud (or two, or more) you don’t need to be locked into their APIs. In fact, it's a good idea to avoid that. You can do that by ensuring that the cloud itself is abstracted. For example, applications using Kubernetes don't care whether you're running a DIY cluster or Amazon Kubernetes Service, as long as the appropriate services are available.
That said, it's probably best to choose a software layer that can run on multiple providers, such as Mirantis Container Cloud, for several reasons. For one, you can easily switch between providers at any time and for any reason (such as cost or availability). For another, you can easily simulate your production environment internally so your developers can work without incurring extra public cloud costs.
Deploy any required software.
Next, you’ll need to consider actual workloads.
Adjusting workloads for hybrid cloud
Workloads don't just magically take advantage of a hybrid cloud just because you have it in place. Here are some things you can do to increase your odds of success.
Move the laggards to the cloud, if possible. Just because an application is running on bare metal or in a virtual machine doesn't mean that it can't run in your cloud; OpenStack is specifically designed to run virtual machines, and even Kubernetes has the ability to run virtual machines. (Note that "because it's there" isn't a good enough reason to move an application to the cloud; only do it if the application can benefit from the cloud architecture.)
Ensure that your applications are actually cloud native. Ideally, this means making use of a microservices architecture, in which tasks are broken down into fairly granular parts, but that's not a requirement; the main thing is to ensure that your applications follow the principles of a cloud native application, such as using stateless processes and explicitly declaring and isolating dependencies.
Determine the way in which you're going to use the hybrid cloud. Will you use public cloud resources on a continual basis, or will you just burst to them when usage on the private cloud system is high?
Finally, adjust your application to take advantage of the public and private clouds as required by your target architecture.
Overall, you want to take a holistic approach, which not only looks at the cloud as a whole, rather than public cloud versus private cloud, but also flexibly incorporates your operations.
The big picture
The main idea of using hybrid cloud is to ensure that all of your workloads – and more importantly, all of your efforts – are using the most efficient resources available.
Being architected for hybrid cloud enables you to be flexible and adapt quickly to changing conditions.
You can take this adaptation even farther by adopting a ZeroOps approach to your cloud architecture, which involves intelligent automation and appropriate services to ensure that your development and IT efforts are always directed towards innovation rather than routine operations.
However you proceed, hybrid cloud enables you to get the best of both private and public cloud, and to make certain that you can always take advantage of the best possible resources, quickly and easily.
To learn more about how you can take advantage of a superior hybrid cloud, contact us today for a 1 on 1 chat with one of our Mirantis experts.