×
Community Blog Evolution and Classification of Application Gateways

Evolution and Classification of Application Gateways

This article describes the evolution of gateways and the new features of gateways in the AI era.

By Geng Leilei (Rufeng)

1. Panorama of Gateway Forms

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.

_1

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.

  1. Monolithic architecture: In the early stage of software engineering, the monolithic architecture was the most common form of gateways. In the monolithic architecture, all functional modules are integrated into an application. The monolithic architecture has the advantages of simple development and deployment. However, as the system features expand and become more complex, it is increasingly difficult to maintain and upgrade the monolithic architecture, and the risk of single points of failure (SPOFs) also increases.
  2. Vertical architecture: The vertical architecture is developed to revolve the O&M issues in the monolithic architecture. In the vertical architecture, business features are divided into different functional modules. Each functional module is independently developed and deployed. The vertical architecture improves efficiency to some extent. However, the functional modules remain interdependent in this architecture. The vertical architecture fails to simplify the expansion of system features and enable collaboration between functional modules.
  3. SOA architecture: The service-oriented architecture (SOA) architecture loosely decouples services to resolve the issue of interdependency between functional modules in the vertical architecture. In the SOA architecture, the system is designed as a set of microservices that collaborate with each other. Each microservice communicates with another by using well-defined interfaces. This method improves the flexibility and scalability of the system. However, it also makes management and O&M of the system more challenging. In this case, a mature microservices architecture is required to resolve this issue.
  4. Microservices architecture: The microservices architecture is developed and refined based on the SOA architecture. In the microservices architecture, an application is split into smaller service units. Each service unit can be independently developed, deployed, and scaled. The microservices architecture emphasizes fault tolerance and automated O&M, making it suitable for large-scale and highly complex systems. The implementation of the microservices architecture must be supported by more advanced testing, monitoring, and management tools.
  5. Cloud-native architecture: The cloud-native architecture further frees developers by allowing them to focus on code logic without the need to pay attention to the underlying infrastructure. In the cloud-native architecture, Kubernetes serves as the unified O&M base, which enables the system to flexibly and automatically expand features and scale resources. The loud-native architecture implements better scalability and higher resource utilization while requires developers to adapt to a new DevOps mode.
  6. AI-native architecture: The AI-native architecture is created as the AI and machine learning technologies advance. This architecture integrates large language models (LLMs) into application systems and provides features such as natural language processing and intelligent recommendation. The AI-native architecture changes the method to interact with traditional applications and provides smarter decision making capabilities. However, this architecture has more requirements for computing resources and data privacy protection.

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.

2. Traffic Gateway

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.

_2

3. ESB Gateway

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.

_3

4. Microservices Gateway

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.

_4

5. Cloud-native Gateway

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.

_5

6. Next-generation AI Gateway

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.

_6

7. API Gateway

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?

_7

8. Higress: AI-native API Gateway

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.

_8

0 1 0
Share on

Alibaba Cloud Native

209 posts | 13 followers

You may also like

Comments

Alibaba Cloud Native

209 posts | 13 followers

Related Products