Delivering on the Vision of Multi-Mesh
Service mesh architecture is the community choice for monitoring, controlling and securing the microservices environment. Today, many service mesh offerings are available, providing users with great choices but complicates their adoption. While the service mesh provides users with enormous benefits (traffic control, security, observability), it also increases the complexity of their environment, and could limit their ability to operate in multi-cluster environments.
At the end of 2018 we predicted that the coexistence of multiple service mesh solutions could complicate adoption and operation of service mesh, in particular in a multi-cloud environment. This inspired our vision of a unified API for all service meshes, allowing switching between providers, combining heterogeneous meshes, and facilitating innovation. We envisioned a single pane of glass for monitoring, operating and observing all service meshes. To support this vision, we announced SuperGloo, an open-source project for service mesh orchestration.
Six months later, we joined Microsoft as a launch partner of the Service Mesh Interface (SMI) specification. SMI defined a common standard meant to simplify the end user experience, and to offer service mesh providers with the consistency and interoperability that foster ecosystem innovation.
SuperGloo and SMI received significant attention from the community, confirming our vision for a unified service mesh experience. Over the last few months we’ve received a lot of useful feedback, suggestions and criticism. In particular,
- Users were concerned about the ‘lowest common denominator’ effect, meaning that the only features that can run are those supported by all service meshes.
- Everyone emphasized the importance of supporting the newest version of each mesh, including the new Istio 1.5.
- We heard strong demand for multi-cluster support.
We are listening!
Today we’re excited to announce an open-source Service Mesh Hub, descendant of SuperGloo, a Kubernetes-native management plane that enables configuration and operational management of multiple heterogeneous service meshes across multiple clusters through a unified API.
Here are the highlights of what makes Service Mesh Hub powerful.
- Simple and effective API. Install, extend, and manage any service mesh using a unified API that is dead simple without sacrificing functionality. Inherently complex service mesh configuration concepts (such as network routing, access control, security, etc.) are presented in a coherent representation supported by detailed, exhaustive documentation.
- Multi-mesh and multi-cluster. Configure and manage multiple service mesh deployments across multiple clusters. Treat groups of meshes as a single entity (“virtual mesh”), without having to deal with the underlying network and security configuration complexities.
- Heterogeneous meshes – including support for Istio 1.5. Service Mesh Hub supports industry leading service mesh solutions (Istio 1.5, Linkerd, and more). A common API lets you operate different service meshes, abstracting away their specific details. With a single command, add functionality to all the service meshes that support it, without worrying about the ones that do not.
- Discovery and health checking. Once a cluster is registered with Service Mesh Hub, it will automatically discover all relevant service mesh entities (this includes service meshes and their associated services and workloads). No additional manual work is required—Service Mesh Hub continuously watches your registered clusters and updates internal state accordingly.
- Extensive tooling. Service Mesh Hub is engineered with usability as a primary concern. Managing infrastructure configuration in production scale environments is inherently complex. With this in mind, Service Mesh Hub includes a CLI utility, meshctl, that facilitates understanding the existing state of the system as well as diagnosing configuration issues. Read through the meshctl documentation for more details on CLI functionality.
This initial feature set attempts to provide solutions for what we believe to be the most significant problems currently faced by service mesh users. It is by no means exhaustive and we look forward to working with the open source community during its development.
Watch a demo by Christian here
The Service Mesh Hub is available today on GitHub. We invite you to check it out, provide feedback, and help us build it out. To learn more: