By Geng Leilei (Rufeng)
Software architectures evolve to adapt to advanced technologies and varying business requirements. With the development of software architectures, gateways accordingly evolve into different forms in different development stages of software architectures.
The evolution of software architectures is driven by advancements in technologies and varying business requirements. The software architecture evolves from a simple architecture in the early stage into a complex and multi-layer architecture in the current stage. This shift reflects that customers keep pursuing better scalability, more simplified O&M, and higher performance in software systems.
Generally, the software architecture in each stage seeks to address the bottlenecks and limitations of the software architecture in the previous stage. Based on the technological innovation and best practices, software systems can better meet the ever-changing business requirements and technological environments.
As a core component in a network architecture, the traffic gateway manages and optimizes data and traffic to improve the scalability and high availability of business. NGINX is a typical representative of traffic gateways and popular for its efficient performance and flexible configurations. A traffic gateway is designed to balance the traffic loads of multiple business nodes. The traffic gateway evenly distributes requests of customers to different servers based on intelligent scheduling. This prevents SPOFs and ensures the reliability and continuity of services.
The Enterprise Service Bus (ESB) gateway is a core integrated solution for enterprises, which is designed to standardize and simplify the communication and message transmission between services or systems. As a core component in the communication infrastructure, the ESB gateway reduces the dependencies between systems, improves the interoperability and flexibility, and ensures seamless integration of data and services. By following the principles of the SOA architecture, the ESB gateway manages the routing, conversion, and security of messages in a centralized manner and implements fast deployment and efficient operation of services. The ESB gateway supports various protocols and data formats, improves the scalability and maintainability of systems, and helps enterprises maintain competitiveness and drive innovation in an ever-changing business environment.
As a core component of the microservices architecture, the microservices gateway manages the routing policies of microservices, enhances system security, monitors system performance, and simplifies access processes to improve the reliability of systems. The microservices gateway implements features, such as load balancing, throttling, circuit breaking, and identity authentication, and manages and optimizes the interaction between microservices based on a unified access point. This simplifies the communications between clients and microservices and provides additional protection for system security. Spring Cloud Gateway is a widely used microservices gateway that is developed based on the Spring ecosystem. Spring Cloud Gateway can be integrated with Spring Boot projects with ease and is favoured by developers due to its flexibility, efficiency, and scalability.
The cloud-native gateway is an innovative gateway that is created alongside the widespread application of Kubernetes. The internal and external networks of a Kubernetes cluster are isolated. Therefore, a gateway is required to forward external requests to internal services in the Kubernetes cluster. Kubernetes uses Ingress and Gateway APIs to standardize the gateway configurations, and it provides the auto scaling feature to help customers schedule application resources. Based on this, customers have the following new requirements for gateways: Gateways not only have the features of traffic gateways for processing a large number of requests, but also have the features of microservices gateways for service discovery and governance. In addition, the gateways must support the auto scaling capability to schedule application resources, allowing developers to focus on implementing business logic without the need to pay attention to the resource scheduling, O&M, and management of the underlying architecture.
The AI gateway is a core component that is designed for processing traffic to AI applications. The AI gateway supports persistent connections, high bandwidth, and low latency and can be used to manage and optimize data transmission in an efficient manner. AI applications, AI platforms, and LLMs have different requirements for features and performance of AI gateways. To meet such requirements, AI gateways provide various plug-in sets. This way, AI application developers can integrate and create AI applications in a low-code manner. This simplifies application development and improves development efficiency, enabling AI technologies to be widely used in various applications and platforms in an easier way. AI gateway therefore becomes the core driving force behind AI innovation and application.
When you read the preceding sections, you may ask the following questions: Where is the API gateway? Why is not the API gateway mentioned? Before I answer the question, you can ask another questions: What is API? What does an API contains?
The routes configured in the traffic gateway are a type of API. Such APIs do not define a standardized request and response format and are typically referred to as HTTP APIs, such as the HTTP API in Amazon Web Services (AWS) API Gateway. HTTP APIs are the most easy-to-use and most widely used APIs. You may have heard of RESTful APIs, which use JSON to standardize requests and responses, and are commonly applied in microservices gateways. You may be also familiar with WebSocket APIs, gRPC APIs, and Dubbo APIs. Any gateway that supports API access can be considered an API gateway. API gateways are used throughout the evolution of the software architecture. In the current stage, what new features will API gateways have in the AI era?
Higress is developed based on the practical experience accumulated from the core production scenarios of Alibaba Group, such as e-commerce and transactions. Higress follows the Ingress and Gateway API standards, and integrates features of traffic gateways, microservices gateways, and security gateways. In addition, Higress provides service management plug-ins, security plug-ins, and custom plug-ins. It is highly compatible with the Kubernetes and microservices ecosystems, provides capabilities such as service registration and configuration management of Nacos, throttling and circuit breaking and degradation of Sentinel, and supports the hot update capability that enables modified rules to take effect within milliseconds.
Higress provides native extension capabilities for AI-native scenarios to meet the complex requirements of AI applications. It supports features of API management, throttling, and security policy and can be seamlessly integrated with AI models. Higress allows developers to flexibly develop custom features by using plug-ins to improve scalability and support different application scenarios. Based on the high-performance processing capabilities and the intelligent traffic scheduling feature, Higress reduces latency to accelerate responses from AI services. In addition, Higress provides the monitoring and logging features to help developers locate and troubleshoot issues. This way, developers can develop and perform O&M operations on applications in a more efficient and reliable manner.
209 posts | 13 followers
FollowAlibaba Cloud Native Community - September 12, 2023
AlibabaCloud_Network - December 3, 2019
Alibaba Clouder - July 16, 2018
Alibaba Cloud Native Community - December 6, 2022
Alibaba Clouder - July 19, 2018
Alibaba Clouder - October 31, 2019
209 posts | 13 followers
FollowAccelerate and secure the development, deployment, and management of containerized applications cost-effectively.
Learn MoreAPI Gateway provides you with high-performance and high-availability API hosting services to deploy and release your APIs on Alibaba Cloud products.
Learn MoreAlibaba Cloud Container Service for Kubernetes is a fully managed cloud container management service that supports native Kubernetes and integrates with other Alibaba Cloud products.
Learn MoreMSE provides a fully managed registration and configuration center, and gateway and microservices governance capabilities.
Learn MoreMore Posts by Alibaba Cloud Native