Load Balancing

1. Cloud Load Balancing *

Overview
  • Cloud Load Balancing has the ability to distribute load-balanced compute resources in single or multiple regions, meet high availability requirements, put resources behind a single anycast IP, and scale resources up or down with intelligent autoscaling. 
  • Cloud Load Balancing is integrated with Cloud CDN for cached content delivery.
  • By using Cloud Load Balancing, users can serve content as close as possible to users on a system that can respond to over one million queries per second. 
  • Cloud Load Balancing is a fully distributed, software-defined managed service. 
  • It is not instance-based or device-based, so users do not need to manage a physical load balancing infrastructure.
Global versus regional load balancing
  • Use global load balancing when backends are distributed across multiple regions, users need access to the same applications and content, and to provide access by using a single anycast IP address. 
  • Global load balancing can also provide IPv6 termination.
  • Use regional load balancing when backends are in one region, and only IPv4 termination is required.
External versus internal load balancing
  • External load balancers distribute traffic coming from the internet to Google Cloud Virtual Private Cloud (VPC) network. 
  • Global load balancing requires the use of Premium Tier of Network Service Tiers
  • For regional load balancing, use Standard Tier.
  • Internal load balancers distribute traffic to instances inside of Google Cloud.
Traffic type
  • HTTP and HTTPS traffic can be handled by external HTTP(S) Load Balancing or Internal HTTP(S) Load Balancing.
  • TCP traffic can be handled by TCP Proxy Load Balancing, Network Load Balancing, or Internal TCP/UDP Load Balancing.
  • UDP traffic can be handled by Network Load Balancing or Internal TCP/UDP Load Balancing.
Underlying technology
  • Google Front Ends (GFEs) are software-defined, distributed systems that are located in Google points of presence (PoPs) and perform global load balancing in conjunction with other systems and control planes.
  • Andromeda is Google Cloud's software-defined network virtualization stack.
  • Maglev is a distributed system for Network Load Balancing.
  • Envoy proxy is an open source edge and service proxy, designed for cloud-native applications.
Internal HTTP(S) Load Balancing
  • Internal HTTP(S) Load Balancing is built on the Andromeda network virtualization stack and is a managed service based on the open source Envoy proxy. 
  • This load balancer provides proxy-based load balancing of Layer 7 application data. 
  • Users specify how traffic is routed with URL maps. 
  • The load balancer uses a private IP address that acts as the frontend to backend instances.
External HTTP(S) Load Balancing
  • HTTP(S) Load Balancing is implemented on GFEs. 
  • GFEs are distributed globally and operate together using Google's global network and control plane. 
  • In Premium Tier, GFEs offer cross-regional load balancing, directing traffic to the closest healthy backend that has capacity and terminating HTTP(S) traffic as close as possible to users.
Internal TCP/UDP Load Balancing
  • Internal TCP/UDP Load Balancing is built on the Andromeda network virtualization stack. 
  • Internal TCP/UDP Load Balancing enables users to load balance TCP/UDP traffic behind a private load balancing IP address that is accessible to internal virtual machine (VM) instances. 
  • By using Internal TCP/UDP Load Balancing, an internal load balancing IP address is configured to act as the frontend to private backend instances. 
  • Only internal IP addresses are used for load balanced service. 
  • Internal TCP/UDP Load Balancing supports regional managed instance groups for auto scaling across a region, protecting services from zonal failures.
External TCP/UDP Network Load Balancing
  • Network Load Balancing is built on Maglev. 
  • This load balancer enables users to load balance traffic on systems based on incoming IP protocol data, including address, port, and protocol type. 
  • It is a regional, non-proxied load balancing system. 
  • Use Network Load Balancing for UDP traffic, and for TCP and SSL traffic on ports that are not supported by the SSL proxy load balancer and TCP proxy load balancer. 
  • A network load balancer is a pass-through load balancer that does not proxy connections from clients.
SSL Proxy Load Balancing
  • SSL Proxy Load Balancing is implemented on GFEs that are distributed globally. 
  • With the Premium Tier of Network Service Tiers, SSL proxy load balancer is global. 
  • In Premium Tier, users can deploy backends in multiple regions, and the load balancer automatically directs user traffic to the closest region that has capacity. 
  • With the Standard Tier, an SSL proxy load balancer can only direct traffic among backends in a single region.
TCP Proxy Load Balancing
  • TCP Proxy Load Balancing is implemented on GFEs that are distributed globally. 
  • With the Premium Tier of Network Service Tiers, a TCP proxy load balancer is global. 
  • In Premium Tier, users can deploy backends in multiple regions, and the load balancer automatically directs user traffic to the closest region that has capacity. 
  • With Standard Tier, a TCP proxy load balancer can only direct traffic among backends in a single region.