September 30, 2019

214 words 2 mins read

Cloud Native Load Balancing From Scratch

Cloud Native Load Balancing From Scratch

Load balancing is required by all modern distributed systems, which can be done in many places and multiple layers. With all the options on the table, eg: gRPC, Envoy, IPVS/BPF, have you been curious …

Talk Title Cloud Native Load Balancing From Scratch
Speakers Fangyuan Li (Software Engineer, VMware)
Conference KubeCon + CloudNativeCon
Conf Tag
Location Shanghai, China
Date Jun 23-26, 2019
URL Talk Page
Slides Talk Slides
Video

Load balancing is required by all modern distributed systems, which can be done in many places and multiple layers. With all the options on the table, eg: gRPC, Envoy, IPVS/BPF, have you been curious of when and how any one of them will fit into your stack and scale your system as traffic grows? Aiming to “demystify” load balancing in K8s, I’d like to share my experience utilizing these cloud-native load balancing techniques, discussing their tradeoffs and applicable scenarios. The journey starts with a simple VIP iptable implementation. Then we dive deeper and examine from client to server, kernel to userspace, going up from IP to HTTP. We’ll draw the big picture and demonstrate the use of different tools in plain Bash scripts. With these building blocks in mind, we’ll summarize by comparing them across K8s(clusterIP/nodePort), Docker(routing mesh), Envoy, and a number of CNI plugins.

comments powered by Disqus