Draft:KrakenD

Open-source API gateway From Wikipedia, the free encyclopedia

KrakenD is an open-source application programming interface (API) gateway. It is written in the Go programming language and is intended for use in distributed and cloud-based applications. KrakenD is used for routing, aggregating, and transforming API requests, as well as for managing incoming traffic in microservices architectures.

  • Comment: In accordance with the Wikimedia Foundation's Terms of Use, I disclose that I have been paid by my employer for my contributions to this article. Clay11Harmon (talk) 21:36, 16 February 2026 (UTC)
DeveloperKrakenD
Initial release2016
Written inGo
Operating systemLinux, macOS, Windows
Quick facts KrakenD, Developer ...
KrakenD
DeveloperKrakenD
Initial release2016
Written inGo
Operating systemLinux, macOS, Windows
PlatformCloud-native, on-premises
TypeAPI gateway
Websitekrakend.io
Repositorygithub.com/krakend/krakend-ce
Close

History

KrakenD was created in 2016 by software engineers Albert Lombarte, Daniel Lopez, and Daniel Ortiz.[1][2][3] The name is derived from the Kraken of Norse mythology and symbolizes the integration of multiple services through a single API endpoint.[3]

KrakenD was initially developed as an open-source project.[4][5][1][2] Its creators identified a shortage of lightweight, high-performance API gateways that could be easily integrated into distributed systems.[6][4][1][2] Early versions of the software were built primarily for internal use.[3]

In 2021, the KrakenD company was officially incorporated,[6][3][7] headquartered in Barcelona, Spain.[1][2][8][9] That same year, a commercial edition of the product was released, and Albert Garcia joined the team.[1] In 2021, the KrakenD open-source framework was moved to the Linux Foundation and renamed the Lura Project.[10][5][11]

In 2025, KrakenD was integrated into the Shop Circle platform while remaining operationally independent.[12][13][14][15]

KrakenD software is used in both cloud-based and on-premises environments and is adopted by organizations such as IBM, National Geographic, Oracle, and units of the United States Navy.[1][5][6]

Architecture

KrakenD has two main versions: Community (open source) and Enterprise (commercial).[1][4]

The gateway is implemented as a stateless system, written in Go, and operates without a centralized configuration database. It aggregates multiple backend services into a single API endpoint and supports horizontal scaling.[16]

KrakenD supports protocols, including HTTP, gRPC, WebSocket, message queues such as RabbitMQ and Kafka, and SOAP through Non-REST integrations. The system supports authentication and access control through OAuth2, OpenID Connect, JWT, and API keys, and can be connected to external tools for logging, monitoring, and request tracing.[16]

Gateway configuration is specified in JSON, YAML, or TOML formats and may be stored in version control repositories. Configuration updates can be applied dynamically, without requiring changes to backend services. Both Open Source and Enterprise editions have an option to extend functionality through Go-based plugins.[4]

Configuration examples

Minimal KrakenD configuration (JSON)[17]

{
  "$schema": "https://www.krakend.io/schema/krakend.json",
  "version": 3,
  "name": "KrakenD - API Gateway",
  "timeout": "3000ms",
  "cache_ttl": "300s",
  "output_encoding": "json",
  "port": 9090,
  "endpoints": [
    {
      "endpoint": "/weather",
      "method": "GET",
      "output_encoding": "string",
      "backend": [
        {
          "url_pattern": "/weather",
          "encoding": "string",
          "sd": "static",
          "method": "GET",
          "host": ["http://service:8080"],
          "disable_host_sanitize": false
        }
      ]
    }
  ]
}

Docker Compose example[17]

version: '3.8'
services:
  krakend:
    image: krakend
    ports:
      - "9090:9090"
    volumes:
      - ./krakend.json:/etc/krakend/krakend.json
  weather:
    image: your-weather-service
    ports:
      - "8080:8080"

Performance and deployment

KrakenD is capable of processing large numbers of simultaneous connections with minimal response delays while keeping resource consumption within predictable limits. Deployment is typically carried out using Docker and Docker Compose.[16][18]

KrakenD is used in backend-for-frontend and microservices architectures and is deployed in containerized environments, including Kubernetes and mixed cloud or on-premises setups.[16]

Supported protocols and integrations

More information Protocol / Service, Community ...
Protocol / ServiceCommunityEnterprise
HTTPYesYes
gRPCNoYes
WebSocketNoYes
RabbitMQ / KafkaYesYes
SOAPYesYes
OAuthYesYes
OpenID ConnectYesYes
JWTYesYes
Close

Lura

After the core library was transferred to the Linux Foundation, the KrakenD open-source framework was renamed Lura Project.[5][11][19][10][20] Lura is a declarative framework for building API gateways that supports service aggregation, request routing, and data transformation.[5][11][20]

The framework uses JSON, YAML, or TOML for configuration and supports extensibility through custom plugins. It is intended for use in microservices and backend-for-frontend architectures to manage communication between client applications and multiple backend services.[11][19][10][20][21]

Further reading

  • Smith, William (11 July 2025). KrakenD API Gateway Essentials: The Complete Guide for Developers and Engineers. HiTeX Press. p. 270. ASIN B0FHHB484Z.

See also

References

Related Articles

Wikiwand AI