SlideShare une entreprise Scribd logo
1  sur  87
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Erlang :
Because S**t
happensMahesh Paolini-Subramanya
(@dieswaytoofast)
V.P. R&D, Ubiquiti Networks
AGILITY
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Horror! The Horror!
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Dude! WTF?!?!
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Surely you Tested?
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Fault Tolerance
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
erlang…
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Parallel
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Parallel
Independent
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Parallel
Independent
Asynchronous message passing
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Parallel
Independent
Asynchronous message passing
No shared state
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Parallel
Independent
Asynchronous message passing
No shared state
Immutable data structures
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
** exception error: no match of
right hand side value
{error,unhappy}
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
** exception error: no match of
right hand side value
{error,unhappy}
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Let it crash
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Let it crash
(all the co-operating ones , that is)
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Let it crash
(all the co-operating ones , that is)
Supervisors can restart them
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Processes!
Let it crash
(all the co-operating ones , that is)
Supervisors can restart them
(When necessary!)
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
mnesia ‘n stuff
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Fault Tolerant System
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
LOOSECOUPLING
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Loose Coupling
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Loose Coupling
Breeds Trust
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Loose Coupling
Breeds Trust
Devotes Brainpower appropriately
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Loose Coupling
Breeds Trust
Devotes Brainpower appropriately
Minimizes bugs
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Fault Tolerance
60 - 90% of all SW projects fail
10 – 25% of all SW projects get abandoned
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six - Systems
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six - Systems
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
M
ONITORING
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Monitoring?
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Monitoring?
Dashboards
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Monitoring?
Dashboards
Out of band systems
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Monitoring?
Dashboards
Out of band systems
Polyglot safety
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six - Systems
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six - Systems
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
POLYGLOT
PERSISTENCE
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
(The day it all changed)
Friday, June 29th 2012
• People
• Vendors
• Fraud
Fault Tolerance
The Business
Beware the Black Swan
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Fault Tolerant
Organization
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Concurrency
The Big Six - Organizations
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Concurrency
Error encapsulation
Fault detection
The Big Six - Organizations
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six
Concurrency
Fault detection
Fault Identification
Error Encapsulation
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six - Organizations
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Concurrency
Error encapsulation
Fault detection
Fault identification
Code upgrade
The Big Six - Organizations
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
The Big Six - Organizations
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
From
http://www.erlang.org/download/armstrong_thesis_2003.pdf
• Concurrency
• Error encapsulation
• Fault detection
• Fault identification
• Code upgrade
• Stable Storage
The Big Six - Organizations
Is It Safe?
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Concurrency
Fault detection
Fault Identification
Error Encapsulation
Code upgrade
Stable Storage
EVERYW
HERE!!!
V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved
Erlang – because s**t happens
Questions
mahesh@dieswaytoofast.com
@dieswaytoofast

Contenu connexe

En vedette

Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John StevensonJAX London
 
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)Pavlo Baron
 
Winning the Erlang Edit•Build•Test Cycle
Winning the Erlang Edit•Build•Test CycleWinning the Erlang Edit•Build•Test Cycle
Winning the Erlang Edit•Build•Test CycleRusty Klophaus
 
20 reasons why we don't need architects (@pavlobaron)
20 reasons why we don't need architects (@pavlobaron)20 reasons why we don't need architects (@pavlobaron)
20 reasons why we don't need architects (@pavlobaron)Pavlo Baron
 
Messaging With Erlang And Jabber
Messaging With  Erlang And  JabberMessaging With  Erlang And  Jabber
Messaging With Erlang And Jabberl xf
 
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-SubramanyaErlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-SubramanyaHakka Labs
 
NDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business NeedsNDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business NeedsTorben Hoffmann
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012Eonblast
 
Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)
Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)
Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)Howard Lewis Ship
 
Introduction to Erlang for Python Programmers
Introduction to Erlang for Python ProgrammersIntroduction to Erlang for Python Programmers
Introduction to Erlang for Python ProgrammersPython Ireland
 
