Busy Architect's Guide to Distributed Systems

ted@tedneward.com | Blog: http://blogs.newardassociates.com | Twitter: tedneward | Github: tedneward | LinkedIn: tedneward

Distributed Systems: Overview

The big picture

Distributed Systems: Overview

What is a "distributed system"?

Distributed Systems: Overview

True story

Distributed Systems: Overview

What are some problems with distributed systems?

Distributed Systems: Overview

Working definition

The World Wide Web

The most successful distributed system in history

The World Wide Web

System origins

The World Wide Web

Interesting notes from the proposal

The World Wide Web

The creations

The World Wide Web

Implications

The World Wide Web

Why can't we just "do what the Web did"?

Fielding's Thesis

The origins of REST

Fielding's Thesis

Roy Fielding Bio

Fielding's Thesis

Thesis details

Fielding's Thesis

Chapter 5

Fielding's Thesis

Derivation

Whoa...

An interesting implication

State Management

Adding context to conversations

State Management

Fundamental concepts

State Management

Considerations

The Fallacies of Distributed Computing

Mistakes are all too easy to repeat

The Fallacies of Distributed Computing

"Essentially everyone, when they first build an distributed system, makes the following 10 assumptions. All turn out to be false in the long run and all cause big trouble and painful learning experiences."

    The network is reliable

    Latency is zero

    Bandwidth is infinite

    The network is secure

    Topology doesn't change

    There is one administrator

    Transport cost is zero

    The network is homogeneous

Distribution

A 3-Part Tuple

Distribution

All (?) distribution options

Distribution

Channel/Medium

Distribution

Wire Format

Distribution

Interaction

Distribution

Examples

Distribution

Additional considerations

Summarizing

Wrapping up!

Summary

What does all this tell us?

Credentials

Who is this guy?