Announced on May 28th, 2020 at DockerCon Live 2020.
Meshery Announces Native Support for Consul Service Mesh
Today, we are pleased to announce the technology partnership of Layer5 and HashiCorp. Layer5’s Meshery, the cloud native management plane, and HashiCorp’s Consul integrate to provide advanced, cloud native infrastructure solutions for containerized and non-containerized workloads - strengths of Consul. The marriage of these technologies forms a layering of network planes: data, control, and management.
Service Mesh Planes: Consul and Meshery. Learn more about service mesh planes in The Enterprise Path to Service Mesh Architectures.
Consul’s broad and prevalent use across any runtime or infrastructure (bare metal servers, virtual machines, Kubernetes clusters, and any cloud) is a key facilitator of the modernization of IT infrastructure - a significant attractant for Layer5 to focus on this integration; to meet customers where they’re at. The lynchpin of the integration of Consul and Meshery is the Meshery Adapter for Consul. Through this adapter, Meshery facilitates lifecycle management of Consul service mesh deployments, evaluates and espouses configuration best practices published by HashiCorp. Meshery provides users with an interface to apply custom configuration to their Consul service mesh in an ad hoc fashion.
Lifecycle management of sample applications
The Meshery Adapter for Consul comes bundled with a handful of sample applications for evaluating, exploring, and learning how to operate Consul service mesh. Many operators are new to the ongoing administrative tasks of running a healthy and optimized Consul service mesh deployment. In advance of their production deployments, operators may utilize Meshery to quickly deploy Consul with sample applications to gain familiarity with the many features of Consul.
Demonstrated at DockerCon 2020, is the “Image Hub”, a sample application built to allow users to explore Consul’s feature set, and specifically, an experimental area of Consul’s data plane: Envoy’s impending support for WebAssembly.
Performance management of Consul and it’s workloads
In order to assess the overall performance of the service mesh, and the overhead of individual, fine-grained traffic control mechanisms defined in Consul’s control plane and enforced through Consul’s intelligent data plane, Meshery provides users with statistical analysis of the responsiveness of their services and performance of the service mesh. As highlighted by Docker Captain, Luc Juggery, performance is an ongoing concern:
- - for each new release of the chosen service mesh
- - for each change of the configuration of your service mesh
- - for each new release of the application"
Meshery’s ability to connect to Prometheus instances to retrieve and account for cluster and application-level metrics is popularly used during Meshery’s service mesh performance tests. Likewise, Meshery’s ability to connect to and import existing dashboards, panels, and charts from Grafana is instrumental in allowing users to retain their existing investment in dashboards and metrics they have curated over time.
Meshery Announces Experimental Support for WebAssembly using Consul
Today, at DockerCon 2020, we demonstrate technology leadership in advanced data plane engineering for near-native performance of fine-grained traffic control facilitated by Meshery and Consul with the use of Envoy and WebAssembly.
In this demonstration, Meshery takes advantage of Consul’s use of Envoy. Envoy support for WebAssembly is impending.
WebAssembly’s near-native performance
WebAssembly, or WASM, is an open standard that defines a binary format for executable programs. Through WebAssembly System Interface (WASI), it also defines interfaces for facilitating interaction with host environments. The initial focus of these host environments was browsers and large web applications with the intention of securely running programs to improve performance. As an open standard, WASM is maintained by the W3C, and has been adopted by all modern browsers. After HTML, CSS, and Javascript, WebAssembly is the fourth language to natively run in web browsers.
WebAssembly is exciting because of its performance characteristics, running between 10% to 20% overhead as compared to natively executed code for network filtering use cases. WebAssembly bears some resemblance to Docker given its high degree of portability. Like the Java Virtual Machine (JVM), WASM’s virtual stack machine is becoming a write once, run anywhere (WORA). WASM executables are precompiled with a healthy variety of languages supporting it as a compilation target - currently about 40 languages.
WASM support is coming to Envoy through the efforts of Google, and Envoy maintainers embedding Google's open source high-performance JavaScript and WebAssembly engine, V8, into Envoy. Through the WebAssembly System Interface, Envoy exposes an Application Binary Interface (ABI) to WASM modules, so that they can operate as Envoy filters. The way WASI works is straight-forward. You write your application in your favourite languages like Rust, C or C++. Then, build and compile them into a WebAssembly binary targeting the host environment. The generated binary requires the WebAssembly runtime to provide the necessary interfaces to system calls for the binary to execute. Conceptually, this is similar to JVM. If you have a JVM installed then you can run any Java-like languages on it. Similarly, with a runtime, you can run the WebAssembly binary.
Learn more
This integration of management, control, and data planes is a powerful combination. See Meshery and Consul in-action at DockerCon 2020. Learn more about Layer5 and HashiCorp’s partnership.
About Consul
For more information about Consul, please visit: https://www.consul.io.
About HashiCorp
For more information about HashiCorp, please visit: https://hashicorp.com
About Meshery
For more information about Meshery, please visit: https://meshery.io
About Layer5
For more information about Layer5, please visit: https://layer5.io