Elixir for aspiring Erlang developers
Elixir for aspiring Erlang developersElixir for aspiring Erlang developers
Elixir for aspiring Erlang developersTorben Dohrn
 
Clojure Intro
Clojure IntroClojure Intro
Clojure Introthnetos
 
Clojure: Towards The Essence of Programming
Clojure: Towards The Essence of ProgrammingClojure: Towards The Essence of Programming
Clojure: Towards The Essence of ProgrammingHoward Lewis Ship
 
Elixir Into Production
Elixir Into ProductionElixir Into Production
Elixir Into ProductionJamie Winsor
 
Clojure, Plain and Simple
Clojure, Plain and SimpleClojure, Plain and Simple
Clojure, Plain and SimpleBen Mabey
 
Clojure for Data Science
Clojure for Data ScienceClojure for Data Science
Clojure for Data ScienceMike Anderson
 

En vedette (20)

Clojure class
Clojure classClojure class
Clojure class
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
 
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)
 
High Performance Erlang
High  Performance  ErlangHigh  Performance  Erlang
High Performance Erlang
 
Clojure values
Clojure valuesClojure values
Clojure values
 
Winning the Erlang Edit•Build•Test Cycle
Winning the Erlang Edit•Build•Test CycleWinning the Erlang Edit•Build•Test Cycle
Winning the Erlang Edit•Build•Test Cycle
 
20 reasons why we don't need architects (@pavlobaron)
20 reasons why we don't need architects (@pavlobaron)20 reasons why we don't need architects (@pavlobaron)
20 reasons why we don't need architects (@pavlobaron)
 
Messaging With Erlang And Jabber
Messaging With  Erlang And  JabberMessaging With  Erlang And  Jabber
Messaging With Erlang And Jabber
 
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-SubramanyaErlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
 
From Perl To Elixir
From Perl To ElixirFrom Perl To Elixir
From Perl To Elixir
 
NDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business NeedsNDC London 2014: Erlang Patterns Matching Business Needs
NDC London 2014: Erlang Patterns Matching Business Needs
 
VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012VoltDB and Erlang - Tech planet 2012
VoltDB and Erlang - Tech planet 2012
 
Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)
Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)
Clojure: Functional Concurrency for the JVM (presented at Open Source Bridge)
 
Introduction to Erlang for Python Programmers
Introduction to Erlang for Python ProgrammersIntroduction to Erlang for Python Programmers
Introduction to Erlang for Python Programmers
 
Elixir for aspiring Erlang developers
Elixir for aspiring Erlang developersElixir for aspiring Erlang developers
Elixir for aspiring Erlang developers
 
Clojure Intro
Clojure IntroClojure Intro
Clojure Intro
 
Clojure: Towards The Essence of Programming
Clojure: Towards The Essence of ProgrammingClojure: Towards The Essence of Programming
Clojure: Towards The Essence of Programming
 
Elixir Into Production
Elixir Into ProductionElixir Into Production
Elixir Into Production
 
Clojure, Plain and Simple
Clojure, Plain and SimpleClojure, Plain and Simple
Clojure, Plain and Simple
 
Clojure for Data Science
Clojure for Data ScienceClojure for Data Science
Clojure for Data Science
 

Similaire à Erlang - Because S**t Happens

Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...Honeywell
 
Industrial Wireless Security (Japanese)
Industrial Wireless Security (Japanese)Industrial Wireless Security (Japanese)
Industrial Wireless Security (Japanese)Digital Bond
 
Quick Heal Terminator.
Quick Heal Terminator.Quick Heal Terminator.
Quick Heal Terminator.vishalrhce
 
Quick Heal Terminator.
Quick Heal Terminator.Quick Heal Terminator.
Quick Heal Terminator.Revolucion
 
Maitrisez l'évolution de vos infrastructures avec ViPR SRM & Controller
Maitrisez l'évolution de vos infrastructures avec ViPR SRM & ControllerMaitrisez l'évolution de vos infrastructures avec ViPR SRM & Controller
Maitrisez l'évolution de vos infrastructures avec ViPR SRM & ControllerRSD
 
