The Ultra Performant API Gateway
Abdullah Fathi
Raia Hotel & Convention Center, Kuching
30 September 2024
Move from dealing with every particular microservice to talking to a single entry point that handles the interaction with all your microservices
Authorization, protection against scrapping, security best practices and abuse prevention implementation out of the box
Stateless design provides true linear scalability. KrakenD does not require node coordinator or data centralization
KrakenD is more than a typical proxy that forwards clients to backend services, but a powerful engine that can transform, aggregate or remove data from your own or third party services
~18,000 requests/second on an ordinary laptop
# | Hardware specs | Requests second | Average response |
---|---|---|---|
1. | Amazon EC2 (c4.2xlarge) | 10126.1613 reqs/s | 9.8ms |
2. | Amazon EC2 (c4.xlarge) | 8465.4012 reqs/s | 11.7ms |
3. | Amazon EC2 (m4.large) | 3634.1247 reqs/s | 27.3ms |
4. | Amazon EC2 (t2.medium) | 2781.8611 reqs/s | 351.3ms |
5. | Amazon EC2 (t2.micro) | 2757.6407 reqs/s | 35.8ms |
6. | MacBook Pro (Aug 2015) 2,2 GHz Intel Core i7 | 18157.4274 reqs/s | 5.5ms |
For each instance type there are 2 different tests:
Proxy: When the KrakenD is just used as a gateway and calls to a single endpoint to the web server
Aggregate: When the KrakenD calls to 3 different endpoints in the web server and aggregates the results
Instance Type | Number of vCPU | Memory |
---|---|---|
t2.micro | 1 | 1 GB |
t2.medium | 2 | 4 GB |
m4.large | 2 | 8 GB |
c4.xlarge | 4 | 7.5 GB |
c4.2xlarge | 8 | 15 GB |
KrakenD vs other products in the market. Requests per second in equal conditions
KrakenD supports more than 70K req/s on commodity software. They're the fastest and more performant solution in the market.
Higher performance results in lower requirements in terms of resources, allowing you to save costs in your infrastructure
The stateless design is a competitive advantage over other solutions. It provides a true linear scalability and no need of node coordination
Every KrakenD node can operate independently without any coordination or centralized persistence of configuration needed
Only need KrakenD binary and a JSON config file to get KrakenD up & running
Rather than "trained" or "sales engineers. you'll receive support and advice from the engineers that coded the software
Able to integrate with standard and proved open-source solutions for every specific task
Integrate with existing solutions in the technical stack, and easily replace them when needed. Compatible to both Community or Enterprise Edition
There are no secrets to success. It is the result of preparation, hard work, and learning from failure. - Colin Powell