---
title: "What is Hybrid Cloud?"
description: "Hybrid cloud increases the flexibility of your cloud application while reducing risk and vendor lock in. We discuss the pros and cons and look at tools to help run yours."
date: 2018-07-13
author: "Chris Ward"
url: https://www.exoscale.com/blog/what-is-hybrid-cloud/
---
# What is Hybrid Cloud?

With its offer of near infinite resources whenever we need them, the
cloud's original promise was that of flexibility. We could spend less
time installing, configuring and managing servers, and more time coding.
Instead, we got increasing vendor lock-in, and a handful of cloud
players so large that if a data center experiences problems, significant
sections of the internet go offline, or thousands of applications and their
data might be vulnerable to exploitation.

Despite these issues, using cloud hosting for our applications can still
save us tremendous amounts of time and money.

The 'hybrid cloud' is what the cloud should have been in the first place,
a flexible suite of services that do what we ask, where we want them,
when we ask, and charge us accordingly.

![Is this an example of Hybrid Cloud?](https://www.exoscale.com/blog/what-is-hybrid-cloud/cover.png)

Hybrid Cloud: what it is and why it matters
-------------------------------------------

There are two different types of cloud services. The public cloud,
which is cheap and flexible, but depending on the options you pay for,
you often share resources with other users that can result in less power
and control over your application and introduce security concerns. There
is also the 'private' cloud which generally provides you with more
dedicated, separated and local machines.

Hybrid clouds are a mixture of different public and private clouds (and
providers) to build redundancy and flexibility into a cloud
infrastructure that can change as required for technical, operational or
financial reasons.

Most cloud providers are supportive of hybrid clouds, especially those
that connect their services to legacy and on-premises systems. Hybrid
cloud removes barriers and opens up cloud computing to new opportunities
for providers and customers alike.

Hybrid Cloud Advantages and Disadvantages
-----------------------------------------

### Strengthens Security and Privacy

Maintaining security patches and best practices is a time-consuming
task, and one that cloud providers can handle for you with
pre-configured machine images that they regularly update. And by
reducing your dependence on one supplier you can spread your risk if one
provider fails to patch or is vulnerable for other reasons.

There may be specific privacy-related reasons you need to keep data or
applications in particular regions. A hybrid cloud architecture can
help facilitate this, and help you change the structure when needed.

For example, regulations, government funding, or certain types of personal data
(eg: banking, or health related data), require you to always host your data
in a particular region.

There may be instances of services you want to keep geographically closer to
customers for performance reasons. Even if you need to keep certain
applications or data on-premises, you can still integrate those instances
into a hybrid cloud architecture and access it as part of a wider
application.

An application is only as secure as its weakest point, and adding more
complexity introduces more potential vulnerabilities. Make sure that you
encrypt all communication between services. This is generally a default
setting with modern tools and frameworks, but always double check.

### Balance Costs and Performance

Some cloud providers provide better value for specific services than
others, and you may want to take advantage of the best deals with specific
providers balancing special offers or discount programs.

Some cloud providers calculate costs based on a complex and opaque set of
interconnected fee structures that may save you money, but it's hard to
be sure. Other providers charge you with a
[linear pricing](https://www.exoscale.com/pricing/), which makes it
easier to understand what your monthly bills are.

### Custom services

While increasingly uncommon as most software vendors rush to the cloud,
you may have legacy or custom applications that only run on particular
machines or operating systems in your private network. This may be the
case with commercial databases or market-specific software that is
not yet compatible with virtualization or public cloud.

In that context, keeping the core on a private infrastructure and having
frontend nodes on one or more hybrid cloud provides a convenient and
elastic way to modernize a legacy application.

> A hybrid cloud helps you bring these applications into a wider infrastructure
and make them more useful to your business.

### Software and Hardware Incompatibilities

While maintaining framework and dependency versions between development
and deployment platforms is now easier thanks to tools that help you
define your software and hardware setups (e.g. NPM, Chef, Terraform)
there may be subtler inconsistencies you should watch for.

Different cloud providers maintain slightly different point or patch
releases of major programming languages or operating systems. If you use
compiled languages, there may be differences between CPU architectures
or configurations that cause unexpected differences.

In short, do your research and test thoroughly before a major roll-out to
find as many unexpected issues as possible. Continuous integration, and
being able to automatically launch machines and applications for a very
short period of time on public clouds during tests is one way to achieve
a much higher level of quality in your roll-outs.

### Network Complexity and Performance

Again, although cloud services, CDNs, and transmission mechanisms are
continually improving. The more network connections you introduce, the
more opportunities for lag, latency and 'moving parts' that you need
to debug in case of a problem.

For large throughput requirements or workloads that require dedicated
end-to-end security, most public clouds have the option to establish
private interconnects at selected POPs - points of presence - and
connect private and public cloud at lan speeds. Exoscale's
[private cloud](https://www.exoscale.com/virtual-private-cloud/) for instance
offers a 10Gbps private connect for hybrid contexts.


How to implement a Hybrid Cloud
---------------------------------

Now to everyone's favorite discussion: what tools are available to help
you create the setup you're looking for? We've tried to separate these
as much as possible into different levels of the hybrid cloud stack, but
some of the tools crossover with function and purpose.

### Application layer

In theory, you can use whatever setup you want at the application level
of hybrid cloud infrastructure, but in practice, there are patterns that
are more common and fit the use case better. For example, there is the
'microservices' pattern, where an application is split into separate
services or components. Or the 'infrastructure as code' pattern where
services and the machines that run them are all defined in reproducible
configuration files. Both these patterns make it easier to scale across
different cloud providers or provide redundancy when you switch
between providers.

### Orchestration and Application Management

Managing (or orchestrating) your application components is another
large conversation topic in itself, but there are a handful of popular
and common choices.

-   For simple setups, Docker
    [machine](https://docs.docker.com/desktop/) and
    [swarm](https://docs.docker.com/engine/swarm/) could be enough for your
    hybrid cloud infrastructure.

-   The popular Kubernetes project has hybrid cloud functionality
    (or as they call it 'cluster federation') in the form of
    kubefed.
    It's a little complex to setup, but [read this Google blog
    post](https://medium.com/google-cloud/experimenting-with-cross-cloud-kubernetes-cluster-federation-dfa99f913d54)
    for some ideas.

-   Somewhat overshadowed by Kubernetes, but still a powerful
    option these days, is [Apache Mesos](https://mesos.apache.org/).
    It uses interesting paradigms to treat your distributed computing
    resources as one collective whole.

### Hybrid Cloud Networking

The next layer on top of your applications is networking. You need a way
for your services to know about the other services in your application,
and communicate with them.

We published [an entire guide on hybrid cloud
networking](https://www.exoscale.com/blog/hybrid-cloud-networking/),
that covered the standards used, and the best options for adding a
networking layer and service discovery to your application.

### All-in-one Hybrid Cloud

So far we've covered the tools you need to assemble yourself to create
a hybrid cloud architecture, but there are also all-in-one options that
give you all the functionality you need in one place.

The commercial options like [Accelerite Rovius](https://accelerite.com)
offer to sit on top of your cloud providers and handle a lot of the work
for you for a fee, and there are open source options that you configure
and manage yourself. SixSQ's [Nuvla](https://sixsq.com/products-and-services/nuvla/overview) 
is such an open source orchestration tool that can deploy and manage
recipes across heterogeneous clouds.

### Make Data-Driven Decisions with Monitoring and Analysis Tools

Tools for monitoring hybrid clouds are also plentiful, and what you
choose mostly depends on your setup and what you want to monitor. Common
services such as [DataDog](https://www.datadoghq.com/) or [New
Relic](https://newrelic.com/resources/datasheets/new-relic-for-hybrid-cloud), and tools like
[Prometheus](https://prometheus.io) or the [Elastic
stack](https://www.elastic.co/what-is/elk-stack), should suit your needs and are
widely available.

There are also a handful of companies such as
ParkMyCloud, Replex,
and [Flexera](https://www.flexera.com/products/cloud-management-platform) that focus
entirely on the money-saving aspect, helping you save as much money as
possible by shifting applications components around as efficiently as
possible.

Hybrid Cloud Providers
----------------------

As mentioned earlier, many modern cloud providers are good fits for a
hybrid cloud, including the large market players. We consider Exoscale
to be hybrid cloud friendly, with a mixture of
[public cloud](https://www.exoscale.com/compute/) and
[private cloud](https://www.exoscale.com/virtual-private-cloud/)
offerings. We have convenient integration points and templates (including
DNS resolution, Kubernetes support, Docker Machine drivers and API
access) to help developers bring instances into a hybrid cloud with
minimal effort. Our servers are exclusively located in Europe,
so if you are looking after an EU compliant solution, then we'd love to
hear from you.

Future-proof: Flexibility and Scalability
-----------------------------------------

Despite the extra planning and considerations needed, a hybrid cloud
gives applications a perfect combination of cloud convenience and
long-term security, stability, and operational advantages.

