Moving stuff to the cloud has been all the rage the last few years. And for many situations that is the right thing to do. Especially when you are working on a Greenfield project where you can design everything from scratch. However, in many organizations you have applications and servers that cannot or should not be run in the cloud.
Today I will attempt to answer two questions:
- What is Hybrid Cloud?
- When would you use a hybrid cloud approach?
What is the cloud?
Before we start talking about Hybrid cloud, we first have to discuss what is the cloud? If we turn to Wikipedia, they say the cloud is:
shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet. Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a public utility
I would say that is one definition of the cloud. The term can be used in more way than one. Think of the cloud as turning your computing environment into an automated environment that can easily be scaled. Similar to a utility. When you need more water, you just turn on the faucet and let it run. You turn off the faucet when you have enough water.
When you are using the cloud for your computing environment, it is the same thing. You simply request the resources you want and begin using them right away.
The alternative to the cloud is what traditional IT has been for the last 20-30 years. You provision servers, virtual machines, storage, networks, etc…. These tasks may not be automated. They generally have a fairly rigid design. And if you need to change something, it is a major undertaking.
The biggest differentiator between this approach and the cloud is the ease of execution. Generally everything in the cloud is software defined. That could be the servers, the networks, the storage, etc…. Provisioning more of any of these items is as simple as making a configuration change. It is up to the cloud provider to worry about any physical limitations. Just like it is up to the utility to figure out how to generate enough electricity.
Public vs Private cloud
As we talked about in the previous section, the cloud is a computer system where you are able to use computing resources like a utility. However, there is nothing that says where that cloud lives. This is where Public vs Private cloud comes in.
A Public cloud would be something like Amazon Web Services (AWS), Azure, or Google Compute Engine (GCE). In these cases you are using a third parties compute resources and renting time on their infrastructure.
A private cloud is when you own your own infrastructure, and build-out your own cloud environment. There are tools from VMWare for building such an environment. Or you can look at OpenStack as a means to building your own private cloud.
What is Hybrid Cloud?
Hybrid cloud is when you run some of your infrastructure and applications in the public cloud. And you also run some of your infrastructure and applications in your on-premise datacenter. There is no real mix you have to have before you are using “Hybrid Cloud”. If you are currently running an on-premise datacenter, and you deploy a single application into the public cloud, you now have a Hybrid cloud topology. You have your single public cloud application, then all of your legacy or private cloud infrastructure in your on-premise datacenter.
When would you use a hybrid cloud approach?
Most companies do not have a private cloud. Or if they do, it usually does not have the same level of automation that you can find on the public cloud providers. If you are new to the cloud application game, and you are using a public cloud provider, then you most likely have some sort of hybrid cloud environment already where some of your infrastructure is running in the cloud, and some of your infrastructure is running on premise. This is more of an almost accidental occurrence of a hybrid cloud.
If you are not as new to the hybrid cloud game, then you are probably doing hybrid cloud on purpose. In this case, you are probably doing hybrid cloud for one of two reasons:
- Application Requirement
First let’s first focus on Cost. One of the big benefits of Cloud is the ability to scale out your infrastructure on a moments notice. You can scale up and scale down without any commitment. So if you have a seasonal workload. Or an unexpected spike in traffic, your public cloud provider can easily provision resources for you.
However, for some applications, it is cheaper to run the application in your on-premise datacenter. You will have to do your own cost analysis to determine if this is the case for your application. Assuming it is cheaper to run your application in your own datacenter the majority of the time, but you have occasional spikes in traffic, a hybrid cloud approach may be a good solution for you.
Consider this scenario. You have 10 web servers in your datacenter that can handle your website traffic 98% of the time. But 2% of the time you need 100 web servers to handle a large increase in traffic. You can provision 10 web servers in your on-premise datacetner. Then provision an additional 90 web servers in the cloud on-demand whenever you have those large spikes in traffic.
This saves you from having to make the large capital investment to support the additional 90 web servers when you only need them 2% of the time. At the end of the spike, you de-provision the servers and only pay for the time you were using them.
Next, we can focus on application requirements. There are some instances where running an application on premise just makes more sense. For example, you might have a file server storing the user profiles of your desktop computers in your office. When a user logs into their computer, the profile is pulled down from the file server. Or perhaps you are redirecting the profile folders to the file server. Either way, this application can be very latency sensitive, and potentially bandwidth intensive.
This application is not very well suited for the cloud. So you will want to run it in your on-premise datacenter. In order to ensure your backups are safe and off-site, you can backup your file server to a cloud provider. This is an example of a hybrid approach based on application requirements.
Today we have talked about what the cloud is, what the difference is between public and private clouds, and a few scenarios when you might use a hybrid cloud approach. I hope this information has been helpful.