-
Notifications
You must be signed in to change notification settings - Fork 588
Clarify different between API Gateway and Gateway API #2191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify different between API Gateway and Gateway API #2191
Conversation
Welcome @david-martin! |
Hi @david-martin. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
699414a
to
aa38d66
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@david-martin Thanks for your PR, I leave some my thoughts for your reference.
site-src/index.md
Outdated
|
||
Gateway API is an interface, or set of resources, that model service networking | ||
in Kubernetes. One of the main resources is a `Gateway`. If you implement | ||
Gateway API, you are a Gateway provider. A `Gateway` resource declares the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's a little bit confusing to say "If you implement Gateway API, you are a Gateway provider", how about "As a Gateway Provider, you can implement the Gateway API to model Kubernetes service networking in an expressive, extensible, and role-oriented way." ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.
All great suggestions, which have now been incorporated
/ok-to-test |
bf08257
to
dcaf850
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another nit, otherwise lgtm.
@robscott Could you please give your words on this? |
dcaf850
to
bb17242
Compare
site-src/index.md
Outdated
The concept of a Gateway is a networking component that allows data to transfer from one | ||
network to another network. | ||
|
||
An API Gateway is a Gateway implementation that deals more specifically with backend services |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
imo this doesnt quite feel right.
I asked ChatGPT what an API Gateway was and here is its answer
a suggestion would be to consider reframing this as API Gateway is a Gateway implementation that deals with Request Routing, Security and many more things like Caching, Monitoring, Transformations where as Gateway API is an interface focused on defining standards for networking and security settings associated with Ingress and the Mesh
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see what you're getting at, focusing on the features.
My intention here was to distinguish between a gateway (abstract networking thing) and an API gateway (networking thing that exposes backend services via APIs).
My preference was for less detail, and let the reader do their own research on what are the detailed features an API Gateway might provide are.
If you'd like to suggest any changes though via the github suggestion feature, that would allow others to chime in more easily too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @david-martin! This has been such a common question, I'm glad you're taking the time to answer it in our docs.
cff4796
to
f2278eb
Compare
Pushed up changes with latest round of feedback. The question Removed duplicate wording, reordered the answer paragraphs to main question & wrapped at 80 characters. edit fixed up some formatting issues on the faq page as well |
c6ee580
to
ac44575
Compare
site-src/faq.md
Outdated
Gateway type (or class) to instantiate and its configuration. As a Gateway | ||
Provider, you can implement the Gateway API to model Kubernetes service | ||
networking in an expressive, extensible, and role-oriented way. | ||
Most Gateway API implementations are API Gateways to some extent, but not all |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most Gateway API implementations are API Gateways to some extent, but not all | |
Most Gateway API implementations are subsets of API Gateways, but not all |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually personally prefer "to some extent" here as it leaves more flexibility and allows for full API Gateways to also implement Gateway API. I think it's possible that fully featured API Gateways would implement Gateway API + provide configuration through other means to provide full API Gateway functionality.
Thanks @david-martin! Will leave final LGTM for someone else. /approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: david-martin, robscott The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
site-src/faq.md
Outdated
capabilities of a backend service, while providing extra capabilities for | ||
traffic routing and manipulation, such as load balancing, request and response | ||
transformation, and sometimes more advanced features like authentication and | ||
authorization, rate limiting, and circuit breaking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tiny nit: One extra newline here will ensure these paragraphs are separated in the rendered text, which will make this easier to read.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Basically LGTM, just one small formatting nit and then I'll do the honours.
Thanks for this @david-martin, this is great work.
7e13e47
to
8296590
Compare
@youngnick Good to go here |
/lgtm |
What type of PR is this?
/kind documentation
What this PR does / why we need it:
Clarify potential terminology confusion around Gateway API & API Gateway
Which issue(s) this PR fixes:
Fixes #1157
Does this PR introduce a user-facing change?:
Yes.