Service Mesh Landscape

Categories
    Service Mesh
  • AspenMesh AspenMesh - a commercial offering built on top of Istio. Closed source.
  • Consul Connect Consul Connect - is a new feature that enables simplified network topologies and management while also strengthening security and maintaining high performance in a distributed system.
  • Rotor Rotor - a fast, lightweight bridge between your service discovery and Envoy’s configuration APIs. Turbine Labs has shutdown.
  • Istio An open platform to connect, monitor, and secure microservices. Governed by Google and IBM.
  • Kong Incrementally deploy Kong proxies to go from an API gateway to a modern mesh with reliability, security, and observability built-in.
  • Linkerd 1.x Linkerd - hosted by the CNCF and built on top of Twitter Finagle. Linkerd includes both a proxying data plane and the Namerd (“namer-dee”) control plane all in one package.
  • Linkerd 2.x (Conduit) Conduit - A Kubernetes-native (only) service mesh announced as a project in December 2017. In contrast to Istio and in learning from Linkerd, Conduit’s design principles revolve around a minimalist architecture and zero config philosophy, optimizing for streamlined setup. Open Source. From Buoyant. Written in Rust and Go.
  • Zuul Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
    Client Library
  • Akka Akka - an open source toolkit for building highly concurrent, distributed, and resilient message-driven applications for Java and Scala.
  • Finagle Finagle - an open source RPC library built on Netty for engineers that want a strongly-typed language and be on the JVM. Finagle is written in Scala.
  • Hystrix Hystrix - an open source latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience. Hystrix is written in Java.
  • Ribbon Ribbon - an open source Inter-Process Communication (remote procedure calls) library with built-in software load balancers. Ribbon is written in Java.
    Service Proxy
  • Contour Contour - a reverse proxy and load balancer deployed as a Kubernetes Ingress Controller.
  • Envoy Envoy - a modern proxy hosted by the CNCF. Many projects have sprung up to leverage Envoy, including Istio.
  • nginMesh nginMesh - launched in September 2017, the nginMesh project deploys Nginx as a sidecar proxy in Istio.
  • SOFAMosn SOFAMosn is a modular observable smart network which can be used in service mesh deployed as a data plane sidecar.
  • Traefik Traefik is a modern HTTP reverse proxy and load balancer that integrates with service discovery systems and container orchestrators.
    Load Balancer
  • Nginx Nginx - is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more.
  • Proxygen Proxygen - is an open source library that not only powers Facebook's load balancer, but is also used by HHVM (github/facebook/hhvm).
Found a discrepancy, missing or out-dated information? Please submit an issue.
Non-Functional
Found a discrepancy, missing or out-dated information? Please submit a comment.
Functional
Service Mesh Auto Proxy Injection TCP + WebSockets HTTP, HTTP/2 gRPC Multi-Cluster Multi-Tenant
AspenMesh
Consul Connect No
Rotor Project shutdown Project shutdown Project shutdown Project shutdown Project shutdown Project shutdown
Istio Yes Yes Yes Yes Experimental Experimental
Kong No Yes Yes No Experimental Kong Enterprise only
Linkerd 1.x Yes Yes
Linkerd 2.x (Conduit) Experimental Yes Yes Yes
Zuul No
Found a discrepancy, missing or out-dated information? Please submit an issue.
Tools
Tool Written in Written for Supported by Description
fortio Golang Istio, general use Istio A load testing library and command line tool and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats.
httpbin Python general use Kenneth Reitz A simple HTTP request & response service.
meshery Golang Istio, Linkerd Istio, Linkerd A service mesh playground to faciliate learning about functionality and performance of different service meshes. Meshery incorporates the collection and display of metrics from applications running in the playground.
lago Scala Finagle, general use Twitter A load generation tool that replays production or synthetic traffic against a given target. Among other things, it differs from other load generation tools in that it attempts to hold constant the transaction rate.
slow_cooker Golang Linkerd, general use Buoyant A load testing tool that produces a predictable load and concurrency level for a long period of time. Provides periodic reports of qps and latency (during testing).
wrk C general use Will Glozer A modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue.
Found a discrepancy, missing or out-dated information? Please submit a comment.

Mailing List

Stay up-to-date on service mesh content...
account_box
mail *
arrow_back