Kranky geeklondon build an app
Kranky geeklondon build an appKranky geeklondon build an app
Kranky geeklondon build an appTim Panton
 
Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...
Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...
Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...Razorfish
 
VIPER Labs - VOIP Security - SANS Summit
VIPER Labs - VOIP Security - SANS SummitVIPER Labs - VOIP Security - SANS Summit
VIPER Labs - VOIP Security - SANS SummitShah Sheikh
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Ian Skerrett
 
Exploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous DronesExploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous DronesPraetorian
 
LoRaWAN Security Webinar
LoRaWAN Security WebinarLoRaWAN Security Webinar
LoRaWAN Security WebinarActility
 
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Mike Qin
 
How to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ngHow to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ngOpen Knowledge Nepal
 
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Priyanka Aash
 
" Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on..." Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on...PROIDEA
 
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit04122016 web rtc_globalsummit
04122016 web rtc_globalsummitKensaku Komatsu
 
Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)William Yeh
 
Web Application Frewall
Web Application FrewallWeb Application Frewall
Web Application FrewallAbhishek Singh
 
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)FFRI, Inc.
 

Similaire à Erlang - Because S**t Happens (20)

Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
Yokogawa & NextNine – Lessons Learned: Global Cybersecurity Management System...
 
Industrial Wireless Security (Japanese)
Industrial Wireless Security (Japanese)Industrial Wireless Security (Japanese)
Industrial Wireless Security (Japanese)
 
Quick Heal Terminator.
Quick Heal Terminator.Quick Heal Terminator.
Quick Heal Terminator.
 
Quick Heal Terminator.
Quick Heal Terminator.Quick Heal Terminator.
Quick Heal Terminator.
 
Maitrisez l'évolution de vos infrastructures avec ViPR SRM & Controller
Maitrisez l'évolution de vos infrastructures avec ViPR SRM & ControllerMaitrisez l'évolution de vos infrastructures avec ViPR SRM & Controller
Maitrisez l'évolution de vos infrastructures avec ViPR SRM & Controller
 
Kranky geeklondon build an app
Kranky geeklondon build an appKranky geeklondon build an app
Kranky geeklondon build an app
 
Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...
Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...
Razorfish 2014 Tech Summit - Senior Director, Product Management at Qualcomm ...
 
VIPER Labs - VOIP Security - SANS Summit
VIPER Labs - VOIP Security - SANS SummitVIPER Labs - VOIP Security - SANS Summit
VIPER Labs - VOIP Security - SANS Summit
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
 
Exploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous DronesExploring Risk and Mapping the Internet of Things with Autonomous Drones
Exploring Risk and Mapping the Internet of Things with Autonomous Drones
 
LoRaWAN Security Webinar
LoRaWAN Security WebinarLoRaWAN Security Webinar
LoRaWAN Security Webinar
 
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
Blockchain Software for Hardware: The Canaan AvalonMiner Open Source Embedded...
 
How to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ngHow to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ng
 
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...Breaking Extreme Networks WingOS: How to own millions of devices running on A...
Breaking Extreme Networks WingOS: How to own millions of devices running on A...
 
" Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on..." Breaking Extreme Networks WingOS: How to own millions of devices running on...
" Breaking Extreme Networks WingOS: How to own millions of devices running on...
 
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit04122016 web rtc_globalsummit
04122016 web rtc_globalsummit
 
Zerovm backgroud
Zerovm backgroudZerovm backgroud
Zerovm backgroud
 
Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)
 
Web Application Frewall
Web Application FrewallWeb Application Frewall
Web Application Frewall
 
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
Black Hat USA 2015 Survey Report (FFRI Monthly Research 201508)
 

