Home
DISTRIBUTED & CLOUD COMPUTING

From Single Machines to Global Cloud Platforms

Introduction: Why We Need Multiple Computers, How They Work, and the Cloud Revolution

The Story of this Unit

1. The Need: Why one computer is never enough for modern software
2. The Concept: How multiple computers talk and work as a team
3. The Mechanics: Hardware, software layers, and network realities
4. The Commercial Breakthrough: How Amazon turned extra servers into AWS
5. Modern Cloud: IaaS, PaaS, SaaS, and how businesses build today
6. Trade-offs: Benefits, real-world risks, and future challenges

This unit introduces the journey of modern computing: how software outgrew single machines, how distributed networks solved the problem, and how cloud platforms made global infrastructure available to anyone with an internet connection.

THE NEED FOR DISTRIBUTED SYSTEMS

The Story of a Growing App: When One Computer Fails

Stage 1: Day One

100 Users

Everything runs on a single laptop or server.

Your code, web server, and database all live on one machine. It is simple to build, cheap to run, and easy to debug.

Stage 2: Going Viral

100,000 Users

The server CPU hits 100% and memory runs out.

You buy a bigger server with 32 CPU cores and 128 GB RAM (Vertical Scaling). It handles the traffic, but costs 10x more.

Stage 3: Global Scale

10 Million Users

No single computer on Earth can handle the load.

The largest server money can buy crashes under peak traffic. The only choice left is to split the work across hundreds of networked computers (Horizontal Scaling).

THE NEED FOR DISTRIBUTED SYSTEMS

Scaling Up vs. Scaling Out: Two Different Paths

FeatureScale Up (Vertical Scaling)Scale Out (Horizontal / Distributed Scaling)
Basic Idea Buy one bigger, more powerful server Add many standard, affordable computers to a network
Hardware Cost Gets exponentially expensive at high tiers Grows linearly with affordable commodity machines
Maximum Limit Hard ceiling (limited by physical motherboard size) Virtually unlimited (can connect tens of thousands of nodes)
What Happens When It Fails? Total outage (single point of failure) Other nodes take over instantly with zero downtime
Software Complexity Simple (code runs in one memory space) Higher (must handle network messages and timeouts)

The Industry Shift

The entire technology industry shifted from buying massive proprietary mainframes to building software that runs across large clusters of standard networked computers.

INTRODUCTION TO DISTRIBUTED SYSTEMS

What Is a Distributed System?

A distributed system is a collection of autonomous computers that communicate over a network by sending messages, while presenting themselves to users as a single, unified system.

Three Defining Characteristics:

  • Independent Computers (Nodes): Each machine has its own processor, its own RAM, and its own operating system.
  • Message Passing: Computers do not share memory wires; they coordinate by sending data packets over network cables.
  • Single System Illusion: Users interact with a website or database without knowing which specific server answered their request.
INTRODUCTION TO DISTRIBUTED SYSTEMS

The Four Main Goals of Distributed Systems

1. Sharing Resources

Sharing

Letting users and apps share hardware and data.

Allowing teams across the world to share storage drives, databases, expensive GPUs, and printers securely without conflicts.

2. Distribution Transparency

Simplicity

Hiding the messy network details from users.

Hiding where files live, how many backup copies exist, or whether a server crashed so developers and users can focus on their work.

3. Openness

Compatibility

Using standard rules so different technologies work together.

Using standard protocols (like HTTP and JSON) so an iPhone app, a Python script, and a Java server can exchange data seamlessly.

4. Scalability

Growth

Handling growth without slowing down.

Expanding from 100 users to 100 million users smoothly by adding more standard machines to the cluster.

DISTRIBUTED CONCEPTS

Distribution Transparency: What We Hide from Users

Transparency means hiding physical network complexities so software feels like it runs locally:

Transparency TypeWhat Is Hidden from the UserReal-World Example
Access Differences in how different computers format numbers and files Opening a file using the same function call on Linux and Windows
Location Where a resource physically lives in the world Typing google.com without knowing which city's server answered
Migration Moving files or databases between machines while idle A database moves to a new server during maintenance with zero user impact
Replication That multiple duplicate copies of data exist Saving a photo on the cloud and it automatically copies across 3 datacenters
Concurrency That other users are reading and writing at the same second Two people buying items in an online store without corrupting inventory counts
Failure That a server crashed or lost power behind the scenes A web request automatically re-routes to a backup server without an error page
DISTRIBUTED CONCEPTS

