API Gateway
Study Climatempo
Kong & Traefik
Kong
Kong API Gateway
➔ Easy install
➔ Easy to maintain (Plugins)
➔ Great performance
➔ Flexible
➔ Integration K8s - Ingress
Image from Kong github.
Architectures compatible with Kong
Kong Workflow from KongHQ
Why choose Kong ?
★ Servless
★ Good docs
★ Great performance
★ Native integration with Nginx ( Multiples instances of Kong )
★ Easy integration (k8s - Nginx - PgSQL)
★ Several plugins available
★ Kong DataStore - Default integration ( Cassandra and PGSQL)
★ Horizontal Scalability - (Datastore fail)
★ NEW Ingress with k8s - https://github.com/Kong/kubernetes-ingress-controller
Why NOT choose Kong
➢ Not have a official dashboard
➢ Necessary build own plugin in Lua
➢ DataStore low scalability - needs replicate instance for high
availability
➢ The support to TCP gives some issues registered in Github
➢ Plugins for Redis storage is not official. Cassandra&PGSQL
Traefik
Traefik API Gateway
➔ Very simple!
➔ Ingress with K8S ( More simplest than Kong )
➔ Easy to configure
➔ Painless solution - ( Uses with Envoy/Nginx )
➔ Can be used with another Gateway
➔ It’s more than LoadBalancer!
➔ Not only HTTP!
Traefik example
WEB UI Traefik Official
Workflow Traefik
Only to add presentation amount
Example usage with multi protocol
Why choose Traefik ?
★ Simple and objective
★ Great Web UI
★ Integration with most cloud systems
★ Nginx Plus
★ Full Support TCP!
★ Fast - ( No more than Nginx obviously )
Why NOT choose Traefik ?
➢ If you needs more than Load Balancer, Logs, ACL,
Authorization
➢ The Docs is small
➢ If you needs API Management support
➢ KV Consul is not REDIS
Comparison
Github
Google Trends - Interest Over Time
Traefik vs Nginx
Traefik can serve 28392 requests/sec
Nginx can serve 33591 requests/sec
which gives a ratio of 85%
TL;DR: Traefik is just 15% slower than Nginx
( Young project )
Fonts:
❖ https://blog.getambassador.io/selecting-an-api-gateway-for-continuous-delivery-of-cloud-native-applications-8ba05fa1c74
❖ https://medium.com/@bouwe.ceunen/why-i-switched-kong-for-traefik-b997b9948878
❖ https://stackshare.io/stackups/kong-vs-traefik
❖ https://www.bbva.com/en/api-gateways-kong-vs-tyk/
❖ https://blog.containo.us/back-to-traefik-2-0-2f9aa17be305
❖ https://docs.traefik.io/v1.5/benchmarks/
❖ https://tech.xogrp.com/why-we-chose-kong-2ac399a4b259
❖ https://www.nginx.com/blog/introducing-nginx-api-management-api-gateways-with-nginx-controller/
❖ https://github.com/containous/traefik/issues/3749

API Gateway study