Dernier

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Dernier (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Erlang - Because S**t Happens

  • 1. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Erlang : Because S**t happensMahesh Paolini-Subramanya (@dieswaytoofast) V.P. R&D, Ubiquiti Networks
  • 2.
  • 4. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Horror! The Horror!
  • 5. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Dude! WTF?!?!
  • 6. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Surely you Tested?
  • 7.
  • 8. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Fault Tolerance From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 9. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 10. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 11. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 12. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 13. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 14. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 15. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens erlang…
  • 16. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 17. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 18. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Parallel From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 19. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Parallel Independent From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 20. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Parallel Independent Asynchronous message passing From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 21. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Parallel Independent Asynchronous message passing No shared state From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 22. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Parallel Independent Asynchronous message passing No shared state Immutable data structures From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 23. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 24. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 25. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens ** exception error: no match of right hand side value {error,unhappy}
  • 26. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 27. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 28. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens ** exception error: no match of right hand side value {error,unhappy}
  • 29. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 30. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 31.
  • 32. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Let it crash From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 33. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Let it crash (all the co-operating ones , that is) From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 34. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Let it crash (all the co-operating ones , that is) Supervisors can restart them From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 35. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Processes! Let it crash (all the co-operating ones , that is) Supervisors can restart them (When necessary!) From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 36. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 37.
  • 38. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 39. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 40.
  • 41. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens mnesia ‘n stuff
  • 42.
  • 43. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Fault Tolerant System
  • 44. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 45. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 46. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf LOOSECOUPLING
  • 47. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Loose Coupling
  • 48. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Loose Coupling Breeds Trust
  • 49. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 50. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Loose Coupling Breeds Trust Devotes Brainpower appropriately
  • 51. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 52. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Loose Coupling Breeds Trust Devotes Brainpower appropriately Minimizes bugs
  • 53.
  • 54. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 55. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Fault Tolerance 60 - 90% of all SW projects fail 10 – 25% of all SW projects get abandoned
  • 56. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 57. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six - Systems Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage
  • 58. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six - Systems Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage M ONITORING
  • 59. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Monitoring?
  • 60. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Monitoring? Dashboards
  • 61. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Monitoring? Dashboards Out of band systems
  • 62. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Monitoring? Dashboards Out of band systems Polyglot safety
  • 63. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six - Systems Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage
  • 64. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six - Systems Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage POLYGLOT PERSISTENCE
  • 65.
  • 66.
  • 67.
  • 68. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens (The day it all changed) Friday, June 29th 2012
  • 69. • People • Vendors • Fraud Fault Tolerance
  • 71. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Fault Tolerant Organization
  • 72. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 73. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Concurrency The Big Six - Organizations
  • 74. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 75. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 76. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens
  • 77. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 78. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Concurrency Error encapsulation Fault detection The Big Six - Organizations
  • 79. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six Concurrency Fault detection Fault Identification Error Encapsulation From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 80.
  • 81. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six - Organizations Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 82. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Concurrency Error encapsulation Fault detection Fault identification Code upgrade The Big Six - Organizations
  • 83. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens The Big Six - Organizations Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage From http://www.erlang.org/download/armstrong_thesis_2003.pdf
  • 84. • Concurrency • Error encapsulation • Fault detection • Fault identification • Code upgrade • Stable Storage The Big Six - Organizations
  • 86. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Concurrency Fault detection Fault Identification Error Encapsulation Code upgrade Stable Storage EVERYW HERE!!!
  • 87. V 1.0 © Ubiquiti Networks, Inc. All Rights Reserved Erlang – because s**t happens Questions mahesh@dieswaytoofast.com @dieswaytoofast

Notes de l'éditeur

  1. An overall approach to Preparedness
  2. The Buddha nature of erlang – Fault Tolerance
  3. This is a story about unexpectedness.The only constant is change
  4. We’ve all been confronted by this
  5. Some of us have been confronted by this
  6. And you always get asked this
  7. There is only so much planning you can do. At some point, the 1000 year flood hits
  8. The point being – shit happens, how are you going to deal with it?
  9. Do more than one thing at a time
  10. Know when something breaks
  11. Know what broke
  12. Don’t let it spread
  13. Fix it
  14. ‘save game’ so you can do-over
  15. Butwe know this.
  16. Lets take this one at a time
  17. The Six Essential Characteristics of a Fault Tolerant System
  18. Do more than one thing at a time
  19. Do more than one thing at a time
  20. Do more than one thing at a time
  21. Do more than one thing at a time
  22. Do more than one thing at a time
  23. The Six Essential Characteristics of a Fault Tolerant System
  24. Only one success case here
  25. Fail fast and fail stop
  26. Only one success case here
  27. The Six Essential Characteristics of a Fault Tolerant System
  28. The process tells everyone what happenedStack traces are your friend.Its Not Java!
  29. Only one success case here
  30. The Six Essential Characteristics of a Fault Tolerant System
  31. Let it Crash
  32. Do more than one thing at a time
  33. Do more than one thing at a time
  34. Do more than one thing at a time
  35. Do more than one thing at a time
  36. The Six Essential Characteristics of a Fault Tolerant System
  37. Go get catfood
  38. Let it Crash
  39. The Six Essential Characteristics of a Fault Tolerant System
  40. The back up bag
  41. Processes are units of error encapsulation(and good for GC too!)
  42. Fault Tolerance and SystemsThink of this FORMALLY
  43. The bottom line – can your organization deal with the above issues?
  44. The Six Essential Characteristics of a Fault Tolerant System
  45. The Six Essential Characteristics of a Fault Tolerant System
  46. The Six Essential Characteristics of a Fault Tolerant System
  47. Loose Coupling, of course, gives us all these benefits
  48. Loose Coupling, of course, gives us all these benefits
  49. Builds trust  Trust in the stupidity of people, trust that things will fail, trust that you will be affected
  50. Loose Coupling, of course, gives us all these benefits
  51. The amount of brainpower we have is limited.Reduce complexity by being able to focus on specific / limited areas
  52. Loose Coupling, of course, gives us all these benefits
  53. Andrew!
  54. Isn’t Performance an issue w/ Loose Coupling?
  55. remember the bit about failure? well, why optimize if you're going to fail anyhow? yeah yeah, you might fail because you don't perform, but that is rarely the problem
  56. Work / Elegant / Fast;yes, that mine craft plugin you built might gt a million signupsit won’tseriously – it doesn't register statistically
  57. Fault detection and identification?
  58. Monitoring!
  59. DashboardsOtherwise, how do you know whats going on?
  60. Out of band access Don’t rely on the system to always tell you whats happening
  61. Be PolyglotEverything fails – even erlang. (noooo)
  62. Loose Coupling, of course, gives us all these benefits
  63. Loose Coupling, of course, gives us all these benefits
  64. Don’t cross the streams!
  65. Fault Tolerance and OrganizationsThink of this FORMALLY
  66. People fall ill
  67. AWS will go down
  68. CFOs run off to brazil
  69. Tail Risk (Things that can never happen)This deserves its own section(financial crisis)
  70. The bottom line – can your organization deal with the above issues?
  71. The Six Essential Characteristics of a Fault Tolerant Organization
  72. Easy right?Things can happen in parallel?
  73. you'd be surprised at how poorly this gets done micromanagement (supervision gone bad) chaining (good for AR/AP, bad for decision making) e.g. – memos that get passed around for approval
  74. “Bob is ill”  Ahrens Fox!
  75. "Bob was working on the financial projections. He has the flu, so won't be able to get to it for another week. And that means that we won't know what to buy for two weeks…”
  76. (Ahrens Fox) "Bob was working on the financial projections. He has the flu, so won't be able to get to it for another week. And that means that we won't know what to buy for two weeks…”
  77. The Six Essential Characteristics of a Fault Tolerant Organization
  78. If bob is ill, will you survive
  79. The Six Essential Characteristics of a Fault Tolerant Organization
  80. Onboarding people is importantThis is not what it should feel like for Bob’s replacement
  81. The Six Essential Characteristics of a Fault Tolerant Organization
  82. Documentation, policies, corporate knowledge, corporate culture methods, access codes, Try to have work/knowledge distributed so that if/when you need to let someone go, things can continue till you get someone new!)
  83. Ask yourself this. Over and over again…
  84. Loose Coupling, of course, gives us all these benefits