Classes will be decided week-to-week.
Week(s) | Week of | Topic |
---|---|---|
01 | 1/27 | Intro; centralized vs distributed systems; development environment setup |
02 | 2/3 | Multi-processing & network programming — Part 1 |
03 | 2/10 | Multi-processing & network programming — Part 2 |
04 | 2/17 | Multi-processing & network programming — Part 3 |
05 | 2/24 | Containerization: Docker and Kubernetes |
06 | 3/3 | DevOps and CI/CD |
07 | 3/10 | Integrate application to infrastructure |
08 | 3/17 | Distributed Architectures |
09 | 3/24 | Communication and Coordination |
10 | 3/31 | Consistency & Replication |
11 | 4/7 | Fault Tolerance |
12 | 4/21 | Security |
13 | 4/28 | Deploying on k8s on cloud-based virtual bare metal nodes |
14 | 5/5 | Deploying on k8s on cloud-based k8s |
15 | 5/12 | Final individual projects due |
Follow the link above to the respective week’s materials below.
Feature | Centralized Systems | Distributed Systems |
---|---|---|
Architecture | Single process or machine | Multiple processes or interconnected machines |
Scalability | Limited | High |
Fault tolerance | Low | High |
Complexity | Low | High |
Cost | Can be lower initially | Can be higher initially, but more cost-effective at scale |
Data Management | Simpler | More complex |
Security | Single point of vulnerability | Multiple points of vulnerability |
Setup your computer for this class