Presentations
Templates
Features
Teams
Pricing
Log in
Sign up
Log in
Sign up
Menu
Erlang/OTP
"Systems that run forever, self-heal and scale"
Background
Ericsson in the 80s
Programming telephone switches
Joe Armstrong (@joeerl) & others
Inspiration in lots of languages inc. Smalltalk & Prolog
High availability
Concurrency
Language
Functional
Pattern Matching
Prolog syntax
Small
Concurrency (Actor Model)
Independent entities that communicate through messaging
No shared state
Asynchronous Communication
Implemented using lightweight processes
Let It Crash
Don't trap errors in code, let Actors die
Crash at the point of failure = Error detection
Don't spread to other parts of system = Error containment
Supervisors
Watch over worker processes
Start & Restart
Rule based
Children can be workers or other supervisors
Supervision Trees
Error recovery
Erlang Systems
Applications & Processes
Feels like an operating system
Interactive, tools for inspection
'Hot' code loading
Micro (nano?) services
Large surface area
Distributed Erlang / OTP
Location transparency
Erlang clusters
ErlangOTP - library / framework for building robust systems
"Systems That Run Forever'
By Ryan Gough
Made with Slides.com
"Systems That Run Forever'
828
Ryan Gough
Software developer, C# by day, Erlang and JS by night.
ryanwgough.com
ryanwgough
More from
Ryan Gough