Microservices, containers, and serverless technologies can help build scalable distributed systems. Microservices break applications into independently deployable components organized around business capabilities. Containers provide isolation and repeatability. Kubernetes orchestrates groups of containers into pods and services. Service meshes like Istio help govern microservices through sidecar proxies. Serverless platforms automate resource management so code runs without servers. Knative in particular helps scale microservices to zero or many instances.