Covers 23:00–26:24. What the adjectives in the book's tagline actually mean to Kleppmann.

Definitions

  • These terms have no formal definition; the book pins them down pragmatically. 23:01
  • Reliability = fault tolerance: the system as a whole keeps working even if a network link is interrupted or a node crashes. Much of the book covers techniques that support this, like replication. 23:01 23:21
  • Scalability: the term is fashionable because it suggests success and millions of users; the book takes a dispassionate view — scalability is just what mechanisms you have for dealing with changes in load, e.g. adding computing capacity when load increases, using techniques like sharding. 23:37 24:07
  • The focus is horizontal scaling — shared-nothing systems that cope with very high load using cheap commodity machines — since vertical scaling ("buy a bigger machine") holds little to discuss. 24:30 24:59

Scaling down — the newer insight

  • Scalability also includes scaling down: running a service so it's really cheap when load is tiny. Cost and capacity should be roughly proportional to load at both ends. 24:59 25:22 25:37
  • Hard on-premises: a physical machine is the unit of deployment, and even carving it into VMs requires resource allocation. Serverless systems are interesting precisely because they scale down — "if you're going to handle just three requests per day, that's just fine as well". 25:37 26:08