Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OTP in 15 Minutes or Less
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Gavin M. Roy
August 04, 2016
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OTP in 15 Minutes or Less
Slides for my talk given at the Philly Elixir Meetup on the OTP part of Elixir/OTP.
Gavin M. Roy
August 04, 2016
More Decks by Gavin M. Roy
See All by Gavin M. Roy
RabbitMQ, Event-Driven Architectures, and Data Warehousing
gmr
3
1.1k
Messaging Standards and Systems: AMQP & RabbitMQ
gmr
4
1k
Integrating PostgreSQL with RabbitMQ
gmr
6
2k
Sprockets
gmr
2
250
Become a Logging Expert in 30 Minutes
gmr
4
660
An Introduction to Tornado
gmr
7
300
Concurrency with Multiprocessing in Python
gmr
3
420
Other Decks in Programming
See All in Programming
ソフトウェアラスタライザ
fadis
1
780
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
140
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
250
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
290
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
160
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
FDEとは、何者なのか?
masapyon1212
0
130
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
270
高専キャリア LT 発表内容
crysta1221
6
5.5k
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
Featured
See All Featured
HDC tutorial
michielstock
2
840
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Design in an AI World
tapps
1
300
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
560
Navigating Team Friction
lara
192
16k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
870
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
330
Believing is Seeing
oripsolob
1
210
Transcript
OTP in 15 Minutes or Less Philly Elixir Meetup August
2016 Gavin M. Roy VP of Architecture AWeber Communications
Processes • Heart of Concurrency • Are light-weight independent tasks
• Share nothing • Communicate via message passing • Implement a basic contract
Processes • Are long lived in a message loop •
Can link to other processes • Can spawn other processes • Can Crash!
Enter OTP It’s not just what you do, it’s how
you do it
What is OTP? • The standard library that ships with
Erlang • Design principles for code structure • A core set of common patterns and behaviors
OTP Concepts • Applications • Collection of Modules • Runtime
Structure / Processes • Supervisors • Manage Processes • gen_* Behaviors • Releases
Applications • Application Resource File Defines application modules, defaults, and
required OTP applications • Application Behavior start/2 and stop/1 {application, name, [ {description, ""}, {vsn, "1"}, {registered, []}, {applications, [ kernel, stdlib ]}, {mod, {server, []}}, {env, []} ]}.
Supervisors Return a list of Child Specifications that • Defines
the process IDs and MFAs • What to do if processes crashes • How to shutdown the processes • What type of processes the children are
Supervision Tree S W S W W S S W
W W W W
gen_server - init/1 - handle_call/3 - handle_cast/2 -
handle_info/2 - terminate/2 - code_change/3
Other OTP Behaviors Built-In • gen_fsm (Deprecated) Finite State Machine
• gen_statem Event State Machine • gen_event Generic event handling behavior 3rd Party Examples • gen_leader Distributed Master/Slave topology • gen_tcp_server Generic TCP Server • gen_rpc Scalable Multi-node RPC library
Releases • Bundle Application • cli control application • Hot-code
swap upgrade steps
Questions? gmr @crad