Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Load Balancing: A strategy for scalable internet applications

Load Balancing: A strategy for scalable internet applications

Pierre GOUDJO

January 20, 2022
Tweet

More Decks by Pierre GOUDJO

Other Decks in Technology

Transcript

  1. Wikipedia Scalability is the property of a system to handle

    a growing amount of work by adding resources to the system
  2. Wikipedia High availability is a characteristic of a system which

    aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period.
  3. Wikipedia Load balancing refers to the process of distributing a

    set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient.
  4. Hardware load balancer Pros • E ffi cient • Rich

    and deep feature set • Lower salary costs
  5. Software load balancer Pros • Run on commodity servers •

    Cheaper than hardware solutions • Easier to maintain • Easier to scale up or down
  6. Software load balancer Cons • Can be trickier to setup

    • User responsible of underlying hardware
  7. https://www.nginx.com/resources/glossary/layer-4-load-balancing/ A Layer 4 load balancer bases the load-balancing decision

    on the source and destination IP addresses and ports recorded in the packet header, without considering the contents of the packet.
  8. https://www.nginx.com/resources/glossary/layer-7-load-balancing/ Layer 7 load balancing operates at the high ‑

    level application layer, which deals with the actual content of each message
  9. Layer 4 vs Layer 7 load balancing • Layer 4

    load balancing is faster than Layer 7 • Layer 4 has visibility on the network information such as port and protocol • All protocols based on TCP or UDP are supported by Layer 4 load balancer • Layer 7 load balancer has application awareness and can make complex load balancing decisions based on messages content • Layer 7 load balancer are usually protocol-centric
  10. Cloud fl are docs A load balancing algorithm is "static"

    when it does not take into account the state of the system for the distribution of tasks.
  11. Cloud fl are docs Dynamic load balancing uses algorithms that

    take into account the current state of each server and distribute traffic accordingly.
  12. Tra ff i c still get routed to the other

    AZ even if there is no ELB node up in that zone
  13. • Layer 7 load balancer • Slow start • Protocol

    listeners for • HTTP/1 • HTTP/2 • gRPC • WebSockets • Sticky sessions • TLS o ff l oading • Server Name Indication (SNI) with multiple certi fi cates • Lambda functions as target Application Load Balancer
  14. • Listener rules actions • Fixed responses • Redirect •

    Forward • Listener rules conditions (5 / rules) • host headers • http request method • Source IP • Path pattern • Query string Application Load Balancer Layer 7 Load Balancing
  15. • Layer 4 load balancer • Protocol listeners for •

    TCP • TLS • UDP • Sticky sessions • TLS o ff l oading • Static IP support • Elastic IP support • Connection draining Network Load Balancer
  16. • Layer 3 load balancer • Used to load balance

    tra ffi c through virtual appliances • Egress and Ingress fl ow through the virtual appliances and can be dropped • Is a simpler way to use virtual appliances available on AWS Marketplace Gateway Load Balancing
  17. • fi rewalls • intrusion detection systems • prevention systems

    • deep packet inspection systems Third-party virtual appliances