Need advice about which tool to choose?Ask the StackShare community!

Kuma

16
95
+ 1
0
linkerd

129
312
+ 1
7
Add tool

Kuma vs linkerd: What are the differences?

Key Differences between Kuma and Linkerd

Kuma and Linkerd are two popular service meshes that provide various features and functionalities for managing and securing microservices-based applications. Although they have similar objectives, there are several key differences between the two:

  1. Architecture and Language Support: Kuma is built on top of Envoy, a high-performance L7 proxy, and supports multiple data planes, including Envoy and Nginx. On the other hand, Linkerd primarily uses its own custom-built data plane proxy, namely linkerd2-proxy. This architectural difference allows Kuma to have broader support for various data plane proxies and programming languages.

  2. Traffic Routing and Load Balancing: Kuma focuses on providing advanced multi-zone deployments with mesh federation capabilities. It offers built-in support for routing and load balancing across clusters in a seamless manner. In contrast, Linkerd places more emphasis on simplicity and ease of use, providing basic routing and load balancing capabilities without extensive multi-cluster support.

  3. UI and Observability: Kuma provides a rich graphical user interface (GUI) that offers real-time visibility into traffic flow, metrics, and configurations. This out-of-the-box observability feature makes it easier to monitor and troubleshoot microservices. In contrast, Linkerd offers observability through Grafana dashboards and Prometheus metrics, which require additional setup and configuration.

  4. Service Discovery: Kuma leverages a built-in service discovery system, allowing services to automatically discover and communicate with each other within the mesh. It also supports external service discovery solutions, such as HashiCorp Consul. Linkerd, on the other hand, relies on Kubernetes' built-in service discovery mechanisms, like DNS-based service discovery.

  5. Traffic Encryption and Security: Kuma provides automatic mTLS (mutual Transport Layer Security) encryption between services, ensuring secure communication within the mesh. It also supports transparent encryption of external services. Linkerd also supports mTLS, but it requires manual configuration and lacks native support for external service encryption.

  6. Community and Adoption: Kuma is part of the CNCF (Cloud Native Computing Foundation) and benefits from its vibrant open-source community. Linkerd, although also open-source, has been around for a longer time and has gained considerable traction, making it more widely adopted and mature in terms of community support and available resources.

In Summary, Kuma and Linkerd differ in terms of their architecture, traffic routing capabilities, observability features, service discovery approaches, security options, and community adoption.

Advice on Kuma and linkerd
Mohammed Shurrab
Needs advice
on
AWS App MeshAWS App Mesh
and
KumaKuma

One of our applications is currently migrating to AWS, and we need to make a decision between using AWS API Gateway with AWS App Mesh, or Kong API Gateway with Kuma.

Some people advise us to benefit from AWS managed services, while others raise the vendor lock issue. So, I need your advice on that, and if there is any other important factor rather than vendor locking that I must take into consideration.

See more
Replies (2)
Recommends
on
KumaKuma

The benefit of using Kuma + Kong Gateway are:

  • Feature-set: Kong + Kuma provide an end-to-end solution for both APIM and Service Mesh with a feature-set, and a performance, that is not matched by AWS services. In addition to this you can extend Kong Gateway with 70+ plugins out of the box and choose between 500+ plugins from the community to cover every use-case. In comparison, the feature-set of AWS API Gateway is quite limited and basic.
  • Performance: Especially in the case of Kong Gateway, performance has always been a top priority for the project (more performance deliver more reliable applications). In some benchmarks the latency added by AWS API Gateway can be 200x more than what you would achieve with Kong Gateway natively which has been hand-crafted for maximum throughput.
  • Cost: While cloud vendors like AWS make it very easy to get up and running with their services at a lower initial cost, that cost ramps up very quickly (exponentially) as the number of requests are increasing. With Kong GW you don't have this problem, since you can run tens of thousands of concurrent requests on a small EC2 instance (or Kubernetes Ingress, via the native K8s ingress controller for Kong Gateway).
  • Portability: You can replicate your infrastructure on any other cloud, or on your development machines with ease. Want to run your gateway + mesh on your local Kubernetes cluster? You can do that. Want to run your infrastructure on another cloud provider? You can do that. Strategically you have full ownership of your infrastructure and its future. When it comes to Kuma, you can also run a Mesh on VM-based workloads in addition to Kubernetes (Kuma is universal).
  • And much more.

Disclaimer: I am the CTO of Kong.

See more
Amarnath RC
Program Architect at Mindtree · | 2 upvotes · 36.4K views
Recommends
on
AWS App MeshAWS App Mesh

AWS App Mesh is useful when your micro services are deployed across Ec2 , EKS or ECS. Assume you are in process of migrating microservices from ec2 instances to ecs, its easy to switch using Virtual router configuration. As App Mesh is managed service and easy to bring up ,its worth giving it a try for your use case before choosing Kuma or any other tool.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Kuma
Pros of linkerd
    Be the first to leave a pro
    • 3
      CNCF Project
    • 1
      Service Mesh
    • 1
      Fast Integration
    • 1
      Pre-check permissions
    • 1
      Light Weight

    Sign up to add or upvote prosMake informed product decisions

    - No public GitHub repository available -

    What is Kuma?

    It is a universal open source control-plane for Service Mesh and Microservices that can run and be operated natively across both Kubernetes and VM environments, in order to be easily adopted by every team in the organization.

    What is linkerd?

    linkerd is an out-of-process network stack for microservices. It functions as a transparent RPC proxy, handling everything needed to make inter-service RPC safe and sane--including load-balancing, service discovery, instrumentation, and routing.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Kuma?
    What companies use linkerd?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Kuma?
    What tools integrate with linkerd?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to Kuma and linkerd?
    Panda
    Panda is a cloud-based platform that provides video and audio encoding infrastructure. It features lightning fast encoding, and broad support for a huge number of video and audio codecs. You can upload to Panda either from your own web application using our REST API, or by utilizing our easy to use web interface.<br>
    Istio
    Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.
    Envoy
    Originally built at Lyft, Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures.
    Kong
    Kong is a scalable, open source API Layer (also known as an API Gateway, or API Middleware). Kong controls layer 4 and 7 traffic and is extended through Plugins, which provide extra functionality and services beyond the core platform.
    JavaScript
    JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
    See all alternatives