A distributed system has components that may run on different processors, communicate over a network, and execute workloads concurrently. A distributed web application is a non-monolithic program whose components cooperate over a network. section 1.1
A web application’s distributed-system stack has three parts:
- Distributed applications, whose components communicate using networking protocols. section 1.1
- A networking stack. section 1.1
- Hardware and operating-system infrastructure. section 1.1
HTTP is a common choice for communication between a web application and the outside world. Backend services, frontends, and infrastructure have distinct concerns, including availability, user experience, and low-level resource control. section 1.1 section 1.2
A social media application
A social media service can distribute features across servers, with components implemented using different design choices, languages, and locations. Facebook and Twitter are examples of large-scale distributed web applications. section 1.0 section 1.1
Use the simplified stack diagram to see how a social media application’s components fit into a distributed system. section 1.1














