Computer Systems
Cloud Computing
This guide helps you get your bearings in Cloud Computing before you start exploring the interactive timeline, framework graph, and concept maps.
Before You Dive In
- Cloud Computing studies how to build reliable, performant computing infrastructure under resource and failure constraints.
- Rough timeline: monolithic timesharing systems -> distributed consensus and replication -> cloud virtualization and containers -> resilience and data-intensive platforms.
- Start with failure models and consistency tradeoffs; systems design is mostly about explicit compromises.
- Use Noosaga to compare frameworks by dominant constraint: throughput, latency, fault tolerance, isolation, or cost.
Key Terms to Know
ConsistencyGuarantees about how updates are observed across replicas or processes.
ReplicationMaintaining multiple copies of state for availability and fault tolerance.
ConsensusProtocols enabling distributed processes to agree despite failures.
IsolationMechanisms preventing interference among concurrent tasks or tenants.
ObservabilityAbility to infer internal system state from logs, metrics, and traces.
Common Confusions
Assuming more redundancy automatically means better reliability without coordinated recovery logic.
Treating benchmarks as representative of production behavior under adversarial load.
Confusing distributed systems guarantees with database transaction guarantees.
Recommended Reading
Designing Data-Intensive Applications— Martin Kleppmann
2017Operating Systems: Three Easy Pieces— Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau
2018Distributed Systems— Maarten van Steen & Andrew S. Tanenbaum
2017How to Use the Interactive View
1
Explore the timeline
Open the interactive view and scan the framework timeline. Which frameworks came first? Which ones overlap? Where are the big transitions?
2
Read the articles
Click into individual frameworks to read what each one claims, where it came from, and how it relates to its neighbors.
3
Check the concept map
See how the key ideas within a framework connect. This is useful for figuring out what to learn first and what depends on what.
4
Test yourself
Take the quiz for any framework you've read about. It's a quick way to find out whether you actually understood the core ideas or just skimmed them.