Hardware Models: Shared Memory vs. Networked Clusters

When connecting multiple processors, hardware engineers use two fundamental approaches: sharing one physical memory pool or giving each machine its own memory.

Shared Memory (Multiprocessors)

Multiple CPUs share one central memory bus. Any CPU can read any memory byte instantly. Very fast, but limited to 32–64 cores before the bus gets clogged.

Separate Memory (Multicomputers)

Each computer has its own private RAM. To share data, they must send messages over network cables. Can scale to 100,000+ computers in datacenters.

DISTRIBUTED CONCEPTS

Shared-Memory Architectures: UMA and NUMA

In multi-core computers, how CPUs connect to physical memory banks determines how well the machine performs under heavy load.

1. Uniform Memory Access (UMA)

All CPU cores connect to one central memory bus. Every core takes the exact same amount of time to read any memory location. Limitation: Adding too many cores creates memory traffic jams.

2. Non-Uniform Memory Access (NUMA)

Each CPU gets its own local memory bank attached directly to its socket. Reading local memory is 3x faster than reading memory attached to another CPU socket over interconnect links.

VISUAL DEMONSTRATION

Visualizing Node Connections: Shared Bus vs. Cluster Mesh

This 3D model illustrates how computers in a distributed cluster connect across multiple paths rather than relying on one single central wire.

Interactive Inspection

Click and drag to rotate the model. In a networked mesh, nodes communicate directly across independent routes. If one cable fails, traffic reroutes around the failure.

*Key Takeaway: Networked clusters eliminate central hardware bottlenecks.

Drag to rotate
DISTRIBUTED CONCEPTS

Software Layers: Why Middleware Became the Standard

Distributed OS (DOS)

The Rigid Model

One special operating system on every machine.

Hides everything, but requires every computer to run the exact same operating system. Failed in the real world because companies need different operating systems for different jobs.

Network OS (NOS)

The Basic Model

Standard operating systems with networking tools.

Computers run normal Linux or Windows. Users manually log in to remote machines using SSH or file shares. Shows no transparency, but is very flexible.

Middleware

The Modern Standard

A helper software layer on top of standard operating systems.

Runs on top of any standard OS to provide easy remote communication, database tools, and security across different platforms. This is how all modern web and cloud apps work.

DISTRIBUTED CONCEPTS

What Tools Does Middleware Provide for Developers?

Instead of developers writing complex low-level network code for every application, middleware provides ready-made building blocks for distributed systems.

Essential Middleware Services:

  • Remote Procedure Calls (RPC): Running a function on another server as easily as calling a local function in your code (e.g. gRPC).
  • Service Discovery: Automatically looking up which server is currently healthy and running a specific service.
  • Security Tokens: Verifying user logins and permissions across multiple servers using secure tokens (like OAuth2).
  • Message Queues: Holding incoming requests in a safe buffer when traffic spikes (like Apache Kafka or RabbitMQ).
DISTRIBUTED CONCEPTS

The Eight False Assumptions About Networks (Deutsch)

Peter Deutsch identified eight false assumptions that lead to bugs in distributed software:

False AssumptionThe Real TruthWhat You Must Do in Code
1. The network never fails Wi-Fi drops, cables get cut, routers restart Always add timeouts and retry logic
2. Data travels instantly Signals take 50–150ms to cross oceans Never freeze the user interface while waiting
3. Bandwidth is unlimited Network pipes get congested during busy hours Send compact data formats like JSON or Protobuf
4. The network is secure Packets can be intercepted on open networks Always use HTTPS and encryption
5. Network structure never changes Servers crash and new instances spin up Use automated service discovery tools
6. There is only one administrator Data crosses multiple companies and clouds Use standard authentication tokens
7. Moving data costs nothing Cloud providers charge fees for data egress Keep data transfers minimal and efficient
8. All computers are identical Clients use iPhones, Androids, Windows, Linux Use universal data formats
DISTRIBUTED CONCEPTS

Challenge 1: Connecting Different Types of Computers

A single distributed system connects many different kinds of devices: an iPhone (ARM processor), a laptop (x86 chip), and a cloud server running Linux. They store numbers differently and run different languages.

How Software Bridges the Gap:

1. Data Serialization: In-memory objects are converted into standard text or byte strings (like JSON or Protocol Buffers) before sending them over the network.

