[HN Gopher] Apache Apisix: Open-Source API Gateway and API Manag...
       ___________________________________________________________________
        
       Apache Apisix: Open-Source API Gateway and API Management Platform
        
       Author : jjzhiyuan
       Score  : 74 points
       Date   : 2022-09-15 16:23 UTC (6 hours ago)
        
 (HTM) web link (apisix.apache.org)
 (TXT) w3m dump (apisix.apache.org)
        
       | pachico wrote:
       | Anybody has any idea about how this compares to Kong (what I've
       | been using for years)?
        
         | s1k3s wrote:
         | I have no experience with any of these but maybe this helps:
         | https://apisix.apache.org/blog/2022/07/30/why-we-need-apache...
        
           | samsk wrote:
           | Nice, thanks for sharing. It seems like an improved Kong,
           | using the good parts of it, like Nginx and Lua. It makes me
           | want to use it instead of the usual Kong, in next project.
        
             | pachico wrote:
             | Lua doesn't make it easy to create your own plugins at all.
             | Kong guys themselves tried to offer a good use experience
             | for this but failed more than once.
        
             | pachico wrote:
             | Also, it's not true that you need a database to run Kong.
             | You can make it run with a declarative config.
        
       | matt-p wrote:
       | What is the main benefit to running a gateway? Auth should
       | already be handled by the api and adding things like rate
       | limiting, ip address filtering ,caching and so on are
       | ridiculously trivial..
        
         | VWWHFSfQ wrote:
         | Most of the time an "API Gateway" provides nothing. Usually
         | this kind of service is just looking at the request path and
         | maybe the Authorization header. In general it's just a useless
         | hop in the TCP connection chain from the client to the server.
        
         | zedpm wrote:
         | While you _can_ tack all of those things on to your API, many
         | people (myself included) prefer to separate those concerns. A
         | dedicated API Gateway can prevent a lot of additional load from
         | hitting the backend services. A gateway can also be a nice
         | abstraction of the public interface from the underlying
         | service(s).
        
       | Proven wrote:
       | I was reluctant to click on the link expecting another Java
       | project, but it seems to be based on Go. Refreshing. Maybe I'll
       | give it a try.
        
         | twsted wrote:
         | Mostly Lua, it seems.
        
       | haolez wrote:
       | For my use case, this would have to be incredibly awesome for it
       | to justify self-hosting such a complex and critical system. My
       | current go-to solutions are AWS API Gateway, Azure API Manager
       | and Apigee.
        
         | pachico wrote:
         | I share your concern about managing solutions. I only know AWS
         | API gateway but I can tell you the features it offers are very
         | limited compare to Foss solutions
        
       | staticassertion wrote:
       | I can't find the code. My biggest problem with Envoy is it's in
       | C++, what's this written in?
        
         | 0x457 wrote:
         | This is based on OpenResty, so it's Nginx (C) + LutJit.
         | However, it supports external plugins (any language) and WASM
         | plugins.
        
           | staticassertion wrote:
           | Bummer, pass.
        
         | yvan wrote:
         | https://github.com/apache/apisix
         | 
         | Looks like mostly Lua because it based on OpenResty
        
       | coolgoose wrote:
       | I had to investigate a bit various options and settled on krakend
       | mostly since it's simple and easy to write custom Middleware.
        
       | splix wrote:
       | What is the advantage of using this compared to plain Nginx or
       | Envoy? Is it just static vs. dynamic config for routing?
        
       | e1g wrote:
       | "envoy" is another popular option and they are building a gateway
       | solution for API/inbound traffic
       | https://github.com/envoyproxy/gateway
        
       | rektide wrote:
       | OT but are any ingress/gateway systems using uring yet?
       | 
       | Really enjoyed reading CloudFlare's justification for wrtiting
       | Pingora gateway recently[1], a similar-ish system. Im interested
       | to see what systems tech (what system calls) it ends up using.
       | 
       | There's a ton of really great ingress/gateway tech out there.
       | Kubernetes has a sublist that's pretty long[2]. There's a good
       | comparison matrix[3] I ran into & it immediately made me very
       | interested in APISIX ( _lots_ of box ticking). I think at one
       | point I 'd also run into a benchmark somewhere & they were quite
       | performant, top tier. Would be interested to know more about
       | tbeir chosen architecture & what if any performance optimizations
       | they have planned/roadmapped/are-thinking-about.
       | 
       | [1] https://blog.cloudflare.com/how-we-built-pingora-the-
       | proxy-t... https://news.ycombinator.com/item?id=32836661
       | (362points, 1d ago, 92comments)
       | 
       | [2] https://kubernetes.io/docs/concepts/services-
       | networking/ingr...
       | 
       | [3] https://kubedex.com/ingress/
        
         | colonelpopcorn wrote:
         | I was trying to find a simple API gateway I could run as a
         | single docker container on a single host. I ended up using a
         | node-red workflow instead, because I was unable to get any of
         | the options available to me working behind Traefik as my proxy.
         | I tried APIMan first, then APISIX, then API Umbrella (used and
         | developed by US government agency, apparently), and finally
         | Kong. I got the closest with Kong, but decided to just give
         | node-red a try and it worked like a charm as a proxy for
         | another API.
        
           | nijave wrote:
           | You can run envoy pretty easily like that but the config can
           | be a bit heavy (imo) unless you really want to read through
           | the docs
           | 
           | Here's an example (top Google result)
           | https://amalaruja.medium.com/basic-http-routing-
           | strategies-w...
        
           | zcmack wrote:
           | doesn't traefik provide much of the functionality you'd want
           | from an api gateway?
        
       ___________________________________________________________________
       (page generated 2022-09-15 23:00 UTC)