systems in 60 minutes · roadmap for this talk what happens when you visit google.com? horizontally...

73
Systems in 60 Minutes Raymond Xu raymondxu.io

Upload: others

Post on 15-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Systemsin 60 Minutes

Raymond Xuraymondxu.io

Page 2: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Roadmap for this talk

What happens when you visit google.com?● Horizontally● Vertically

Page 3: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Roadmap for this talk

What happens when you visit google.com?● Horizontally● Vertically

What’s the best way to learn new systems?

Page 4: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Roadmap for this talk

What happens when you visit google.com?● Horizontally● Vertically

What’s the best way to learn new systems?

Source: Google Cloud Platform Solutions

Page 5: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Roadmap for this talk

What happens when you visit google.com?● Horizontally● Vertically

What’s the best way to learn new systems?

“Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures.”

Source: Google Cloud Platform Solutions

https://www.envoyproxy.io/

Page 6: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Roadmap for this talk

What happens when you visit google.com?● Horizontally● Vertically

What’s the best way to learn new systems?

“Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures.”

?Source: Google Cloud Platform Solutions

https://www.envoyproxy.io/

Page 7: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Horizontal

Your Computer → Networks → Google → Networks → Your Computer

Page 8: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google NetworksYour Computer

Page 9: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google NetworksYour Computer

● Applications● Operating System● Hardware● Physics

Page 10: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google NetworksComputer

● Applications● Operating System● Hardware● Physics

Page 11: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google

● Applications● Operating System● Hardware● Physics

NetworksComputer

● Applications● Operating System● Hardware● Physics

Page 12: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google NetworksComputer

● Applications● Operating System● Hardware● Physics

Computer

Page 13: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google

x 1,000,000

NetworksComputer

● Applications● Operating System● Hardware● Physics

Computer

Page 14: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google

x 1,000,000

+ Distributed Systems

NetworksComputer

● Applications● Operating System● Hardware● Physics

Computer

Page 15: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google

x 1,000,000

+ Distributed Systems

Networks

● Protocols● Infrastructure● Physics

Computer

● Applications● Operating System● Hardware● Physics

Computer

Page 16: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Computers store and manipulate data.

Networks transfer data.

Page 17: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Computers store and manipulate data.

Networks transfer data.

Page 18: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

Data can be anything○ Text○ Images○ Videos

All data can be represented one-dimensionally with 1s and 0s (bits)

How do you interpret a sequence of bits?○ Character encodings

Page 19: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

PPM example (a simple image file format)

01010000 00110011 00001010 00110100 00100000 00110100 00001010 00110001 00110101 00001010 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00110001 00110101 00100000 00100000 00110000 00100000 00110001 00110101 00001010 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00110001 00110101 00100000 00100000 00110111 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00001010 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00110001 00110101 00100000 00100000 00110111 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00001010 00110001 00110101 00100000 00100000 00110000 00100000 00110001 00110101 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000

Page 20: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

PPM example (a simple image file format)

01010000 00110011 00001010 00110100 00100000 00110100 00001010 00110001 00110101 00001010 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00110001 00110101 00100000 00100000 00110000 00100000 00110001 00110101 00001010 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00110001 00110101 00100000 00100000 00110111 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00001010 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00110001 00110101 00100000 00100000 00110111 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00001010 00110001 00110101 00100000 00100000 00110000 00100000 00110001 00110101 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00100000 00100000 00110000 00100000 00100000 00110000 00100000 00100000 00110000

ASCII Character encoding...

Page 21: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

PPM example (a simple image file format)

P34 415 0 0 0 0 0 0 0 0 0 15 0 15 0 0 0 0 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 15 7 0 0 015 0 15 0 0 0 0 0 0 0 0 0

Page 22: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

PPM example (a simple image file format)

P34 415 0 0 0 0 0 0 0 0 0 15 0 15 0 0 0 0 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 15 7 0 0 015 0 15 0 0 0 0 0 0 0 0 0