2. Standard API Definitions: Clear rules define what data is sent and received so a backend written in Java can easily talk to a frontend written in JavaScript.

DISTRIBUTED CONCEPTS

Challenge 2: Avoiding Single Bottlenecks

One Central Login Server

Bottleneck 1

Having one machine handle all authentication.

Works for 100 users, but crashes when 100,000 try to log in at once. Solution: Run multiple login servers behind a load balancer.

One Giant Database Disk

Bottleneck 2

Storing all user records on a single hard drive.

The disk becomes too slow to process all read/write requests. Solution: Shard data across multiple database servers.

Centralized Algorithms

Bottleneck 3

Algorithms that require knowing the state of all nodes.

Asking 10,000 servers for their status creates huge network traffic. Solution: Have nodes communicate only with nearby neighbors.

DISTRIBUTED CONCEPTS

Challenge 3: Handling Machine Crashes Automatically

In large systems with thousands of servers, hardware failures happen every day. A distributed system is designed to keep running even when individual servers crash.

How Systems Recover from Crashes:

  1. Heartbeats: Servers send regular "I am alive" messages. If a server stops answering, the system marks it as failed.
  2. Data Replication: Important records are saved on 3 separate servers so losing one causes zero data loss.
  3. Circuit Breakers: If a database slows down, the system stops sending new requests to it temporarily so the whole website does not freeze.
CODE DEMONSTRATION

Code Example: Simulating Network Message Passing & Latency

A working JavaScript simulation showing how two independent servers send data over a network with simulated latency:

DistributedNode.js: Sending Data Between Servers
javascript
// Distributed Node Message Passing Example
class DistributedNode {
  constructor(nodeId, networkLatencyMs = 15) {
    this.nodeId = nodeId;
    this.networkLatencyMs = networkLatencyMs;
    this.localState = new Map();
    this.peers = new Map();
  }

  registerPeer(peerNode) {
    this.peers.set(peerNode.nodeId, peerNode);
  }

  async send(targetNodeId, message) {
    const target = this.peers.get(targetNodeId);
    if (!target) throw new Error(`Node ${targetNodeId} unreachable`);
    
    // Simulate real network cable transit time
    await new Promise(resolve => setTimeout(resolve, this.networkLatencyMs));
    return target.receive(this.nodeId, message);
  }

  receive(senderNodeId, message) {
    this.localState.set(message.key, message.value);
    return {
      status: "ACK",
      receiver: this.nodeId,
      appliedState: message
    };
  }
}

// Connect two separate nodes across regions
const nodeA = new DistributedNode("node-us-east-1", 10);
const nodeB = new DistributedNode("node-eu-west-1", 85);
nodeA.registerPeer(nodeB);

console.log("Sending data across network...");
nodeA.send("node-eu-west-1", { key: "cluster_config", value: "replicated" })
  .then(res => console.log("Response:", JSON.stringify(res)));
Expected Output
Sending data across network...
Response: {"status":"ACK","receiver":"node-eu-west-1","appliedState":{"key":"cluster_config","value":"replicated"}}
Common Student Mistakes
  • Forgetting that network calls take time: always use async and await when talking to other servers.
  • Not adding timeout handling: your code can freeze forever if the receiving server loses power.
  • Trying to send in-memory function references over the network: only data can be sent as text/bytes.
THE CLOUD REVOLUTION

Commercializing Distributed Systems: The Amazon E-Commerce Story

In the early 2000s, Amazon built massive server clusters to handle the huge surge of holiday shopping traffic during Black Friday and Cyber Monday.

The Problem and the Big Idea:

  • The Idle Server Problem: For 11 months of the year, over 80% of Amazon's expensive servers sat completely idle with zero traffic.
  • The Big Idea (2006): Instead of letting idle servers waste money, why not rent access to them to other developers and companies by the hour?
  • The Birth of AWS: Amazon launched Amazon Web Services (AWS), creating Amazon EC2 (virtual computers) and Amazon S3 (storage).
THE CLOUD REVOLUTION

How AWS Changed the Software Industry Forever

Before AWS (Pre-2006)

The Old Way

Starting a software company required $100,000+ in hardware.

You had to buy physical servers, sign a 3-year datacenter lease, wire cables, and wait 8 weeks for hardware delivery before writing a single line of production code.

After AWS (2006–Present)

The Cloud Way

A student with a credit card has the same power as Netflix.

