Cloud Load Balancing overview (original) (raw)

A load balancer distributes user traffic across multiple instances of your applications. By spreading the load, load balancing reduces the risk that your applications experience performance issues. Google's Cloud Load Balancing is built on reliable, high-performing technologies such as Maglev, Andromeda, Google Front Ends, and Envoy—the same technologies that power Google's own products.

Cloud Load Balancing offers a comprehensive portfolio of application and network load balancers. Use our global proxy load balancers to distribute millions of requests per second among backends in multiple regions with our Google Front End fleet in over 80 distinct locations worldwide—all with a single, anycast IP address. Implement strong jurisdictional control with our regional proxy load balancers, keeping your backends and proxies in a region of your choice without worrying about TLS/SSL offload. Use our passthrough load balancers to quickly route multiple protocols to backends with the high performance of direct server return (DSR).

Cloud Load Balancing overview.

Cloud Load Balancing overview (click to enlarge).

Key features of Cloud Load Balancing

Cloud Load Balancing offers the following load balancer features:

Types of Google Cloud load balancers

Cloud Load Balancing offers two types of load balancers: Application Load Balancers and Network Load Balancers. You'd choose an Application Load Balancer when you need a Layer 7 load balancer for your applications with HTTP(S) traffic. You'd choose a Network Load Balancer when you need a Layer 4 load balancer that supports TLS offloading (with a proxy load balancer) or you need support for IP protocols such as UDP, ESP, and ICMP (with a passthrough load balancer).

The following table provides a high-level overview of the different types of Google Cloud load balancers categorized by the OSI layer on which they operate and whether they are used for external or internal access.

lan Cloud Load Balancing External(Accepts internet traffic) Internal(Accepts internal Google Cloud traffic)
Application Load Balancers HTTPS Layer 7 load balancing global external regional external classic cross-region internal regional internal
Network Load Balancers TCP/SSL/Other Layer 4 load balancing
Proxy Network Load Balancers
global external regional external classic cross-region internal regional internal
Passthrough Network Load Balancers
regional external regional internal

Application Load Balancers

Application Load Balancers are proxy-based Layer 7 load balancers that enable you to run and scale your services behind an anycast IP address. The Application Load Balancer distributes HTTP and HTTPS traffic to backends hosted on a variety of Google Cloud platforms—such as Compute Engine and Google Kubernetes Engine (GKE)—as well as external backends outside Google Cloud.

The following diagram provides a high-level overview of the different types of Application Load Balancers that can be deployed externally or internally depending on whether your application is internet-facing or internal.

Different types of application load balancers

Different types of Application Load Balancers.

External Application Load Balancers are implemented as managed services either on Google Front Ends (GFEs) orEnvoy proxies. Clients can connect to these load balancers from anywhere on the internet. Note the following:

Internal Application Load Balancers are built on the Andromeda network virtualization stack and the open source Envoy proxy. This load balancer provides internal proxy-based load balancing of Layer 7 application data. The load balancer uses an internal IP address that is accessible only to clients in the same VPC network or clients connected to your VPC network. Note the following:

To learn more about Application Load Balancers, see Application Load Balancer overview.

Network Load Balancers

Network Load Balancers are Layer 4 load balancers that can handle TCP, UDP, or other IP protocol traffic. These load balancers are available as either proxy load balancers or passthrough load balancers. You can pick a load balancer depending on the needs of your application and the type of traffic that it needs to handle. Choose a proxy Network Load Balancer if you want to configure a reverse proxy load balancer with support for advanced traffic controls and backends on-premises and in other cloud environments. Choose a passthrough Network Load Balancer if you want to preserve the source IP address of the client packets, you prefer direct server return for responses, or you want to handle a variety of IP protocols such as TCP, UDP, ESP, GRE, ICMP, and ICMPv6 .

Proxy Network Load Balancers

Proxy Network Load Balancers are Layer 4 reverse proxy load balancers that distribute TCP traffic to virtual machine (VM) instances in your Google Cloud VPC network. Traffic is terminated at the load balancing layer and then forwarded to the closest available backend by using TCP.

The following diagram provides a high-level overview of the different types of proxy Network Load Balancers that can be deployed externally or internally depending on whether your application is internet-facing or internal.

Different types of proxy network load balancers

Different types of proxy Network Load Balancers.

External proxy Network Load Balancers are Layer 4 load balancers that distribute traffic that comes from the internet to backends in your Google Cloud VPC network, on-premises, or in other cloud environments. These load balancers are built on either Google Front Ends (GFEs) orEnvoy proxies.

These load balancers can be deployed in the following modes: global, regional, or classic.

Internal proxy Network Load Balancers are Envoy proxy-based regional Layer 4 load balancers that enable you to run and scale your TCP service traffic behind an internal IP address that is accessible only to clients in the same VPC network or clients connected to your VPC network.

These load balancers can be deployed in one of the following modes: regional or cross-region.