Page 23: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

PPM example (a simple image file format)

P34 415 0 0 0 0 0 0 0 0 0 15 0 15 0 0 0 0 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 15 7 0 0 015 0 15 0 0 0 0 0 0 0 0 0

File typeWidth HeightMaximum color valueR G B ...

Page 24: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Data

PPM example (a simple image file format)

P34 415 0 0 0 0 0 0 0 0 0 15 0 15 0 0 0 0 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 15 7 0 0 015 0 15 0 0 0 0 0 0 0 0 0

File typeWidth HeightMaximum color valueR G B ...

Character encodings (e.g. Hex), File formats

Page 25: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Storing Data

Memory● Voltage through a circuit indicates 1 or 0● So with enough circuits we can represent arbitrary data● Power loss = data loss

DRAM, SRAM, Memory Addressing

Page 26: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Storing Data

Hard Drive (Disk)● Metal can be precisely magnetized/demagnetized● Direction of magnetism indicates 1 or 0● Platters can store data● Does not need to maintain power

SSDs, RAID

Page 27: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Manipulating Data

CPU● Cleverly arranged circuits can model math● Take some input state and deterministically produce some meaningful

output state● Defined instructions (code?!) allow us to tell the CPU what to do

ALU, MMU, CPU cache, Microprocessors

Page 28: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Operating System

Software that manages a computer’s hardware and runs programs

Intermediary layer between user and hardware, and applications and hardware

Kernel● The most important part of an OS● A program that controls the hardware

○ CPU, Memory, Devices

Kernel mode, Device drivers, Syscalls, Memory management, Multitasking, Scheduling, Interrupts

Page 29: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Applications

Built on top of the operating system API

Written in high level programming languages (typically)

Examples: Microsoft Office, Web Browsers, Compilers, Database Management Systems

Page 30: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Databases

Data stored on disk in a specific structured manner (think file formats)

A Database Management System (DBMS) sits on top of the database and allows other applications to interact with the data

Page 31: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

A Primitive Databasedb_set () { echo "$1,$2" >> database}

db_get () { grep "^$1," database | sed -e "s/^$1,//" | tail -n 1}

Source: Martin Kleppmann, Designing Data-Intensive Applications

Page 32: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

A Primitive Databasedb_set () { echo "$1,$2" >> database}

db_get () { grep "^$1," database | sed -e "s/^$1,//" | tail -n 1}

$ db_set 123 raymondxu.io

$ db_set 456 pokerchips.io

$ db_get 123raymondxu.io

$ cat database123,raymondxu.io456,pokerchips.io

Source: Martin Kleppmann, Designing Data-Intensive Applications

Page 33: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Databases

Real databases use data structures and algorithms for efficiency

Data modeling is representing the data requirements of an application in a useful and efficient manner

SQL, Relational Databases, NoSQL Databases, Graph Databases

Page 34: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Layering

Page 35: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Layering

Building Blocks: Transistors

Page 36: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Layering

Building Blocks: Transistors

Storing Data: Memory, Disk

Page 37: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Layering

Building Blocks: Transistors

Storing Data: Memory, Disk

Manipulating Data: CPU

Page 38: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Layering

Building Blocks: Transistors

Storing Data: Memory, Disk

Manipulating Data: CPU

Overseer: OS

Page 39: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Layering

Building Blocks: Transistors

Storing Data: Memory, Disk

Manipulating Data: CPU

Overseer: OS

User uses: Applications

Page 40: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Computers store and manipulate data.

Networks transfer data.

Page 41: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Computers store and manipulate data.

Networks transfer data.

Page 42: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Networks

So we can store and manipulate data within one computer

Page 43: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Networks

So we can store and manipulate data within one computer

How do we transfer data between computers?

Page 44: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Networks

So we can store and manipulate data within one computer

How do we transfer data between computers?● First let’s prepare the data for transmission...

Page 45: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocols

