Closed ks1990cn closed 1 year ago
Hi Tanmay!
Difficult question, without seeing AWS Gateway repository... Is AWS Gateway open-source? Is it coded in C# ? 😉
Amazon don't show their code!
I seached same question over Google Bard regarding Ocelot vs AWS Gateway API, you can go and is there any thing else want to add you can add, but till this time it gives me satisfactory answer.
Questions :- Can we think for adding monitoring implementation with Ocelot? Do we additional repo to implement this gateway with .Net code and hence we can route and manage like any other API gateways.
It showed me following differences.
AWS API Gateway is a fully managed service, which means that Amazon takes care of all the provisioning, scaling, and maintenance. It is also highly scalable and can handle millions of requests per second. AWS API Gateway supports a wide range of features, including:
Authentication and authorization
Rate limiting
Caching
API versioning
Monitoring and analytics
Ocelot is an open-source API gateway that is built on .NET Core. It is lightweight and easy to use, but it does not offer as many features as AWS API Gateway. Ocelot supports the following features:
Routing
Authentication and authorization
Load balancing
Caching
Circuit breaker
Feature | AWS API Gateway | Ocelot
-- | -- | --
Managed service | Yes | No
Scalability | High | Medium
Features | Authentication, authorization, rate limiting, caching, API versioning, monitoring, analytics | Routing, authentication and authorization, load balancing, caching, circuit breakers
Platform | Cloud-agnostic | .NET Core
Open source | No | Yes
Hi Tanmay, It all depends on what you want to achieve. If you want to be able to use the same gateway on AWS and Azure (or Google), you must not be tied to one of their technologies, and so a gateway like Ocelot is the obvious choice. In our case, that's one of the reasons why we chose Ocelot, the other being the ability to "work" on requests in DelegatingHandlers, and that gives us great flexibility. The last point is that Ocelot is open-source and its code is easy to learn.
I understand complete funda for ocelot. Was just unable to think when to use Ocelot and when to use AWS/ Azure gateway, what is exact use case?
If we host any website and use Ocelot, then also we will be paying cause any RestAPI will be using EC2 or Serverless system.
For open source and modification, its no doubt best option... I will be continue to learn on this and start contribution soon. Thanks
@ks1990cn Dear Tanmay,
We don't care about AWS services! We care about Ocelot only! We don't need any comparison tables because it is incorrect to compare paid service with closed code to an open-source project. They cannot be compared at all! In theory only atomic features can be compared.
Scalability of Ocelot depends on hosting environment. Ocelot can be built as Docker image based on Kestrel web server, and after that Docker image can be instantiated as Docker container in environment with scalability options. For example in custom Kubernetes cluster, including cloud clusters like Azure Kubernetes Service and Amazon EKS.
As I said, Ocelot is open source. We ensure some fairness and honesty when delivering Ocelot features. So, as an open-source product, Ocelot is open for extensions and audit. Can you audit Amazon service? No!
Ocelot is open for security audit. We don't track requests, we don't analyze request bodies to sniff the client's traffic. Ocelot has no integrations to some persistent storages to save statistics. Can you say the same about AWS Gateway?
As a standard ASP.NET app, Ocelot can be deployed into private environments aka on-premises to serve the traffic of private networks of companies with high security standards, who care about data privacy and security. Can you say the same about Amazon Gateway?
As I said, that's wrong to compare closed-source products to open-source products.
@RaynaldM For having fun! FYI! 😉
@ks1990cn
I will be continue to learn on this and start contribution soon.
We welcome your intention to return back to us with some interesting features/issues and PRs! Good luck in learning Ocelot!
@ks1990cn commented on Sep 22
Feature AWS API Gateway Ocelot Managed service Yes No
In what terms we understand "managed" here? Having some nice buttons to press on web-site? That's management, right? As a developer, you can extend, build, and deploy Ocelot as you wish.
Feature AWS API Gateway Ocelot Scalability High Medium
I would say, Ocelot has high scalability also, because of building as Docker image. Scalability has provided by containerization services.
Feature AWS API Gateway Ocelot Features Authentication, authorization, rate limiting, caching, API versioning, monitoring, analytics Routing, authentication and authorization, load balancing, caching, circuit breakers
Every API gateway has its own nice features, and development teams choose what features they need to build a software product.
Feature AWS API Gateway Ocelot Platform Cloud-agnostic .NET Core
To be cloud-agnostic means AWS Gateway can be hosted in Azure and Google clouds... Hmmm... Really? Could you share a link to prove that plz? As .NET app, Ocelot can be deployed to any cloud too!
Feature AWS API Gateway Ocelot Open source No Yes
Totally agree! You can pay for Amazon services. Jeff Bezos needs new one villa more in India 🤣
Thank you Raman for helping with nice and discriptive answers
Hi,
Can anyone explain what is perk of ocelot gateway over AWS gateway, just its free gateway? Is it safe as AWS gateway and much scalable and secure?