To lean more about proxy Network Load Balancers, see proxy Network Load Balancer overview.

Passthrough Network Load Balancers

Passthrough Network Load Balancers are Layer 4 regional, passthrough load balancers. These load balancers distribute traffic among backends in the same region as the load balancer. They are implemented by using Andromeda virtual networking and Google Maglev.

As the name suggests, these load balancers are not proxies. Load-balanced packets are received by backend VMs with the packet's source and destination IP addresses, protocol, and, if the protocol is port-based, the source and destination ports unchanged. Load-balanced connections are terminated at the backends. Responses from the backend VMs go directly to the clients, not back through the load balancer. The industry term for this is direct server return (DSR).

These load balancers, as depicted in the following image, are deployed in two modes, depending on whether the load balancer is internet-facing or internal.

Different types of passthrough network load balancers

Different types of passthrough Network Load Balancers.

To learn more about passthrough Network Load Balancers, see passthrough Network Load Balancer.

Underlying technologies of Google Cloud load balancers

The following table lists the underlying technology upon which each Google Cloud load balancer is built.

Load balancer Technology
Global external Application Load Balancer Envoy-based Google Front-End (GFE)
Classic Application Load Balancer GFE
Regional external Application Load Balancer Envoy
Cross-region internal Application Load Balancer Envoy
Regional internal Application Load Balancer Envoy
Global external proxy Network Load Balancer Envoy-based GFE
Classic proxy Network Load Balancer GFE
Regional external proxy Network Load Balancer Envoy
Regional internal proxy Network Load Balancer Envoy
Cross-region internal proxy Network Load Balancer Envoy
Regional external passthrough Network Load Balancer Maglev
Internal passthrough Network Load Balancer Andromeda

Choose a load balancer

To determine which Cloud Load Balancing product to use, you must first determine what traffic type your load balancers must handle. As a general rule, you'd choose an Application Load Balancer when you need a flexible feature set for your applications with HTTP(S) traffic. And you'd choose a Network Load Balancer when you need TLS offloading at scale or support for UDP, or if you need to expose client IP addresses to your applications.

You can further narrow down your choices depending on your application's requirements: whether your application is external (internet-facing) or internal, whether you need backends deployed globally or regionally, and whether you need Premium or Standard Network Service Tier.

The following diagram shows all of the available deployment modes for Cloud Load Balancing. For more details, see the Choose a load balancer guide.

Choose a load balancer.

Choose a load balancer (click to enlarge).

1. Global external Application Load Balancers support two modes of operation: global and classic.

2. Global external proxy Network Load Balancers support two modes of operation: global and classic.

3. Passthrough Network Load Balancers preserve client source IP addresses. Passthrough Network Load Balancers also support additional protocols like UDP, ESP, and ICMP.

Summary of types of Google Cloud load balancers

The following table provides details, such as the network service tier on which each load balancer operates, along with its load balancing scheme.

Load balancer Deployment mode Traffic type Network service tier Load-balancing scheme1
Application Load Balancers Global external HTTP or HTTPS Premium Tier EXTERNAL_MANAGED
Regional external HTTP or HTTPS Premium or Standard Tier EXTERNAL_MANAGED
Classic HTTP or HTTPS Global in Premium Tier Regional in Standard Tier EXTERNAL2
Regional internal3 HTTP or HTTPS Premium Tier INTERNAL_MANAGED
Cross-region internal HTTP or HTTPS Premium Tier INTERNAL_MANAGED
Proxy Network Load Balancers Global external TCP with optional SSL offload Premium Tier EXTERNAL_MANAGED
Regional external TCP Premium or Standard Tier EXTERNAL_MANAGED
Classic TCP with optional SSL offload Global in Premium Tier Regional in Standard Tier EXTERNAL
Regional internal3 TCP without SSL offload Premium Tier INTERNAL_MANAGED
Cross-region internal TCP without SSL offload Premium Tier INTERNAL_MANAGED
Passthrough Network Load Balancers External Always regional TCP, UDP, ESP, GRE, ICMP, and ICMPv6 Premium or Standard Tier EXTERNAL
Internal3 Always regional TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH, and GRE Premium Tier INTERNAL

1 The load-balancing scheme is an attribute on the forwarding rule and the backend service of a load balancer and indicates whether the load balancer can be used for internal or external traffic.

The term managed in EXTERNAL_MANAGEDor INTERNAL_MANAGED indicates that the load balancer is implemented as a managed service either on a Google Front End (GFE) or on the open source Envoy proxy. In a load-balancing scheme that is managed, requests are routed either to the GFE or to the Envoy proxy.

3 By default, regional internal load balancers only allow traffic from clients in the same region as the load balancer. However, you can allow traffic from clients in other regions by enabling global access on the forwarding rule.

Interfaces

You can configure and update your load balancers by using the following interfaces:

gcloud compute http-health-checks create --help  

What's next