A hybrid cloud is the union of data center hosting and public cloud services. Unfortunately, many enterprises struggle to find an approach that harmonizes the relationship between the two.
There are a couple of strategies that development teams can take to achieve hybrid cloud integration. One strategy positions the cloud as the front-end application hosting point. The other strategy turns both the data center and the cloud into an elastic resource pool in which application components move about as necessary.
These two schools of thought ultimately dictate which tools you select. Hybrid cloud users need tools that monitor application performance and deploy, redeploy and scale application components as operating conditions change. These tools must accommodate the specific ways hybrid cloud resources and applications interact, both within each piece of the hybrid cloud and across the boundary between public and private resources.
Public cloud as a front-end hosting point
When the cloud is a front-end hosting point, you can customize monitoring and management for each hosting environment. This approach lets you to use a public cloud provider's tools for deployment and application management without the need to worry whether these tools are compatible with your data center resources. Also, integration issues are minimal in this hybrid cloud model since you can manage the hosting environments separately.
But some factors complicate this type of model, including the need to have cloud front-end components access on-premises databases, the need to share data elements across applications and the need to scale the exchange points between data center and cloud. When these things occur, it's difficult to set independent service-level goals for the front- and back-end pieces of an application. You must implement an overall application performance management (APM) strategy to address these situations.
For an APM tool to work effectively with an application that runs on hybrid cloud resources, set trace points across the communication point between the cloud and the data center. If you trace entry and exit points for the handoff, you can use APM data to identify the location of problems and address them with tools. This approach preserves the ability to use cloud provider application deployment and middleware tools for the front end of applications and other tools for data center-bound components.
The unified resource pool
The more complicated front-end configurations eventually need to merge into a unified resource pool model of hybridization in order to simplify management. In this model, the cloud and data center create a combined hosting pool for an application.
Application components might designate a preferred set of resources (for instance, private or public), and there are conditions when they could scale or fail over into the other side of the hybrid cloud. The easiest way to integrate hybrid cloud resources is to create a fully unified resource pool that links to your tools. One way to do this is to adopt a resource abstraction tool such as Apache Mesos and use it in tandem with an orchestrator like Kubernetes or Mesosphere's Marathon. Then, combine that abstraction tool with a third-party monitoring tool, such as Dynatrace.
Tools like Mesos abstract all forms of hosting and also work in all the popular public clouds. Therefore, this approach integrates a hybrid cloud into one platform. However, remember that this requires you to integrate your monitoring and deployment tools with the resource abstraction tool rather than with the underlying hosting or cloud resources.
If a tool like Mesos isn't an option, adopt container hosting as your standard application deployment method. Then, integrate between the cloud and data center with a combination of Kubernetes and a service mesh technology such as Istio. Kubernetes uses events to synchronize deployment between cloud and data center, and Istio is one of the best open source tools for workflow management in hybrid resource pools.
To get hybrid cloud integration right, you need to align your application strategies with trends in hosting technology. You may need to rethink some of your tool choices. It also may mean you need to favor resource abstraction rather than segregate between private and public resources. Act sooner rather than later, because waiting sometimes only makes the switch harder.