Kubernetes / Networking / Sponsored / Contributed

Messaging Connectivity in a Hybrid Kubernetes Cloud Environment

28 Oct 2020 12:00pm, by

Cloud Native Computing Foundation sponsored this post, in anticipation of the virtual KubeCon + CloudNativeCon North America 2020 – Virtual, Nov. 17-20.

Lior Nabat
Lior is KubeMQ’s technology leader and product architect. As a serial technology entrepreneur with over 20 years of experience in software ventures and product development, he brings cloud native expertise and hands-on experience. Lior founded Tradency (financial trading technology) 14 years ago and led as the CEO since inception. Previously he held key management positions at DSPG, Alpha Cell and TdSoft. Lior holds a B.A. in Mathematics and Computer Science from the Open University in Tel-Aviv Israel and AMP from the University of Pennsylvania-The Wharton School. @lior_nabat

Hybrid cloud is a powerful IT architecture — backed by market leaders and used by many enterprise organizations — that connects a company’s on-premises, private cloud services and third-party, public cloud services into a single, flexible infrastructure for running the organization’s applications and workload.

The principle behind hybrid cloud is a mix of public and private cloud resources — with a level of orchestration between them. This gives an organization the flexibility to choose the optimal cloud for each application or workload (and to move workloads freely between the two clouds as circumstances change). It also enables the organization to meet its technical and business objectives — such as security, compliance, scalability, and resilience — more effectively and cost-efficiently than it could with public or private cloud alone.

Managing Messaging Connectivity across applications and data efficiently is a critical component of any hybrid cloud strategy. Whether connecting applications from multiple Software-as-a-Service (SaaS) providers, moving parts of applications to microservices, or integrating Kubernetes-based solutions with legacy applications, connectivity is key to ensuring that the components of the hybrid ecosystem work together quickly and reliably.

A modern messaging platform should provide complete hybrid infrastructure transparency and support integration at the microservices level. When building an advanced Kubernetes-based technology solution in a hybrid environment, parts of the microservices are deployed in one environment and the rest are deployed in another environment, to create a unified solution that takes advantage of the best of both worlds.

In this article, we will discuss how innovative messaging platforms enable microservices from multiple environments to communicate with each other, in a way that provides speed, flexibility, security and scale.

Building a Kubernetes-based Solution in a Hybrid Cloud Environment

We find that enterprises taking advantage of microservices and Kubernetes for container orchestration see the value in a hybrid deployment model. Still, concerns pop up when they begin planning for a hybrid deployment. The main concerns we come across usually deal with complexity and risk.

Enterprises want to understand how to manage and operate both an on-premises and cloud environment, how to make sure the environments always sync with each other, and how to build this out with security at its core. Without one unified Kubernetes native messaging platform across the environments with multicluster support, building a hybrid cloud infrastructure would be close to impossible — since the communication complexity would create a critical bottleneck to achieve a stable, reliable, and scalable hybrid cloud solution.

A Kubernetes native messaging platform should thus be built to simplify Kubernetes deployment, regardless of where you run applications. This way, enterprises using Kubernetes’ native messaging platform as their container platform benefit not only from an enterprise-grade Kubernetes solution, but also from native abilities to support hybrid cloud solutions. From the messaging platform control center, enterprise developers can easily create and manage multiple infrastructure Kubernetes deployments.

Modern messaging platforms take this into consideration. A modern messaging platform is a message-based architecture that enables the microservices from multiple environments to communicate with each other and build one hybrid infrastructure solution. Deploying such a messaging platform provides flexible connectivity for hybrid environments — including multicloud, on-premises, and at the edge — powered by enterprise-grade message broker and message queue, with ready-to-use connectors, bridges and control centers. A hybrid-ready messaging platform should also run on enterprise software built around containers orchestrated and managed by Kubernetes, to make the deployment experience as automated and streamlined as possible.

Diagram 1: A solution deployed in a hybrid cloud environment using MQ Cluster, Bridges and Connectors (Targets & Sources)

To support portability between all deployments, a modern messaging platform provides bridges — which is a perfect way to bridge, replicate, or aggregate Kubernetes clusters across cloud environments, on-premises deployments, and the edge. Such a platform also provides a rich set of connectors, to instantly connect microservices with cloud web and external services within the cluster.

How to Successfully Migrate Microservices from On-premises to a Hybrid Deployment 

A modern messaging platform should enable enterprises to gradually migrate their current microservices and migrate on the fly to a hybrid cloud solution seamlessly and without service disruption.

Using a modern messaging platform provides multicluster support, allowing bidirectional communication from the on-prem microservices to cloud microservices. This setup enables two different Kubernetes environments to behave as one solution. The multicluster setup ensures that enterprises can gradually move services from the on-premises environment to the cloud (and vice versa) safely, transparently, and without downtime. Moreover, using the messaging platform source and target connectors also supports gradual migration from a monolithic environment with legacy messaging systems, to an advanced Kubernetes hybrid solution.

Diagram 2: A solution deployed in a hybrid cloud environment using a modern messaging platform

Taking Financial Software from a Solely On-premises to a Hybrid Cloud Deployment

Let us walk through an example of how an enterprise company running financial software can move applications from an on-premises deployment to a hybrid cloud Kubernetes-based solution.

The company we are highlighting provides complex real-time investment software. To keep things simple in this use case, we will focus on the part of the application that is in charge of sending a flow of real-time quotes (real-time stock prices) to the frontend web client. The use case shows the process of transferring part of the microservices from the on-premises environment to the cloud, while keeping both environments synced by using a modern messaging platform server, its connectors, and its bridges.

Setting up the Hybrid Cloud Kubernetes Environment

This company selects one of the three most popular vendors as its public cloud provider and creates a Kubernetes cluster using enterprise software. Then, the company deploys a modern messaging platform cluster in one click, using its operator from a marketplace, and then enables multicluster support by deploying the modern messaging platform bridges. Both environments are now connected. Messages can go from one environment to the other, creating a perfect synchronization between them. Now the setup is ready to migrate microservices from the on-premises environment to the public cloud and establish a hybrid solution.

Diagram 3: Example of the synchronization between on-premises and cloud environments

Migrating Services from On-premises to a Public Cloud

Next, the API service and the frontend service are moved from the on-premises deployment to run on the public cloud; both are connected to the messaging platform. The services can communicate with each other in the public cloud, as well as with the services running on-premises, via the modern messaging platform’s multicluster connection. Now, pricing is received from the on-premises environment, while the frontend client reflects them from the cloud environment. The company has a fully synced hybrid cloud solution.

In this mode, both environments are working together as one environment, and more and more services can be gradually migrated from on-premises to the cloud without downtime.

Diagram 4: A hybrid state of both environments connected by a modern messaging platform

Conclusion

Creating a hybrid cloud solution does not need to be full of complexities. When using an enterprise-ready platform and a modern messaging platform, you can create a hybrid environment with enterprise-grade assurance with more ease. A modern messaging platform enables connectivity between the environments and ensures the services transfer is seamless and regulated according to the company’s needs.

To learn more about Kubernetes and other cloud native technologies, consider coming to KubeCon + CloudNativeCon North America 2020, Nov. 17-20, virtually.

The Cloud Native Computing Foundation and Amazon Web Services are sponsors of The New Stack.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.