Smart Networking with Consul and Service Meshes
Submitted by Anubhav Mishra (@anubhavm) on Sunday, 18 February 2018
Over the past year, service meshes have gained significant interest. Most service meshes have two components: a control plane and a data plane. Anubhav Mishra explains how Consul provides many features like distributed key-value store and service discovery that make it ideal for acting as a control plane. Consul’s architecture ensures it is highly available, and supports multiple data centers.
Over the past year, service mesh technologies have gained significant interest. The goal of a service mesh is to provide service to service communication along with some higher level features like observability, policy enforcement, retries, backoff and security. Most service meshes have two components: a control plane and a data plane. The control plane is responsible for making decisions about where to send the traffic and to configure the data plane. The data plane provides the ability to forward requests from the applications. Consul provides service discovery, health checking, load balancing, and a globally distributed key-value store. These features make Consul ideal as a control plane for a service mesh.
The architecture of Consul ensures it is highly available, and supports multi-datacenter topologies. One of the primary goals of Consul is providing service discovery that is a critical data source for a control plane in a service mesh. Additionally, applications can use Consul’s key-value store to store retries, timeouts and circuit breaking settings and request them when needed. Consul can provide service discovery and health checking information via an API that configures the data plane.
In this presentation, Anubhav Mishra will describe what it takes to create a service mesh control plane using Consul. Additionally, explore options for a data mesh that include Envoy, Linkerd, NGINX, HAProxy, Traefik and Fabio. This presentation will also have a live demo showing Consul used as a control plane to connect applications across a data center.
Anubhav Mishra is a Developer Advocate at HashiCorp. He previously worked at Hootsuite where he built distributed systems and micro service delivery platform. He loves Open Source software and is constantly finding ways to contribute to projects that excite him. He is really passionate about helping developers and operators do better. He loves DJing, making music and playing football in his free time. He is also a huge Manchester United supporter.