Replies: 5 comments 29 replies
-
Personally, I don't think the adoption friction is the Gateway API itself but rather the market forces of:
#3384 covers 2) so I'll focus on 1). If I were a betting man, I'd wager that the vast majority of the Ingress API (today and historically) comes from ingress-nginx and not by a narrow margin. In fact, right before Gateway API took off, the ecosystem was coalescing around controller-specific CRDs because of Ingress's limitations. Therefore, my conclusion is that Ingress's adoption has nothing to do with UX but rather the absence of needing to choose an implementation. To be blunt: I suspect that Gateway API's adoption will always be somewhat capped because ingress-nginx (not the Ingress API) provides a Kubernetes org-blessed option that no one will get fired for picking. Apologies for the tangent, but TLDR - if the end goal is to increase Gateway API adoption, then this discussion is asking the wrong question IMO |
Beta Was this translation helpful? Give feedback.
-
I don't think this would have a direct impact on most end-user adoption by proprietary app developers or platform teams (for whom the persona model can be an improvement over a tightly-controlled monolithic ingress - I have not heard distributed app-specific bundled Ingress as a common pattern for these larger organizations). I do think this could be beneficial for open source project owners responsible for bundling and publishing their projects with supplemental resources such as Helm charts who would prefer to minimize additional friction in an onboarding/quick-start setup. |
Beta Was this translation helpful? Give feedback.
-
Since one of the main Gateway API differentiators from Ingress is the isolation of concerns between the involved personas, the concept of making the app developer completely unaware of the underlying infrastructure resonates a lot with me. This is what we state in the description of Ana, the app developer, in our documentation:
Since from Ana's point of view Gateway API is pure friction, I do totally agree that we should do as much as we can to reduce that friction as much as possible, and removing the NEED to set Gateway references from the routes, looks a good step forward to me. |
Beta Was this translation helpful? Give feedback.
-
It's nice to see this discussion happening and getting engagement. Overall I think @mlavacca is on to something promising: his proposal seems to do a nice job of using the existing machinery and preserving existing semantics, while also giving Ana a helpful default that lets her focus on her business needs rather than forcing her to think about infrastructure. That said, @youngnick has done his usual (depressingly 🙂) good job of pointing out pitfalls. True to form, I shall try to tease these apart by talking about, you guessed it, use cases! 😂
|
Beta Was this translation helpful? Give feedback.
-
Also, to @youngnick's point about conflict resolution -- the conflict resolution semantics are a huge help, definitely! In practice, you can still do some pretty nasty stompage by applying a route that's more specific, rather than identical. The updated Gateway API workshop for Salt Lake actually shows this: we have a canary GRPCRoute with no To be clear, I think of this as a feature: it makes a lot of things much simpler than they'd otherwise be! It's probably also an area where having something to show the routing table could be a great addition. |
Beta Was this translation helpful? Give feedback.
-
In the post-1.2 world we've been thinking a lot about Gateway API User Experience (UX) and how we can improve that specifically for developers.
As a developer with Ingress you would package your
Deployment
which let people know how it was run on Kubernetes, and then packaged yourIngress
to describe how it does traffic. This way does not require developers to think much about the infrastructure (e.g. theGateway
). The parentRef relationship with Gateways inHTTPRoute
is more complicated.The question here is: whether we could significantly improve user experience if we had some mechanism in place such that the developers who publish
*Routes
with their applications did not have to bother with parentRefs.How that ends up looking doesn't concern me nearly as much as whether other people feel similarly. Please let us know: does this resonate with you? Do you think having the "simple ingress experience" more clearly paralleled in Gateway API would significantly increase adoption?
Beta Was this translation helpful? Give feedback.
All reactions