Anyone can launch 50 global servers in 60 seconds for a few dollars. If the project succeeds, it scales instantly; if it fails, you delete the servers and owe nothing more.

The Cloud Giants

Today's Market

Microsoft, Google, and others joined the market.

Microsoft launched Azure and Google launched Google Cloud Platform (GCP). Today, over 90% of global internet traffic runs through cloud provider datacenters.

CLOUD COMPUTING

What Is Cloud Computing?

Cloud computing means renting computing power, storage space, and software over the internet from providers (like AWS, Azure, or Google Cloud), instead of buying physical computers yourself.

Three Everyday Characteristics:

  • On-Demand: Start or stop computers anytime without asking for permission.
  • Elastic: Automatically stretch to handle busy traffic and shrink when quiet.
  • Pay for Usage: Pay only for the exact seconds of CPU and gigabytes of storage you use.
CLOUD COMPUTING

How Cloud Computing Works: The Five Essential Traits (NIST)

The National Institute of Standards and Technology (NIST) defines five traits that a service must have to be considered a true cloud:

  1. On-Demand Self-Service: You start servers yourself in seconds from a web page or script.
  2. Broad Network Access: You access services over standard internet from phones, laptops, and tablets.
  3. Resource Pooling: Physical servers are shared securely among multiple customers to keep prices low.
  4. Rapid Elasticity: Systems automatically add servers during traffic spikes and remove them when quiet.
  5. Measured Service: You get a clear bill showing exactly how many seconds and gigabytes were used.
CLOUD SERVICE MODELS

The Three Cloud Service Models: IaaS, PaaS & SaaS

IaaS (Infrastructure)

Raw Machines

Renting blank virtual computers, hard drives, and network wires.

You choose the operating system (like Ubuntu Linux) and install everything yourself.

Examples: Amazon EC2, Google Compute Engine, DigitalOcean.

PaaS (Platform)

App Platforms

Renting a managed environment ready to run your code.

You upload your code (Node.js, Python, Java). The provider handles the servers, OS updates, and auto-scaling.

Examples: Heroku, AWS Elastic Beanstalk, Vercel.

SaaS (Software)

Ready Applications

Using complete applications directly in your browser.

You don't manage any servers or write code. You just log in and use the finished web application.

Examples: Google Docs, Gmail, Microsoft 365, Canva.

CLOUD SERVICE MODELS

Infrastructure as a Service (IaaS): What You Control

IaaS gives you the most control. You get a raw virtual machine and can configure it however you want.

Division of Responsibility in IaaS:

  • Cloud Provider Manages: Physical datacenters, cooling, electricity, physical server hardware, and hypervisor virtualization software.
  • You Manage: Choosing Linux or Windows, installing security updates, setting firewall rules, installing databases, and running your software.
  • When to Use: When you need total control over software versions or want to move existing systems to the cloud without rewriting them.
CLOUD SERVICE MODELS

Platform as a Service (PaaS) and Serverless Computing

With PaaS, developers focus purely on building their application code without worrying about server operating systems or updates.

Key Features of PaaS:

  • Automatic Scaling: If traffic spikes, the platform automatically starts more copies of your application.
  • Managed Databases: Backups, security patches, and replication happen automatically.
  • Serverless (FaaS): You upload single functions (like AWS Lambda). The platform only runs them when an event occurs and shuts down to zero cost when idle.
CLOUD GOVERNANCE

Who Manages What? The Shared Responsibility Model

LayerYour Own DatacenterIaaS (e.g. AWS EC2)PaaS (e.g. Heroku)SaaS (e.g. Google Docs)
Your Data & Files You Manage You Manage You Manage You Manage
User Logins & Passwords You Manage You Manage You Manage You Manage
Application Code You Manage You Manage You Manage Cloud Provider
Runtime & Database Updates You Manage You Manage Cloud Provider Cloud Provider
Operating System Patches You Manage You Manage Cloud Provider Cloud Provider
Physical Hardware & Power You Manage Cloud Provider Cloud Provider Cloud Provider

Key Takeaway

No matter which cloud model you use, your data and user passwords are always your responsibility. If you give a user a weak password, the cloud provider cannot prevent unauthorized logins.

CLOUD DEPLOYMENTS

Cloud Deployment Types: Public, Private, Hybrid & Multi-Cloud

Public Cloud

Shared Multi-Tenant

Rented servers shared securely with other customers.

