This topic compares Cloud-native API Gateway with a self-built gateway in cost, stability, security, ease of use, and scalability.
Item | Cloud-native API Gateway | Self-built ingress-nginx | Self-built Spring Cloud Gateway | Self-built Higress | |
Cost | Resource cost | Resources are fully managed and O&M-free. You do not need to provide CPU and memory resources. This helps reduce resource costs. | Resource O&M is required. You must provide CPU and memory resources. Resource costs are high. | Resource O&M is required. You must provide CPU and memory resources. Resource costs are high. | Resource O&M is required. You must provide CPU and memory resources. Resource costs are high. |
System development cost |
|
|
| You must purchase resources that are required to develop a platform, and invest efforts in upgrading and maintaining the platform. The cost of manual O&M is high. | |
Stability | High availability | Gateway nodes are deployed across multiple zones and node failures are automatically detected and fixed. An SLA of up to 99.99% is provided. | You must develop a high-availability system on your own that may deliver a low SLA. | You must develop a high-availability system on your own that may deliver a low SLA. | You must develop a high-availability system on your own that may deliver a low SLA. |
Performance |
| Manual performance tuning is required. | Manual performance tuning is required. | Manual performance tuning is required. | |
Monitoring and alerting | Deeply integrated with CloudMonitor, Simple Log Service, and Tracing Analysis to provide a wide range of dashboards and service-level monitoring features. Supports custom alert rules and alert channels such as DingTalk, phone calls, and text messages to facilitate troubleshooting. | You must develop a monitoring and alerting system on your own. | You must develop a monitoring and alerting system on your own. | You must develop a monitoring and alerting system on your own. | |
Security | Web application firewall | A built-in web application firewall is provided to decrease the request processing duration and response time. Route-level protection is used instead of instance-level protection. | A separate web application firewall is used and security protection is time-consuming. | A separate web application firewall is used and security protection is time-consuming. | A separate web application firewall is used and security protection is time-consuming. |
Authentication | Multiple authentication methods such as JSON Web Token (JWT) and OAuth are used. Route-level blacklists and whitelists are provided. Security plug-ins are supported. | You must configure complex security and authorization settings on your own. | You must configure complex security and authorization settings on your own. | You must configure complex security and authorization settings on your own. | |
Ease of use | Full-lifecycle API management | Provides full-lifecycle management capabilities, including API design, development, testing, publishing, and unpublishing. | You must develop these capabilities on your own. | You must develop these capabilities on your own. | You must develop these capabilities on your own. |
Routing |
|
|
|
| |
Throttling and degradation | By default, Cloud-native API Gateway is integrated with Sentinel to provide route-level fine-grained throttling and degradation policies. You can implement throttling and degradation without the need to modify business code. | Route-level throttling policies are not supported. | Supported. | Supported. | |
Service discovery | Supports a rich variety of service discovery methods, such as Kubernetes, Nacos, ZooKeeper, DNS, fixed IP address, and Alibaba Cloud Serverless App Engine (SAE). | Kubernetes clusters can be used for service discovery. | Nacos instances and ZooKeeper instances can be used for service discovery. | Supports Kubernetes, Nacos, ZooKeeper, DNS, and fixed IP address. | |
Scalability | Plug-in marketplace | WebAssembly plug-ins are supported. You can use Lua scripts that are written in non-Java programming languages to perform rolling updates of plug-ins. The updates take effect in milliseconds. | Lua scripts are supported. Process reloading is required for plug-in updates. | Java filter extension is supported. | WebAssembly plug-ins are supported. You can use Lua scripts that are written in non-Java programming languages to perform rolling updates of plug-ins. The updates take effect in milliseconds. |