Need advice about which tool to choose?Ask the StackShare community!
Kong vs Ocelot: What are the differences?
What is Kong? Open Source Microservice & API Management Layer. Kong is a scalable, open source API Layer (also known as an API Gateway, or API Middleware). Kong controls layer 4 and 7 traffic and is extended through Plugins, which provide extra functionality and services beyond the core platform.
What is Ocelot? A modern fast, scalable API gateway built on ASP.NET core. It is aimed at people using .NET running a micro services / service oriented architecture that need a unified point of entry into their system. However it will work with anything that speaks HTTP and run on any platform that ASP.NET Core supports. It manipulates the HttpRequest object into a state specified by its configuration until it reaches a request builder middleware where it creates a HttpRequestMessage object which is used to make a request to a downstream service.
Kong and Ocelot can be primarily classified as "Microservices" tools.
Some of the features offered by Kong are:
- Logging: Log requests and responses to your system over TCP, UDP or to disk
- OAuth2.0: Add easily an OAuth2.0 authentication to your APIs
- Monitoring: Live monitoring provides key load and performance server metrics
On the other hand, Ocelot provides the following key features:
- Routing
- Request Aggregation
- Service Discovery with Consul & Eureka
Kong and Ocelot are both open source tools. Kong with 23.4K GitHub stars and 2.91K forks on GitHub appears to be more popular than Ocelot with 4.12K GitHub stars and 903 GitHub forks.
Istio based on powerful Envoy whereas Kong based on Nginx. Istio is K8S native as well it's actively developed when k8s was successfully accepted with production-ready apps whereas Kong slowly migrated to start leveraging K8s. Istio has an inbuilt turn-keyIstio based on powerful Envoy whereas Kong based on Nginx. Istio is K8S native as well it's actively developed when k8s was successfully accepted with production-ready apps whereas Kong slowly migrated to start leveraging K8s. Istio has an inbuilt turn key solution with Rancher whereas Kong completely lacks here. Traffic distribution in Istio can be done via canary, a/b, shadowing, HTTP headers, ACL, whitelist whereas in Kong it's limited to canary, ACL, blue-green, proxy caching. Istio has amazing community support which is visible via Github stars or releases when comparing both.
Pros of Kong
- Easy to maintain37
- Easy to install32
- Flexible25
- Great performance20
- Api blueprint5
- Custom Plugins4
- Kubernetes-native3
- Security2
- Agnostic2
- Has a good plugin infrastructure2
- Documentation is clear1
- Very customizable1
- Load balancing1