Do AWS use Hardware or Software load balancers behind ELBs?

Traditionally, in a pre-cloud world, there were two basic tiers of loadbalancers: software and hardware*.

Software were largely open-source, designed to provide a handful of key features and run on arbitrary/unknown hardware.

Hardware were largely commercial products, with an insane number of features, very very carefully tuned to run on very specific hardware.

In this world, people with experience setting up a software loadbalancer to spread their 10 request per second website across two VMs, and people with experience running ten thousand requests per second across multi-node active/active loadbalancer clusters while carefully staying within the lanes of hardware tcp and crypto offload, would both put "load balancing experience" on their resume.

So companies starting using experience with "hardware loadbalancing" as a rough way of distinguishing conceptual/entry-level experience from nitty-gritty-at-scale experience.

Amazon however is in the business of creating the third way. They take the low-end software version, fork it, run it on their own very carefully selected hardware, and heavily eat into the feature-set and market share of traditional hardware loadbalancing companies. This has been a long time coming. It wasn't really until ELBv2, also known as "ALB" was rolled out (2016) that that they started feature-matching F5 and Netscaler loadbalancers from 2006.

So my guess as to why they say they want System Development Engineers to have experience with hardware loadbalancers is that they want people who know the features well that they are looking to copy/re-implement and commoditize.

* As we all know, both tiers are actually a combination of both hardware and software, so anyone who's bored can turn this into an infinitely recursive semantic argument.

/r/aws Thread Parent