The Apache Software Foundation’s newest top-level project, the API gateway APISIX, made a meteoric rise to that status.

Born at China’s ZhiLiu Technology in April 2019, it was open sourced that June and entered the Apache Incubator in October last year.

Originally with only about 20 contributors, after seven months of incubation, there are now close to 100 contributors, including 26 committers, according to Ming Wen, vice president of the project.

In a market rife with API gateway options, why create a new one?

Cloud native architectures bring a whole new level of challenges, as does traffic from websites, mobile and IoT applications, according to Wen.

“We investigated several popular open source API gateway projects and found that none of them can solve these new challenges brought by cloud native and microservices,” he said.

“Some are only suitable for handling enterprise intranet traffic and cannot handle tens of thousands of client requests; some rely on relational databases, which cannot be easily and elastically scaled. This is mainly because the technology is evolving too fast. When the architecture of these API gateways was designed, cloud native and microservices had not yet become popular.

“We have also considered implementing an API gateway based on Envoy, but Envoy is more difficult to get started and develop, and it is not suitable for use in north-south traffic.”

APISIX is designed to handle a large number of requests, and to have a low threshold for secondary development, he said. It’s pronounced “API six”; the original company offers a commercial version, API7.

Wen outlined the design criteria this way:

  • Cloud native, lightweight and easy to containerize
  • Integrate statistics and monitoring components such as PrometheusApache Skywalking and Zipkin.
  • Support proxy protocols such as gRPC, Dubbo, WebSocket, MQTT, and protocol transcoding from HTTP to gRPC to adapt to a wider range of scenarios
  • Take on the role of OpenID Relying Party, connect with the services of Auth0, Okta and other identity authentication providers
  • Support serverless by dynamically executing user functions at runtime, making the edge nodes of the gateway more flexible
  • Support hot loading of plug-ins
  • Not lock in users, support hybrid cloud deployment architecture
  • Finally, the gateway node should be stateless and can be expanded and flexible.

“With these features, the user’s service is only concerned with the business itself, while non-business-implementation related features such as service discovery, authentication, statistics, metrics, etc. can be addressed at the gateway,” Wen said.

“From this point of view, the API gateway can either replace Nginx to handle north-south traffic or fulfill the role of the Istio control plane and Envoy data plane to handle east-west traffic.

#api management #cloud native #microservices #profile

APISIX: An Open Source API Gateway for Microservices
2.40 GEEK