Reference Materials
This course draws from a wide range of source
material. The instructor will recommend specific reading
material for each week, most of which is publicly
available. Others will be made available through Canvas.
There is no single recommended textbook for this course.
Beyond the weekly readings, these are some textbooks and
resources you may find helpful.
Syllabus
This syllabus is tentative and subject to change.
- Lectures 1--2: Internet and web architecture: layering,
naming, HTTP, content distribution networks, transports
- Lecture 3: application architecture: microservices
architectural pattern, remote procedure calls (RPCs),
asynchronous messaging queues
- Lecture 4: data-intensive processing: NoSQL,
partition-aggregate data processing, MapReduce, Spark
- Lecture 5: systems support: virtualization, containers,
orchestration
- Lectures 6--7: infrastructure: public cloud
architecture, software-defined networking, container
networking, virtual switching, policies and service
mesh
- Lecture 8: high-speed packet processing: user space
frameworks, programmable kernel extensions, programmable
NICs
- Lectures 9--10: the data center network: interconnects,
in-cluster routing, data center transport, RDMA
- Lectures 11--12: reliability: load balancing, metadata
and lock services, distributed consensus
- Lectures 13--14: monitoring: performance signals,
distributed tracing, observability and debugging, in-band
network telemetry
Time permitting, we will cover other special topics such as
clock synchronization, security (mutual TLS), and cloud
process scheduling.