Standardized procedures for communication

Can’t just send your raw data into a network● Where does it go?● What is the data?● What if some of the data is lost?● How do you know it was sent?

Page 46: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 47: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 48: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 49: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 50: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 51: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 52: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 53: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 54: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 55: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

Page 56: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

OSI model, HTTP, TCP, IP

Page 57: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Protocol Stack

InternetHardware

IP

TCP

Application Protocols

Hardware

IP

TCP

Application Protocols

Source: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

OSI model, HTTP, TCP, IP

Page 58: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Internet

Page 59: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Internet

So we have prepared our data for transmission and can accept transmitted data

What’s inside the “Internet” box?

Internet

Page 60: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Internet Backbone

A core web of fiber optic cables● Light transmission

Source: https://en.wikipedia.org/wiki/Internet_backbone

ISPs, NAPs

Page 61: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Internet Backbone

A core web of fiber optic cables● Light transmission

Source: https://en.wikipedia.org/wiki/Internet_backbone

ISPs, NAPs

Page 62: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Routers

Routers are devices that forwards data packets

Routing tables make sure we get to the destination IP address● Another protocol

Physical and wireless transmission● WiFi uses radio signals (electromagnetic wave modulation)

Page 63: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Routers

Routers are devices that forwards data packets

Routing tables make sure we get to the destination IP address● Another protocol

Physical and wireless transmission● WiFi uses radio signals (electromagnetic wave modulation)

Routers use IP addresses — what’s the IP for google.com?

ARP, Routing protocols, Modems, WiFi, Ethernet

Page 64: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Domain Name System (DNS)

Converts web URLs into IP addresses

Distributed database that tracks names and IP addresses

Page 65: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Domain Name System (DNS)

Converts web URLs into IP addresses

Distributed database that tracks names and IP addresses

$ host google.com

google.com has address 172.217.6.238google.com has IPv6 address 2607:f8b0:4006:805::200egoogle.com mail is handled by 40 alt3.aspmx.l.google.com.google.com mail is handled by 30 alt2.aspmx.l.google.com.google.com mail is handled by 50 alt4.aspmx.l.google.com.google.com mail is handled by 10 aspmx.l.google.com.google.com mail is handled by 20 alt1.aspmx.l.google.com.

Authoritative name servers, DNS caching, Domain name registration

Page 66: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Vertical

Google

x 1,000,000

+ Distributed Systems

Networks

● Protocols● Infrastructure● Physics

Computer

● Applications● Operating System● Hardware● Physics

Computer

Page 67: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Key Takeaways

1. Computers store and manipulate data. Networks transfer data.

Page 68: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Key Takeaways

1. Computers store and manipulate data. Networks transfer data.

2. All data is bits. Bits are electricity.

Page 69: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Key Takeaways

1. Computers store and manipulate data. Networks transfer data.

2. All data is bits. Bits are electricity.

3. Computing is theoretical. Computers are machines that model computing.

Page 70: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Key Takeaways

1. Computers store and manipulate data. Networks transfer data.

2. All data is bits. Bits are electricity.

3. Computing is theoretical. Computers are machines that model computing.

4. Layering and black boxes reduce the complexity of understanding systems.

Page 71: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Key Takeaways

1. Computers store and manipulate data. Networks transfer data.

2. All data is bits. Bits are electricity.

3. Computing is theoretical. Computers are machines that model computing.

4. Layering and black boxes reduce the complexity of understanding systems.

5. “Systems in 60 Seconds” alliterates better but wouldn’t be as educational.

Page 72: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Resources

What happens when: https://github.com/alex/what-happens-when

How Does the Internet Work?: https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm

From NAND to Tetris: http://nand2tetris.org/

Page 73: Systems in 60 Minutes · Roadmap for this talk What happens when you visit google.com? Horizontally Vertically What’s the best way to learn new systems? “Envoy is a high performance

Systemsin 60 Minutes

Raymond Xuraymondxu.io