The Zen Of Erlang

27

Click here to load reader

Transcript of The Zen Of Erlang

Page 1: The Zen Of Erlang

1

FRED HEBERT

THE ZEN OF ERLANG

Page 2: The Zen Of Erlang

2

LET IT CRASH

Page 3: The Zen Of Erlang

EurekaPresentation 3

BLOW IT UP

ROCKET SCIENCE

Page 4: The Zen Of Erlang

EurekaPresentation 4

CONTROLLED BURNS

FIGHT FIRE WITH FIRE

Page 5: The Zen Of Erlang

5

PROCESSES

FULLY ISOLATED

Page 6: The Zen Of Erlang

EurekaPresentation 6

ASYNCHRONOUS

MESSAGE PASSING

Page 7: The Zen Of Erlang

7

LINKS & MONITORS

CODIFYING DEPENDENCIES

Page 8: The Zen Of Erlang

EurekaPresentation 8

PREEMPTIVE SCHEDULING

DON’T TRUST THE DEVS

Page 9: The Zen Of Erlang

EurekaPresentation 9

FAILOVERS

NETWORK AWARE

Page 10: The Zen Of Erlang

10

LET IT CRASH

Page 11: The Zen Of Erlang

EurekaPresentation 11

SUPERVISION TREES

STRUCTURE INTERACTIONS

Page 12: The Zen Of Erlang

12

Old

New

1 13 32

Old

New

1 3 1 2 3

Old

New

1 1 13 2 3

SUPERVISORSst rategies

Page 13: The Zen Of Erlang

13

WHY RESTARTING

WORKSHEISENBUGS & FRIENDS

Page 14: The Zen Of Erlang

14

REPEATABLE TRANSIENT

CORE FEATURE EASY HARD

SECONDARY FEATURE

EASY, OFTEN OVERLOOKED

HARD

Why restart ing works

EASE OF FINDING BUGS IN DEVELOPMENT

Page 15: The Zen Of Erlang

15

REPEATABLE TRANSIENT

CORE FEATURE SHOULD NEVER ALL THE TIME

SECONDARY FEATURE PRETTY OFTEN ALL THE TIME

Why restart ing works

BUGS THAT HAPPEN IN PRODUCTION

Page 16: The Zen Of Erlang

16

REPEATABLE TRANSIENT

CORE FEATURE NO YES

SECONDARY FEATURE DEPENDS YES

Why restart ing works

BUGS HANDLED BY RESTARTS

Page 17: The Zen Of Erlang

17

“I LIKE STATICALLY TYPED LANGUAGES, AND I RESTART MY

DAEMON AFTER UNHANDLED EXCEPTIONS. WHAT IS ERLANG

GONNA WIN ME ON FAULT TOLERANCE?”

- FORUM USER “Notorious b.s.d.”

Page 18: The Zen Of Erlang

18

ROOT

TALLY

DISTRICT

QUEBEC ONTARIO …

COUNT OCR

C_OCR

WORKER POOL

STORAGE

CACHE

POOL WORKER

POOL WORKER

POOL WORKER

WEB SERVER

LIVE REPORTS

SESSIONS

…WEB

WORKERWEB

WORKERWEB

WORKER

SUPERVISION TREES

Page 19: The Zen Of Erlang

19

ROOT

TALLY

DISTRICT

QUEBEC ONTARIO …

COUNT OCR

C_OCR

WORKER POOL

STORAGE

CACHE

POOL WORKER

POOL WORKER

POOL WORKER

WEB SERVER

LIVE REPORTS

SESSIONS

…WEB

WORKERWEB

WORKERWEB

WORKER

SUPERVISION TREES

Page 20: The Zen Of Erlang

20

ROOT

TALLY

DISTRICT

QUEBEC ONTARIO …

COUNT OCR

C_OCR

WORKER POOL

STORAGE

CACHE

POOL WORKER

POOL WORKER

POOL WORKER

WEB SERVER

LIVE REPORTS

SESSIONS

…WEB

WORKERWEB

WORKERWEB

WORKER

SUPERVISION TREES

REPORT_APPTALLY_APP

STORAGE_APP

Page 21: The Zen Of Erlang

21

but probably not…

HOPEFULLY

SLEEP AT NIGHT

Page 22: The Zen Of Erlang

EurekaPresentation 22

EXPECT FAILURE

Page 23: The Zen Of Erlang

23

DANGER ZONE

laid-back area

The r i sk of gett ing comfortable

WELL-DEFINED OPERATING CONDITIONS ERODE OVER TIME

Page 24: The Zen Of Erlang
Page 25: The Zen Of Erlang

EurekaPresentation 25

HOW THINGS INTERACT

IN A NUTSHELL

Page 26: The Zen Of Erlang
Page 27: The Zen Of Erlang

27

Total ly advert is ing f ree books to you a l l

QUESTIONS?

@MONONCQC