Lowest cost, instant setup, and virtually unlimited capacity. Maintained entirely by companies like AWS, Microsoft, or Google.

Best for: Startups, web applications, mobile backends.

Private Cloud

Dedicated Single-Tenant

Dedicated servers used only by one organization.

Can live in your own company building or in a private datacenter rack. Maximum privacy, but expensive to build and maintain.

Best for: Banks, defense organizations, hospitals.

Hybrid Cloud

Connecting Both

Linking an on-premises private cloud to a public cloud.

Keep sensitive customer records in your private datacenter, while running public web servers on AWS that expand during busy days.

Best for: Established enterprises migrating gradually.

Multi-Cloud

Multiple Vendors

Using services from two or more cloud providers at once.

Running parts of your app on Google Cloud and parts on AWS so your business stays online even if one provider has an outage.

Best for: Large corporations avoiding single-vendor lock-in.

CLOUD DEPLOYMENTS

Cloud Bursting: Handling Traffic Surges

Cloud bursting is a hybrid cloud technique where normal daily traffic runs on private company servers, but when traffic spikes unexpectedly, extra requests "burst" to rented public cloud servers.

How It Works:

  1. Normal Day: 100% of traffic is handled by your own company servers at low fixed cost.
  2. Traffic Surge (e.g. Festival Sale): Server load passes 80% capacity.
  3. Automatic Burst: The system instantly starts 50 virtual servers on public cloud to handle the overflow traffic.
  4. Scale Down: When traffic returns to normal, the public cloud servers shut down to stop billing.
CLOUD STRATEGY

Matching Business Needs with the Right Cloud Model

Type of OrganizationPrimary NeedBest Cloud Model Choice
Tech Startup Needs to launch fast with zero upfront capital Public Cloud (Serverless or PaaS)
Commercial Bank Must follow strict data residency laws Private Cloud on-premises
E-Commerce Retailer Normal sales daily, huge Black Friday rush Hybrid Cloud with Cloud Bursting
Hospital / Healthcare Needs medical record privacy and offsite backups Private Cloud with encrypted Hybrid backup
University Research Lab Huge batch computing runs once a month Public Cloud Spot/Preemptible GPU instances
ECONOMIC CONCEPTS

Cloud Economics: Buying vs. Renting (CAPEX vs. OPEX)

The biggest financial difference in cloud computing is moving from buying assets upfront (CAPEX) to paying for usage as an ongoing expense (OPEX).

CAPEX (Buying Servers)

  • Spend $100,000 upfront on hardware.
  • Pay for electricity, cooling, and space monthly.
  • Hardware loses value and gets old in 4 years.
  • Must buy enough for worst-case traffic.

OPEX (Renting Cloud)

  • $0 upfront cost.
  • Pay only for active server seconds.
  • Upgrade to newest CPU models with one click.
  • Turn off servers at night to stop paying.
ECONOMIC ANALYSIS

Code Example: Calculating 3-Year Infrastructure Costs

A JavaScript calculation comparing the total 3-year cost of buying hardware versus renting cloud instances:

compareCosts.js: Calculating Total Cost of Ownership
javascript
// Comparing On-Premises Cost vs Cloud Utility Cost
function compareCosts({
  onPremHardwareCost,    // Upfront cost to buy physical servers
  datacenterOpexYearly,  // Power, cooling, and building rent
  cloudMonthlyCost,      // Monthly pay-as-you-go cloud bill
  years = 3
}) {
  const onPremTotal = onPremHardwareCost + (datacenterOpexYearly * years);
  const cloudTotal = cloudMonthlyCost * 12 * years;
  const difference = cloudTotal - onPremTotal;

  return {
    onPremisesTotal: onPremTotal,
    cloudTotal: cloudTotal,
    cheaperOption: difference < 0 ? "Cloud" : "On-Premises",
    yearlyDifference: Math.abs(difference / years)
  };
}

const result = compareCosts({
  onPremHardwareCost: 120000,
  datacenterOpexYearly: 45000,
  cloudMonthlyCost: 6200,
  years: 3
});

console.log("3-Year Cost Comparison:", JSON.stringify(result, null, 2));
Expected Output
3-Year Cost Comparison: {
  "onPremisesTotal": 255000,
  "cloudTotal": 223200,
  "cheaperOption": "Cloud",
  "yearlyDifference": 10600
}
Common Student Mistakes
  • Forgetting electricity and cooling costs: physical servers often cost more in electricity over 3 years than their purchase price.
  • Leaving unused cloud servers running: forgetting to turn off test servers can waste thousands of dollars.
  • Ignoring data download fees: cloud providers charge fees when you download huge datasets out of their cloud.
