Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a comprehensive comparison between Tyk vs Kong?

I have been developing microservices (Spring Cloud) for a while (~2 years) and heavily used Netflix Zuul. While it offers a lot of functionalities and great features, my developer mind wandered towards knowing about the alternatives and came to know about Tyk and Kong.

Reading from the individual documentation and blogs, I understood more or less both offer the similar features. I would like to know a comprehensive comparison between the two and any real-world examples where you have implemented will be a great help understand.

like image 809
zeagord Avatar asked Oct 16 '17 11:10

zeagord


People also ask

Is Kong the best API Gateway?

Today, Kong Gateway is by far the most widely used open source API gateway in the world across different metrics. First, Kong today powers the world with approximately 9 trillion requests per month, a number that we derive from the anonymous reports that users can enable (or disable) in their Kong instances.

Is Kong based on Nginx?

The Kong Server, built on top of NGINX, is the server that will actually process the API requests and execute the configured plugins to provide additional functionalities to the underlying APIs before proxying the request upstream. for proxying. This is where Kong listens for HTTP traffic.

Does Kong support GraphQL?

Kong easily integrates with existing GraphQL infrastructure out of the box. By introspecting the GraphQL schema and queries, Kong provides enterprise-grade proxy-caching and rate-limiting specifically tailored for GraphQL.


2 Answers

According to CI/CD both can comply with Infrastructure-as-Code approach, so i do not see difference in terms on Deployment Pipeline practices.

  • tyk API function-set is more compared to Kong, which may make sense if you rely your business on API(need to integrate with some Billing, ...) https://tyk.io/docs/tyk-rest-api/api-definition-objects/

On the other side, the API of Kong has limited functions and terminology IMHO is not understandable: https://galileo.gelato.io/docs/versions/2.0.0/

  • Kong uses Galileo reporting tool for DashBoard/UI, tyk uses its own DashBoard including not only Reporting functions, but also almost all Management Functions if you wanna go with the UI
  • If you need to transform your legacy APIs to external world, tyk has Transform function which can be used to transform XML<->JSON<->YAML<->Custom
  • On tyk you can code extension not only with Lua, but also with Go, Java. Python. .NET, Javascript ...
  • If you have DR needs, tyk has Multi-Datacenter option which is targeted for Enterprise level architecture including a Disaster Site
  • If you need performance tyk is written with Go. (We have benchmarked tyk to respond around 3000 req./sec. where Kong did around 2500 req./sec. on same VM with same APICall patterns)

So based on your needs, if any of your needs matches with one of the above, you can consider tyk, if not you can consider whichever you like more...

like image 165
funkydorian Avatar answered Sep 29 '22 19:09

funkydorian


Go with Tyk. I evaluated both and it was much easier to extend (imho) Tyk (go) due to its Javascript (via otto), Python and Grpc middleware engine, than Kong which is Lua/nginx based.

Both are open source and controllable via APIs, however kong's gui offerings (other oss projects) seemed half-baked and were much harder to setup.

From an enterprise/sass model (paid for options). Tyk blows Kong's offering's off the map. Tyk's architecture seems much more sound imho with a clear separation of concerns for gateways, analytics and dashboard components. Its well put together and the community forums get lightning fast responses from the Tyk devs.

like image 32
bitsofinfo Avatar answered Sep 29 '22 19:09

bitsofinfo