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

Envoy

301
535
+ 1
9
KrakenD

54
153
+ 1
5
Add tool

Envoy vs KrakenD: What are the differences?

Introduction

In this article, we will explore the key differences between Envoy and KrakenD. Both Envoy and KrakenD are popular API gateways that provide various features and functionalities. Understanding their differences can help in making an informed decision while choosing the right tool for your project.

  1. Programming Language and Ecosystem: Envoy is built in C++ and provides a rich ecosystem with a wide range of extensions and plugins, allowing for extensive customization and integration with other systems. KrakenD, on the other hand, is built in Golang, which offers efficiency, simplicity, and concurrency. While it may not have as extensive an ecosystem as Envoy, it still provides a good set of functionality and integrations.

  2. Configuration Approach: Envoy follows a declarative configuration approach, where the entire configuration is specified in a single file or set of files. This allows for easier configuration management, version control, and changes. On the other hand, KrakenD follows an imperative configuration approach, where configurations are defined using code and functions, providing greater flexibility and control over the configuration process.

  3. Load Balancing: Envoy provides various advanced load balancing algorithms such as round-robin, least request, and random among others. It also supports circuit breaking and outlier detection for better resilience and fault tolerance. KrakenD, on the other hand, offers simpler load balancing mechanisms, primarily focusing on round-robin and weighted round-robin algorithms. It does not have built-in support for circuit breaking and outlier detection.

  4. Authentication and Authorization: Envoy offers a range of authentication and authorization mechanisms including JWT validation, OAuth, and custom authentication filters. It also supports fine-grained access control through its access control lists (ACLs). KrakenD, on the other hand, focuses more on simplicity and provides basic authentication and authorization mechanisms like API key-based authentication and whitelisting/blacklisting IPs.

  5. Extensibility and Plugin System: Envoy has a highly extensible architecture with a well-defined plugin system. It allows developers to write custom filters, access logs, and other components to meet specific requirements. KrakenD also supports extensibility but with a more limited set of plugins. While it provides essential functionality through plugins, it may not have the same level of extensibility as Envoy.

  6. Community and Support: Envoy has a large and active community with regular updates, bug fixes, and contributions from various organizations. It is backed by a strong open-source community and is widely adopted by companies around the world. KrakenD, although gaining popularity, may not have the same level of community support and adoption as Envoy.

In summary, Envoy and KrakenD differ in their programming language, configuration approach, load balancing mechanisms, authentication and authorization options, extensibility, and community support. Understanding these differences is crucial in choosing the right API gateway for your project based on your specific requirements and priorities.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Envoy
Pros of KrakenD
  • 9
    GRPC-Web
  • 1
    Best performant
  • 1
    Documentation
  • 1
    Stateless
  • 1
    GitOps oriented
  • 1
    Easiest to install

Sign up to add or upvote prosMake informed product decisions

- No public GitHub repository available -

What is 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.

What is KrakenD?

Its core functionality is to create an API that acts as an aggregator of many microservices into single endpoints, doing the heavy-lifting automatically for you: aggregate, transform, filter, decode, throttle, auth and more.

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

What companies use Envoy?
What companies use KrakenD?
See which teams inside your own company are using Envoy or KrakenD.
Sign up for StackShare EnterpriseLearn More

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

What tools integrate with Envoy?
What tools integrate with KrakenD?

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

Blog Posts

May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
5
3353
What are some alternatives to Envoy and KrakenD?
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.
NGINX
nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.
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.
Trailblazer
Trailblazer is a thin layer on top of Rails. It gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture. In a nutshell: Trailblazer makes you write logicless models that purely act as data objects, don't contain callbacks, nested attributes, validations or domain logic. It removes bulky controllers and strong_parameters by supplying additional layers to hold that code and completely replaces helpers.
HAProxy
HAProxy (High Availability Proxy) is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
See all alternatives