openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rodric Rabbah <rod...@gmail.com>
Subject Re: Pluggable API Gateways
Date Fri, 10 Aug 2018 17:26:46 GMT
Hi Henry

Fundamentally, I agree with you and think what you're proposing is a good
way forward.

Specifically, based on my own experience helping others integrate their own
API gateways, I've found a few issues which I've tried to slowly fix.

1. The openwhisk deployment and route management packages were tied
together. A PR that was finally merged yesterday breaks this dependence, so
that the API gateway and route management package are entirely optional.
(This affects ansible deployments, doesn't necessarily address other ways
of deploying the system).

2. I also posite that the route management package (and all of its
corresponding tests) should be consolidated in the same place that ties
them to the implementation (i.e. the actual API gateway being used).

3. The wsk CLI needs to be refactored to break several hard coded
assumptions (which are not necessary in my assessment) about the underling
route management implementation and what the gateway implementation
supports. Simply put, hard coding of the JSON responses and the parameters
that can be passed to the gateway is wrong and should be generalized.

I believe that the way OpenWhisk provides a level of indirection to
impedance match against many API gateways that are out there is a good
engineering of the system, and that it bootstraps actions to extend the API
is a good design to preserve... so that from the OpenWhisk clients
perspective we're defining a canonical experience.

In short, I'm in favor of the proposal but caution there will be a bit of
grunt work ahead to fully realize this (based on my recent experience).

-r


-r


On Fri, Aug 10, 2018 at 12:35 PM, japhar81 <japhar81@gmail.com> wrote:

> This is a follow-up to a Slack conversation with @dragos.dascalita and
> @csantanapr. As I've been struggling to stand up the API Gateway for
> OpenWhisk, it occurred to me that I would actually prefer to use a
> different GW entirely. In my case, Traefik fits nicely in one spot, and
> Istio integration would be very handy in another.
>
> I'm happy to implement both, but the current state makes it hard to
> contribute. A couple options and opinions came out of our discussion that
> could use more input;
>
>    1. Splitting the routemgt stuff out of incubator-openwhisk either into
>    openwhisk-apigateway or the cli repo. My preference is a dedicated
> repo, as
>    it makes more sense from a new users' POV -- I had a rough time getting
>    things to work and it was unclear in the current structure.
>    2. We can either ship APIGW+routemgt combos for each implementation, or
>    we can potentially make the api commands in wsk a plugin, shipping an
> APIGW
>    + a wsk cli plugin to match.
>
> My personal opinion is this; if the APIGW is optional, the routemgt actions
> must be as well -- one is pointless without the other. They're also tightly
> coupled to the specific implementation. As such, I would suggest that both
> pieces move to their own repo, with a folder for each implementation, as
> well as deployment docs for all things APIGW in the same place.
>
> Thoughts/comments welcome!
>
> Thanks,
> Henry
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message