The Elements of Distributed Architecture
This course is an foundational introduction to the key elements of distributed software architecture with the goal of providing a common baseline of concepts and terminologies for teams working on distributed systems.
Authored by:
Clemens Vasters
Duration: 3h 40m
Level: Intermediate
Released: 12/20/2011
Duration: 3h 40m
Level: Intermediate
Released: 12/20/2011
Course Rating:
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
Introduction |
|
00:26:31 | |
|
Introduction
|
|
01:08 | |
|
What Are We Discussing
|
|
00:52 | |
|
Architecture
|
|
02:25 | |
|
Distributed Systems
|
|
00:59 | |
|
The Elements
|
|
01:03 | |
|
Information
|
|
00:47 | |
|
Communication
|
|
01:02 | |
|
Presentation
|
|
01:09 | |
|
Processing
|
|
01:38 | |
|
Failure Management
|
|
01:50 | |
|
Protection
|
|
01:01 | |
|
Adversaries
|
|
00:35 | |
|
Capacity
|
|
01:08 | |
|
Latency
|
|
02:43 | |
|
Affinity
|
|
03:53 | |
|
Failure
|
|
01:09 | |
|
Thieves and Idiots
|
|
01:21 | |
|
Conclusion
|
|
01:48 | |
Information |
|
00:38:40 | |
|
Introduction
|
|
00:43 | |
|
Events and State
|
|
02:36 | |
|
Events vs. State
|
|
02:00 | |
|
Events vs. State vs. Data - Value
|
|
02:38 | |
|
Characteristics
|
|
00:27 | |
|
Private, Personal, Shared
|
|
01:49 | |
|
Fresh, Stale, Historic
|
|
03:55 | |
|
Independent, Dependent, Related
|
|
02:33 | |
|
Owned, Foreign, Associated
|
|
01:40 | |
|
Small, Large, Huge
|
|
01:48 | |
|
Partitioning
|
|
03:04 | |
|
Fan-Out Queries
|
|
02:19 | |
|
Scenarios
|
|
00:16 | |
|
Text Files
|
|
01:11 | |
|
Personal Address Book
|
|
02:00 | |
|
Group Resource Calendar
|
|
02:29 | |
|
Event Log
|
|
01:27 | |
|
Blog
|
|
01:27 | |
|
Product Catalog
|
|
01:23 | |
|
Email
|
|
00:53 | |
|
Stock Prices
|
|
01:06 | |
|
Summary
|
|
00:56 | |
Communication |
|
00:28:37 | |
|
Introduction
|
|
00:34 | |
|
Synchronous Communication
|
|
00:56 | |
|
Asynchronous Communication
|
|
01:53 | |
|
Asynchronous vs Asynchronous
|
|
01:26 | |
|
Vocabulary
|
|
00:38 | |
|
Structure
|
|
00:54 | |
|
Layers
|
|
03:14 | |
|
Links
|
|
01:19 | |
|
Network and Transport
|
|
02:37 | |
|
Congestion
|
|
01:22 | |
|
Congestion Control
|
|
03:08 | |
|
Application Protocols
|
|
00:39 | |
|
Brokered Application Protocol Models
|
|
01:29 | |
|
Direct Application Protocol Models
|
|
01:16 | |
|
Oneway, Request/Reply, Duplex
|
|
00:42 | |
|
Unicast, Anycast, Multicast, Broadcast
|
|
00:59 | |
|
Push, Solicit Push, Pull
|
|
01:08 | |
|
Push Load Balancing
|
|
00:55 | |
|
Brokered Load Leveling and Balancing
|
|
00:40 | |
|
Publish/Subscribe Model
|
|
00:41 | |
|
What do you need?
|
|
01:10 | |
|
Summary
|
|
00:57 | |
Presentation and Processing |
|
00:45:03 | |
|
Introduction
|
|
02:00 | |
|
Interaction
|
|
02:50 | |
|
The Role of the Host
|
|
02:47 | |
|
Multi-Tier UX
|
|
03:51 | |
|
Distributed Patterns
|
|
04:36 | |
|
Distributed Experiences
|
|
01:57 | |
|
Business Logic
|
|
01:24 | |
|
Processing Introduction
|
|
01:06 | |
|
Stateful vs Stateless
|
|
02:07 | |
|
Processes and Threads
|
|
02:38 | |
|
Scheduling
|
|
02:17 | |
|
UX Threading
|
|
01:48 | |
|
Workflow Threading
|
|
02:38 | |
|
I/O Threading
|
|
03:42 | |
|
Generalized Processing Patterns
|
|
06:33 | |
|
Distrubuted Systems Concepts
|
|
01:47 | |
|
Summary
|
|
01:02 | |
Failure Management |
|
00:46:40 | |
|
Introduction
|
|
02:08 | |
|
Failure Types
|
|
04:24 | |
|
Hard Failures
|
|
03:11 | |
|
Intermittent Failures
|
|
04:33 | |
|
Recovery
|
|
01:27 | |
|
Idempotency
|
|
06:27 | |
|
Strategies: Do/Do, Do/Undo
|
|
01:56 | |
|
Strategies: Try/Catch
|
|
02:18 | |
|
Strategies: Consider/Agree/Execute
|
|
04:23 | |
|
Coordinators
|
|
03:03 | |
|
ACID
|
|
01:54 | |
|
The CAP Theorem
|
|
04:26 | |
|
ACID vs BASE
|
|
03:26 | |
|
Mixing Models
|
|
01:13 | |
|
Summary
|
|
01:51 | |
Protection |
|
00:35:27 | |
|
Introduction
|
|
00:54 | |
|
Security
|
|
00:38 | |
|
Threats
|
|
00:18 | |
|
Identity Theft and Forgery
|
|
02:06 | |
|
Establishing Identity
|
|
01:37 | |
|
Establishing Proof of Identity
|
|
03:51 | |
|
Who to prove to?
|
|
03:12 | |
|
Unauthorized Access
|
|
01:17 | |
|
Access Control
|
|
03:10 | |
|
Eavesdropping and Encryption
|
|
03:24 | |
|
Tampering and Digital Signature
|
|
03:01 | |
|
Vulnerabilities
|
|
01:48 | |
|
Secure Development Principles
|
|
03:14 | |
|
Safety
|
|
00:39 | |
|
Hard Failures
|
|
02:18 | |
|
Idiots
|
|
02:40 | |
|
Summary
|
|
01:20 |
Introduction