Published on 00/00/0000
Last updated on 00/00/0000
Published on 00/00/0000
Last updated on 00/00/0000
Share
Share
9 min read
Share
Want to know more? Get in touch with us, or delve into the details of the latest release. Or just take a look at some of the Istio features that Backyards automates and simplifies for you, and which we've already blogged about.
A few weeks ago we announced Backyards, Banzai Cloud's automated service mesh built on top of our Istio operator, which greatly simplifies the complex management of service meshes across multi and hybrid-cloud environments. Backyards is integrated into Banzai Cloud's container management platform, Pipeline. However, it also works, and is available, as a standalone product. Naturally, using Backyards with Pipeline provides users with a variety of specific benefits (like managing applications in a multi-cloud world) but Backyards works on any Kubernetes installation. In the post introducing Backyards, Istio the easy way, we discussed some of its main features, such as the ability to create a service mesh in a few simple clicks, the monitoring of applications through a unique graph view, and the management of Istio features from a convenient UI. If you read that post, you may also remember us mentioning that our platform is capable of managing multi-cluster Istio service meshes across multi-cloud and hybrid-cloud deployments. In this post, we will be introducing our automated multi-cluster service mesh feature and exploring it in some detail.
Regardless of whether it's in a single or multi-cluster (multi-cloud or hybrid-cloud) environment, Backyards uses of the same set of features and convenient management UI. It's extremely simple to start in a single-cluster scenario, as well as to extend, with a few clicks, into a multi-cluster (multi-cloud or hybrid-cloud) service mesh.
Hybrid and multi-cloud solutions are quickly becoming the new norm for enterprises. When Google announced Anthos a few months ago, the interest in, and adoption of, these solutions rapidly accelerated. At Banzai Cloud, we noticed this accelerated interest at most of the companies we had discussions with. Some choose to run workloads in-house, in their own data centers, only scaling out to public clouds when peak-demand cannot be met. Others continually search for the cheapest prices across cloud vendors, only spinning up workloads when their cost criteria are met. However, all of them need a convenient way to move into different public clouds as requested by a given customer, regulation or business criteria, and to build multiple topologies across these public and hybrid clouds. As demand began to emerge for hybrid and multi-cluster solutions, we started to look for ways to address our customers' needs.
While the needs of Pipeline users vary depending on whether they employ a single or multi-cloud approach, they usually build upon one or more of these key features:
From its very inception, the Pipeline platform has supported multiple cloud providers: connecting these providers on different levels (clusters, deployments and services) has always been one of our primary objectives. Simultaneously, we have been working extensively with Istio. First, we released an operator for simplifying the deployment and management of Istio, then we investigated its multi-cluster capabilities. Based on our experiences, we built Backyards, an automated multi and hybrid-cloud product, integrated into Pipeline, utilizing our open-source Istio operator.
In Pipeline, you can install and manage a hybrid, or multi-cluster service mesh on-premise, or with any combination of the several cloud providers we support.
Using a feature called Cluster group, we can form multiple clusters into groups, provided we select one as a master cluster, and can associate them with different features, like
Multi-cluster Deployment
orService Mesh
.Multi-cluster Deployment
makes it possible to deploy an application on multiple clusters simultaneously. This is not the feature we will be highlighting in this post, but it will be used to easily deploy an application on multiple clusters. You can read more about this feature in this blog post.Service Mesh
is the feature which we'll be exploring in depth in this post. When it is turned on, it installs Istio on the master cluster and automatically connects all the clusters in a group using the Istio operator. When this happens, you'll get an inter-cluster view of your services. From that point on, you can work with a multi-cluster mesh almost as if it were a single cluster.
Let’s start by creating a cluster on AWS, using Banzai Cloud’s lightweight and CNCF certified Kubernetes distribution, PKE. Next, we'll create an Istio service mesh using that cluster.
Creating a service mesh also forms a cluster group that remains in the background.
After a few seconds the mesh will be installed and ready to use.
Now that we have our mesh, we’ll need a demo microservice application to showcase the capabilities of our product. To this end, we've created a very simple project that can be used to simulate a microservice application, called AllSpark. We've also built a Helm chart that contains a pre-configured AllSpark deployment, which simulates a cinema reservation system. We've made these available through our Helm chart as a service solution. Using the aforementioned Multi-cluster Deployment
feature, we can deploy this application by navigating to the Multi Cluster Deployments
tab on the UI, and adding the https://charts.banzaicloud.io/gh/spotguidetest
repo to Pipeline, then selecting the meshdemo
chart and clicking on DEPLOY
(make sure to set all values to true
to install all components).
We could also have used a simple single cluster deployment for one cluster, but we chose a multi-cluster deployment because we'll be using it again later, when working with multiple clusters.
If you go back to the service mesh list and click the observe
button, you'll be presented with the service mesh control panel. Since our test application hasn't received any traffic, there are no metrics in the system and you won't get any visualization yet. The UI has a test flight
feature that directs traffic to selected endpoints. If you click the HTTP
button in the top right corner of the screen, you'll be able to fill out a form that includes endpoint details, and send some test traffic to your services. In the case of our current example, traffic should hit the frontpage service on port 8080. After a few seconds, a graph of your services will appear. The nodes in the graph will be services or workloads, while the the arrows will represent network connection between different services. These are based on Istio metrics that come from Prometheus.
Extending our service mesh with more clusters – even on multiple cloud providers – only takes a few clicks. Let's create three additional clusters, on three different providers, to make things a bit more fun. We can easily spin up another PKE cluster on Azure, as well as on a GKE cluster.
Go back to the service mesh list, click RESIZE MESH
, then ADD NEW CLUSTER
. Select the previously created clusters as remote, then click ADD
. It's as simple as that. It may take several minutes for the mesh to expand: for every cluster to join and to reach a HEALTHY
state.
Now that we have multiple clusters within the mesh, and we're leveraging Pipeline's Multi-cluster Deployment
feature, we can easily spread our demo microservices to those clusters. This particular helm chart has the option to easily turn components on and off. Because the Multi-cluster Deployment
feature supports setting overrides for each cluster, we just need to edit our deployment and set which components we'd like to run on which cluster. We used the following cluster overrides for the multi-cluster deployment:
PKE on AWS
services: true
istioresources: true
frontpage: true
catalog: true
bookings: true
PKE on Azure
services: true
moviesv1: true
moviesv2: true
moviesv3: true
OKE
services: true
payments: true
notifications: true
GKE
services: true
analytics: true
You can use the UI's test flight
feature, again, to send more traffic to the endpoint we previously selected. After a few seconds, something similar to the graph below should appear. Now our application is spread across four clusters on four different providers. Awesome, right?!
Before wrapping up this post, let's take a look at one last feature: setting up a Horizontal Pod Autoscaler. On the Single-cluster Deployment
page of Pipeline, you can easily configure a HPA for the deployment of your choice (in our case, analytics-v1
). Once you've created the HPA and sent enough traffic to your services to trigger upscaling, you'll start to see an increasing number of pods on the UI, which correspond to the analytics-v1
deployment. You'll also see increased request rates along the edges of the graph, represented both in numbers and in the thickness of the edges.
In Pipeline, you can set up a hybrid or multi-cluster service mesh with Backyards with ease. You can then deploy, monitor, manage and troubleshoot your applications on multiple clusters from one convenient UI. Give it a try for free!
Banzai Cloud’s Backyards (now Cisco Service Mesh Manager) is a multi and hybrid-cloud enabled service mesh platform for constructing modern applications. Built on Kubernetes and our Istio operator, it gives you flexibility, portability, and consistency across on-premise datacenters and cloud environments. Use our simple, yet extremely powerful UI and CLI, and experience automated canary releases, traffic shifting, routing, secure service communication, in-depth observability and more, for yourself.
Banzai Cloud’s Pipeline provides a platform for enterprises to develop, deploy, and scale container-based applications. It leverages best-of-breed cloud components, such as Kubernetes, to create a highly productive, yet flexible environment for developers and operations teams alike. Strong security measures — multiple authentication backends, fine-grained authorization, dynamic secret management, automated secure communications between components using TLS, vulnerability scans, static code analysis, CI/CD, and so on — are default features of the Pipeline platform.
Banzai Cloud is changing how private clouds are built: simplifying the development, deployment, and scaling of complex applications, and putting the power of Kubernetes and Cloud Native technologies in the hands of developers and enterprises, everywhere. #multicloud #hybridcloud #BanzaiCloud
Get emerging insights on innovative technology straight to your inbox.
Discover how AI assistants can revolutionize your business, from automating routine tasks and improving employee productivity to delivering personalized customer experiences and bridging the AI skills gap.
The Shift is Outshift’s exclusive newsletter.
The latest news and updates on generative AI, quantum computing, and other groundbreaking innovations shaping the future of technology.