CLOUD BENEFITS

Key Advantages of Using Cloud Infrastructure

Instant Speed

Agility

Start in minutes instead of waiting months.

Ordering physical servers takes 8 to 12 weeks for delivery and wiring. Cloud servers start in under 60 seconds from any laptop.

Elastic Scaling

Efficiency

Grow when busy, shrink when quiet.

Automatically add servers during day peaks and turn them off at night, avoiding paying for idle computers.

Built-in Backups

Reliability

Automatic multi-datacenter safety.

Cloud providers replicate data across separate buildings with independent power supplies to protect against floods and fires.

RISKS & LIMITS

Real-World Limits and Risks of Cloud Computing

Internet Dependency

Connectivity

No internet means no access to your servers.

If your office loses its internet connection, work stops. Factory robots and medical devices cannot rely entirely on cloud due to network drops.

Vendor Lock-in

Portability

Hard to switch providers once you build deeply.

Using proprietary features from one provider makes moving to another provider difficult and expensive later.

Noisy Neighbors

Shared Hardware

Other tenants sharing the same physical machine.

If another company on your physical server runs a heavy calculation, your server might experience temporary slow-downs.

OPEN CHALLENGES

Major Open Challenges in Cloud Computing

Data Privacy & Laws

Legal

Rules about where citizen data is stored.

Many countries have laws requiring citizen and bank data to stay physically inside their national borders.

Managing Cloud Costs

FinOps

Preventing accidental runaway bills.

Because cloud scales automatically, a software bug can accidentally start 500 servers and generate a huge surprise bill.

Security Across Networks

Zero Trust

Securing microservices without old office firewalls.

Systems must check authentication on every single message using secure keys, because servers talk over open networks.

SUMMARY COMPARISON

Quick Comparison of Cloud Service Types

Service TypeWhat You RentWhat You ManageBilling Method
IaaS Virtual machines, storage, networks Operating system, database, code Per second of CPU and RAM
PaaS Managed application runtime Application source code only Per active application instance
SaaS Complete web software Your own user settings and accounts Per user per month
Serverless (FaaS) Event-triggered code functions Individual function code only Per millisecond of execution
VISUAL DEMONSTRATION

Visualizing Cloud Resource Networks

This 3D model illustrates how modern cloud microservices connect into resilient mesh networks across datacenters.

Interactive Inspection

Click and drag to inspect the shape. In a cloud mesh, services talk directly to each other without depending on one single bottleneck server.

*Multiple network paths allow services to stay connected even if individual links fail.

Drag to rotate
ARCHITECTURE OVERVIEW

From Physical Hardware to Cloud Services

The Layers: Hardware -> Virtualization -> Cloud Services
flowchart TD A[Physical Hardware: Servers and Datacenter Networks] --> B[Virtualization: Hypervisors and Containers] B --> C[IaaS: Virtual Machines and Storage Volumes] C --> D[PaaS: Managed Runtimes and Databases] D --> E[SaaS: Web Applications like Gmail and Docs] style A fill:#ffffff,stroke:#0f172a,stroke-width:2px,color:#0f172a style B fill:#f1f5f9,stroke:#0f172a,stroke-width:2px,color:#0f172a style C fill:#e0e7ff,stroke:#4338ca,stroke-width:2px,color:#0f172a style D fill:#f8fafc,stroke:#4338ca,stroke-width:2px,color:#0f172a style E fill:#ffffff,stroke:#4338ca,stroke-width:2px,color:#0f172a

How hardware layers build upward into cloud software services.

UNIT SUMMARY

Key Takeaways & Summary

Key Points to Remember:

  • Distributed Systems: Multiple independent computers talking over a network to act like one unified system while handling partial crashes.
  • Hardware Design: Connected clusters of standard machines are cheaper and scale further than building one giant shared-memory computer.
  • Software Model: Standard operating systems with a helper Middleware layer on top is the modern industry standard.
  • Cloud Computing: Renting computing power on demand with automatic elasticity and pay-as-you-go billing.
  • Shared Responsibility: Cloud providers protect the physical datacenters; you are always responsible for securing your own data and user passwords.
Next Unit: System Models (Interaction Models and Failure Models) Course Index