News KrakenD CE v2.6 released with OpenTelemetry

Open-source API Gateway

Founded on top of the industry’s best practices.
Linear scalability at the lowest operational cost

Ultra-high performance open source API Gateway

KrakenD is an extensible, ultra-high performance API Gateway that helps you effortlessly adopt microservices and secure communications. KrakenD is easy to operate and run and scales out without a single point of failure.

A single API that exposes many

Reduce the hassle of dealing with every microservice

Move from dealing with every particular microservice to talking to a single backend for frontend that handles the interaction with all your microservices. Configure those services just by editing a simple json file (or using the GUI) and start fetching and sending data to them.

Merge the content of several APIs into single endpoints

KrakenD offers an API that feeds from as many APIs or services you need. Define in every endpoint that you create what is the data you will need and it will be automatically merged for you. You can even control how to merge it. Merge content from public external services and internal microservices. Mix it all!

Get exactly what you want

Expose only the fields you need in your use cases and transform them at will

Put KrakenD in front your services and create endpoints that expose exactly the fields you decide for the different use cases need, using white-listing or black-listing. Remove unwanted or sensitive data, rename fields, encapsulate different API responses into new attributes. Create consistency for the consumer.

No coding. Visual editing of the API

Or edit a JSON file

The use of KrakenD requires no coding because all data transformations, picking, merging, definitions, etc is declared in a single configuration file. All the API gateway behavior can be edited by hand or using the KrakenDesigner, a GUI that allows you visually design your API from scratch or resume an existing one.

Unprecedented throughput

Even with transformations

KrakenD has been built with performance in mind. Expect a massive performance and speed in every running instance. KrakenD takes advantage of the concurrency patterns of the Go language and supports a huge amount of traffic per instance, consuming almost no-memory.

Scale out without single points of failure

Stateless. No databases.

Unlike other solutions, KrakenD's stateless design is the only architecture that can provide true linear scalability. KrakenD does not require node coordination or centralization. In a KrakenD cluster, all nodes are autonomous and can keep running even if all other nodes are shut down.

Better user experience

Optimal client delivery

Reduce the time your users are waiting for their mobile devices to load the page. KrakenD removes the mobile devices and web clients the job to open all the connections, merge the data, pick the desired fields and present the information. Let KrakenD do the plumbing and heavy lifting for you, make your clients use the data in its best interest.

Lowest operation cost

Save money in infrastructure and licenses

KrakenD runs in very small machines and needs no database to operate. With an average of 100MB RAM on heavy-traffic machines, KrakenD is low cost, plus all the API Gateway features are open sourced so you don't need to pay for it.

Run it everywhere

On-prem, Hybrid or Cloud native

KrakenD natively runs in any cloud or private datacenter and is designed to run both in orchestration services like Kubernetes, Mesos, Nomad and more through containers and service discovery or directly installed in bare metal, your choice.

Extensible

With plugins and embedded scripts

You can extend its functionality and your business logic with Go or Lua scripting. In addition you have Google CEL and Martian DSL for even more power. KrakenD comes with a lot of functionalities, but you can still add your own plugins.

Zero-trust policies

Add all security options at a click

Do not trust users request by default, avoid harmful usage of your backends by rate-limiting the access. Enable OAuth, SSL, certificates, and protect yourself from clickjacking, XSS, MIME-Sniffing, HSTS, HPKP and more.

SSL HSTS noClickjacking HPKP nosniff XSS OAuth JWT

And also...

GraphQL

REST to GraphQL conversion, or direct consumption of GraphQL through the gateway. Use GraphQL to define new backend queries and expose them as regular REST endpoints to your clients, federate content.

Async agents

Listens queues and acts as a consumer or a producer on its own, without requiring an end-user request. When KrakenD detects that a new message has entered a queue it can trigger a call to a backend of your choice.

Request/response plugins

Directly modify requests and responses from and to backends with your Go code. For those who need more power beyond the Lua scripting.

Extensible architecture

Designed to be able to add a lot more of functionalities, plug-ins and middlewares without modifying its source code (e.g: injecting headers with a DSL language). But if you want to, hey, it's open source!

Circuit breaker

Efficiently control the number of errors you allow in a time window and respond smartly to problems.

High-load and burst

When settings limits against your backends bursting is controlled to allow certain spikes without affecting the end users.

Service discovery

Service Discovery system based on DNS SRV records. Integrations like Etc available by default.

Unlimited endpoints and backends

KrakenD does not have any limit on the number of parallel queries you can make to different services per call, or number of endpoints you can expose. Limit is your kernel.

Simple configuration

All API endpoints, backend definitions and behavior is controlled from a single file. Easily keep track of the changes in your version control system.

Load balancing

KrakenD load balances efficiently the connections to your backends

Concurrent calls

Optionally multiply x N a unique request to your backends, take the fastest response and discard the rest to reduce even more the global response time.

HTTP Caching

Add http cache headers to avoid extra traffic and make clients load faster.

Multiple encodings

For a single endpoint connect to different sources that use different encoding techniques, either in XML, JSON or RSS and return all you need in JSON

Response composition

Wrap backend responses in new attributes, rename the fields that are presented to the user, work with objects or collections (arrays)

Platform agnostic

KrakenD runs natively on Linux and Mac OS. A Docker image and Virtual machines in AWS and Azure are offered to extend even more its deployment possibilities.

Start using KrakenD today

Free to use. No limitations.

Get KrakenD v2.6.0 »

Commercial support for open source

If you'd like to have commercial support from the KrakenD creators
write us to [email protected] or fill the form below.

 Stay up to date with KrakenD releases and important updates

We use cookies to understand how you use our site and to improve your overall experience. By continuing to use our site, you accept our Privacy Policy. More information