The newly released Application Load Balancer (ALB) service is based on Alibaba Cloud Apsara Network 2.0 and supports up to 1,000,000 QPS.
Application Load Balancer (ALB) Definition
Application Load Balancer (ALB) runs at the application layer and supports protocols such as HTTP, HTTPS, and Quick UDP Internet Connections (QUIC). The ALB service offers high elasticity and can process a large amount of network traffic at Layer 7. ALB supports complex routing. ALB is integrated with other cloud-native services and serves as a gateway to manage inbound traffic on Alibaba Cloud.
Application Load Balancer (ALB) Features
Application Load Balancer (ALB) provides domain names and virtual IP addresses (VIPs) to handle a large number of service requests. Requests are distributed across zones to ensure elasticity. When resources are exhausted in one zone, requests are distributed to other zones that have sufficient resources. You can specify zones based on the distribution of your compute resources.
- Advanced protocols
Application Load Balancer (ALB) supports the QUIC transport protocol. QUIC is an advanced protocol that ensures faster and safer transmission for audio, video, and mobile applications. In addition, ALB also supports Google Remote Procedure Call (gRPC) to facilitate efficient communication among microservices through API operations.
- Content-based routing
Listeners of Application Load Balancer (ALB) distribute requests across backend servers based on forwarding rules. You can specify conditions in forwarding rules to identify requests. For example, you can specify the HTTP header, cookie, and HTTP request method in a forwarding rule. In addition, you can configure advanced settings to specify actions in forwarding rules. For example, you can set actions to redirect, rewrite, or add HTTP headers in a request.
- Security support
To ensure business security, Application Load Balancer (ALB) provides built-in Anti-DDoS services, supports integration with Web Application Firewall (WAF), and supports end-to-end data transfer over HTTPS that is compatible with the Zero-Trust architecture. You can select system-defined TLS security policies or create custom policies. The latest encryption protocols supported by ALB include TLS 1.3 and national standard encryption protocols.
- Cloud-native applications
Application Load Balancer (ALB) provides features such as traffic splitting and traffic mirroring in canary release, and supports cloud-native development such as online traffic simulation. In addition, ALB is integrated with other cloud-native services such as Container Service for Kubernetes (ACK), Serverless App Engine (SAE), and Kubernetes. The service is easy to use and allows you to focus on your business.
Application Load Balancer (ALB) uses elastic IP addresses (EIPs) to process requests that are sent over the Internet. You can purchase EIP bandwidth plans to use EIPs. ALB supports flexible billing methods. You can select a billing method based on capacity unit (CU) or the peak value of data transfer.
Application Load Balancer (ALB) Types
libaba Cloud provides Internet-facing and internal-facing ALB instances. You can specify the type of ALB instances based on your business requirements. Whether EIPs and EIP bandwidth plans are used is based on the specified type.
The preceding figures describe the components of an Internet-facing ALB instance and the components of an internal-facing ALB instance.
- EIP bandwidth plans
EIP bandwidth plans provide bandwidth sharing and transferring for resources that are created in the same region. EIP bandwidth plans support multiple metering methods such as pay-by-bandwidth and enhanced 95th percentile. You can use EIP bandwidth plans to reduce the costs of Internet bandwidth. Internet-facing Application Load Balancer (ALB) instances use EIPs and EIP bandwidth plans that support the pay-by-bandwidth and enhanced 95th percentile metering methods to provide Internet-facing services.
- Domain names
If you have a domain name that can be resolved on the Internet, you can resolve the domain name to an EIP. You can also resolve a readable domain name to Canonical Name (CNAME) on ALB .
An IP address that Application Load Balancer (ALB) uses to provide services over the Internet. You can associate multiple EIPs with an Internet-facing ALB instance. To ensure high availability, you can associate two or more EIPs in different zones with an Internet-facing ALB instance. EIPs are required for only Internet-facing ALB instances. You do not need to associate EIPs with internal-facing ALB instances.
VIPs of Application Load Balancer (ALB) are used to receive requests. Each VIP is a private IP address that belongs to a virtual private cloud (VPC).
Application Load Balancer (ALB) components
Application Load Balancer (ALB) consists of the following items:
Application Load Balancer (ALB) instances provide load balancing services at Layer 7 and can handle a large amount of inbound traffic. The inbound traffic is distributed across multiple backend servers. This increases the throughput and improves the availability of applications. A single ALB instance supports up to one million queries per second (QPS).
Listeners are the smallest unit of Application Load Balancer (ALB). You must specify the protocol and port for each listener to process different requests. For example, you can configure a listener of ALB to distribute HTTP requests on port 80. You must add at least one listener to each ALB instance. Otherwise, the ALB instance cannot process or distribute network traffic. You can add up to 50 listeners to each ALB instance to distribute network traffic for different workloads.
- Forwarding rules
Application Load Balancer (ALB) distributes requests to one or more backend servers specified in server groups based on forwarding rules. ALB provides advanced routing features. In addition to the basic routing features, you can specify conditions such as the cookie, header, and host in a forwarding rule to manage workloads in a flexible way.
- Server groups
Backend servers that are used to receive requests are specified in logical groups, which are referred to as server groups. Each server group contains one or more backend servers. You can specify Elastic Compute Service (ECS) instances as backend servers of Application Load Balancer (ALB) . Server groups of ALB are independent from ALB . You can associate a server group with different ALB instances. You can specify up to 1,000 backend servers in each server group. ALB supports multiple types of backend servers. For example, you can specify ECS instances, Elastic Container Instances (ECIs), and Elastic Network Interfaces (ENIs) as backend servers.
- Health checks
Application Load Balancer (ALB) checks the availability of backend servers by performing health checks. You can perform health checks on ECS instances that are specified as backend servers. ALB checks the health status of backend servers. If a backend server fails a health check, ALB does not forward requests to the backend server until the backend server is declared healthy again. ALB supports multiple health check features. For example, you can specify the protocol, port, and thresholds for health checks. ALB provides health check templates that can be applied to different server groups.
When seeing the letters ALB, many people will think of the classic SLB service. Alibaba Cloud Server Load Balancer (SLB) released nearly ten years ago, providing users in various industries with powerful and stable load balancing capabilities. It distributes large amounts of concurrent traffic, prevents Single Point of Failures (SPOFs), and improves service availability.
Recently, Zhu Shunmin, a researcher with Alibaba Cloud Network Services, released a variety of new network products at the Apsara Conference 2020. One of the products is the Application Load Balancer (ALB.) Positioned at the application layer, ALB provides superior performance. It is secure, reliable, cloud-native, and out-of-the-box. It supports auto scaling, the Quick UDP Internet Connection (QUIC) protocol, content-based advanced routing, built-in Distributed Denial of Service (DDoS) protection, cloud-native applications, flexible billing, and other product capabilities. It meets many diversified application-layer load requirements.
Server Load Balancer (SLB) distributes network traffic across groups of backend servers to improve the service capability and application availability. It provides load balancing services at Layer 4 and functions as a reverse proxy at Layer 7.