1
9 Comments

What API Gateway do you use for your cluster and why?

I´m currently looking for a easy to use API Gateway with JWT authentication that is easy to use and has a low memory footprint.

Which one do you use and why can you recommend it?

on January 23, 2020
  1. 2

    Do you mean a cloud service or a framework ?

    1. 1

      I´m talking about something like Kong that can run as an ingress controller

      1. 1

        You'd be best to separate the ingress controller from the api gateway. You don't want panics on upgrading a behemot monolith service and take your hole infrastructure down.

      2. 1

        ahhh .. im primarily on AWS and not really sure about source options on the same . NGINX ingress looks good.

        1. 1

          NGINX ingress has no auth as far as I know. You´d still need some external service to handle that

  2. 1

    Express Gateway if you want to handle yourself and get hands really dirty.
    Most of the others try to do way to much then an API Gateway must be responsible for, which for easier maintenance are idially separate services.

    I started with it my project and as I progressed allowed me to search and bring better other components in place that I fully trust they do their thing better.

  3. 1

    For JWT auth, you probably don't need a hosted API Gateway service.

    Depending on the language you're coding in, there should be a library that can both encode and decode JWT tokens.

    You could then choose to store the JWT token in a cookie (web only) or pass it manually using the Authorization header. The latter would work for web or mobile apps.

    1. 1

      I´m on Digital Ocean and they don´t provide any hosted API gateway, which is why I wanted to deploy my own inside my cluster. I don´t want to do auth on all of my services

      1. 2

        Ah sounds like you're running a microservice architecture. In that case, the options are:

        • Ambassador: Open source though they offer a paid "enterprise" version with a few more bells and whistles. Kubernetes native, build on Envoy. I would suggest this as the best option for your use case.
        • Kong: Can be used as a north-south API gateway though better suited for east-west traffic. They do have a Kubernetes ingress template, seems straight forward.
        • Tyk: Offer open source and cloud hosted version. Also have links Kubernetes ingress templates. I've heard good things about Tyk but haven't used it.

        Disclaimer: My current project, Lightfront, is a somewhat related competitor to all of these. Though my product focuses on authentication via API keys rather than JWT.