A Brief Introduction to Consul Service Discovery and Service Mesh
Jul 24, 2020
Watch this short overview of HashiCorp Consul's benefits.
A shared registry
But first, what is Consul? At its core, Consul is a service networking solution that enables organizations to discover and connect applications running across multiple infrastructure environments. Consul maintains a registry which provides an up-to-date list of application endpoints that are deployed in your infrastructure and the health of those applications.
Multi-platform and unified networking solution
Consul is platform agnostic and works across a range of runtime environments, from bare metal to virtual machines and containers.
Consul easily integrates with application scheduling platforms like HashiCorp and Nomad or Kubernetes. Consul could be deployed on-prem or in the public cloud and across geographical environments. These deployments can then be federated together to allow communication of services in those different data center environments.
Zero trust network with Consul service mesh
Consul service mesh is secure by default and provides a zero trust networking environment for applications. Application security is enforced using service identity rather than an IP address, which reduces complexity and simplifies network operations.
Consul supports two modes for securing application communication. The most common model is using a sidecar proxy, which is deployed alongside your application. Communication between applications is routed through the proxy—and the proxy handles discovering available service endpoints and securely connecting to those endpoints using mutual TLS. In addition to providing security, the proxy exposes detailed application-level telemetry metrics for collection by monitoring systems.
In addition to the sidecar deployment model, applications can also integrate natively with Consul Connect API to establish connections with services without the overhead of a proxy sidecar. This type of integration may be beneficial to applications in performance or latency-sensitive environments.
Consul enables organizations to adopt service mesh using existing runtime platforms and cloud environments. As additional environments are adopted, Consul can continue to provide a unified service mesh across those new platforms.