Application Load Balancer (ALB) is a service provided by Alibaba Cloud. 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.

ALB architecture

ALB features

  • Elasticity

    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

    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 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, 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

    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.

  • Flexible billing

    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.

ALB types

Alibaba 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.

Internet-facing and internal-facing ALB instances
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 .

  • EIP

    An IP address that 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.

  • VIP

    VIPs of ALB are used to receive requests. Each VIP is a private IP address that belongs to a virtual private cloud (VPC).

ALB components

ALB consists of the following items:
  • Instance

    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).

  • Listener

    Listeners are the smallest unit of 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

    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 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

    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.