SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
ERLANG
SILICON VALLEY
MEETUP
April 14, 2014
AGENDA
6:30 - Doors open
6:45 - Introduction / Announcements
7:00 - Why Erlang?
7:45 - Meetup Organization
8:15 - Erlang Intro
9:00 - Doors close
INTRODUCTION
AND
ANNOUNCEMENTS
DOUG GOLDIE
Freelance developer, architect, consultant
Ruby, Rails stack
Boatbound, V.me at Visa, Paynearme
doug@codecauldron.com
WHY ERLANG?
by Doug Goldie
WHATSAPP
• 465M monthly users
• 19B messages in & 40B out per day
• Small team (~10 on Erlang),
handle development and ops
• ~ 550 servers + standby gear
• > 11,000 cores
A YEAR AGO…
• I took the summer off….
• “Why Erlang?”
• Challenges of SOA
• Curious about Erlang.
• Learn a functional language again.
ERICSSON
TELECOM NEEDED
• Concurrency
• Distribution
• Fault Tolerance
• Soft real-time
• Hot code upgrade
• Incremental code loading
• External interfaces
ERLANG
CONCURRENCY
• Isolated processes
• Asynchronous messaging passing
• Actor model
Why erlang
Why erlang
Why erlang
Distributed
FAULT TOLERANCE
Reliability
Redundancy
Nine nines 99.9999999%
SOFT REAL-TIME
Deadlines
Soft allows some slip
SOFT REAL-TIME
Lightweight processes.
Garbage collection
HOT
CODE
UPGRAD
E
Why erlang
INCREMENTAL CODE LOADING
EXTERNAL INTERFACES
–Robert Virding, OTP class, 2014
“It’s about building Systems.”
ERLANG LANGUAGE
FUNCTIONAL
fac(N) when N == 0 -> 1;
fac(N) when N > 0 -> N*fac(N-1).
Recursion
double([H|T]) -> [2*H|double(T)];
double([]) -> [].
Pattern matching
MODULES, ETC.
• Modules
• Behaviours
ERLANG/OTP
OTP• Library of Design
Patterns
• Supervision Tree
• Workers and
supervisors
• Behaviours
CLIENT SERVER
gen_server
FINITE STATE MACHINE
gen_fsm
Why erlang
ELIXIR
• Jose Valim
• Light layer of syntactic sugar
• Pipes
• Macros
THE WEB
THE WEB
• Concurrent
• Soft real-time
• Asynchronous
• Omnipresent
• Internet of Things
Why erlang
REFERENCES
• Erlang and the Web
http://ninenines.eu/docs/en/cowboy/HEAD/guide/erlang_web/
• Concurrency Oriented Programming in Erlang
http://www.guug.de/veranstaltungen/ffg2003/papers/ffg2003-armstrong.pdf
• Why OO Sucks
http://www.sics.se/~joe/bluetail/vol1/v1_oo.html
• Erlang Central
https://erlangcentral.org/
• Erlang History
http://www.erlang.org/faq/academic.html
• WhatsApp presentation
http://www.erlang-factory.com/conference/show/conference-6/home/#rick-reed
DOUG GOLDIE
doug@codecauldron.com

Weitere ähnliche Inhalte

Andere mochten auch

Developing web apps using Erlang-Web
Developing web apps using Erlang-WebDeveloping web apps using Erlang-Web
Developing web apps using Erlang-Webfanqstefan
 
Erlang web framework: Chicago boss
Erlang web framework: Chicago bossErlang web framework: Chicago boss
Erlang web framework: Chicago bossBarcamp Saigon
 
Caching Strategies for an Erlang Based Web Stack
Caching Strategies for an Erlang Based Web StackCaching Strategies for an Erlang Based Web Stack
Caching Strategies for an Erlang Based Web Stackenriquepazperez
 
learn you some erlang - chap 6 to chap7
learn you some erlang - chap 6 to chap7learn you some erlang - chap 6 to chap7
learn you some erlang - chap 6 to chap7경미 김
 
learn you some erlang - chap0 to chap2
learn you some erlang - chap0 to chap2learn you some erlang - chap0 to chap2
learn you some erlang - chap0 to chap2경미 김
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...GeeksLab Odessa
 
Erlang Concurrency
Erlang ConcurrencyErlang Concurrency
Erlang ConcurrencyBarry Ezell
 
Lightning Talk: Erlang on Xen - Mikhail Bortnyk
Lightning Talk: Erlang on Xen - Mikhail BortnykLightning Talk: Erlang on Xen - Mikhail Bortnyk
Lightning Talk: Erlang on Xen - Mikhail BortnykElixir Club
 
The mystique of erlang
The mystique of erlangThe mystique of erlang
The mystique of erlangCarob Cherub
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Dipti Borkar
 
Erlang plus BDB: Disrupting the Conventional Web Wisdom
Erlang plus BDB: Disrupting the Conventional Web WisdomErlang plus BDB: Disrupting the Conventional Web Wisdom
Erlang plus BDB: Disrupting the Conventional Web Wisdomguest3933de
 
Erlang Developments: The Good, The Bad and The Ugly
Erlang Developments: The Good, The Bad and The UglyErlang Developments: The Good, The Bad and The Ugly
Erlang Developments: The Good, The Bad and The Uglyenriquepazperez
 
Exception Handler, Controller Advice Of Spring
Exception Handler, Controller Advice Of SpringException Handler, Controller Advice Of Spring
Exception Handler, Controller Advice Of SpringHyun Dong Lee
 
Erlang Practice
Erlang PracticeErlang Practice
Erlang Practicelitaocheng
 
Intro to Erlang
Intro to ErlangIntro to Erlang
Intro to ErlangKen Pratt
 
learn you some erlang - chap13 to chap14
learn you some erlang - chap13 to chap14learn you some erlang - chap13 to chap14
learn you some erlang - chap13 to chap14경미 김
 
Erlang For Five Nines
Erlang For Five NinesErlang For Five Nines
Erlang For Five NinesBarcamp Cork
 
An introduction to erlang
An introduction to erlangAn introduction to erlang
An introduction to erlangMirko Bonadei
 

Andere mochten auch (20)

Developing web apps using Erlang-Web
Developing web apps using Erlang-WebDeveloping web apps using Erlang-Web
Developing web apps using Erlang-Web
 
Erlang web framework: Chicago boss
Erlang web framework: Chicago bossErlang web framework: Chicago boss
Erlang web framework: Chicago boss
 
Caching Strategies for an Erlang Based Web Stack
Caching Strategies for an Erlang Based Web StackCaching Strategies for an Erlang Based Web Stack
Caching Strategies for an Erlang Based Web Stack
 
learn you some erlang - chap 6 to chap7
learn you some erlang - chap 6 to chap7learn you some erlang - chap 6 to chap7
learn you some erlang - chap 6 to chap7
 
learn you some erlang - chap0 to chap2
learn you some erlang - chap0 to chap2learn you some erlang - chap0 to chap2
learn you some erlang - chap0 to chap2
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
 
MPI, Erlang and the web
MPI, Erlang and the webMPI, Erlang and the web
MPI, Erlang and the web
 
Erlang Concurrency
Erlang ConcurrencyErlang Concurrency
Erlang Concurrency
 
Lightning Talk: Erlang on Xen - Mikhail Bortnyk
Lightning Talk: Erlang on Xen - Mikhail BortnykLightning Talk: Erlang on Xen - Mikhail Bortnyk
Lightning Talk: Erlang on Xen - Mikhail Bortnyk
 
The mystique of erlang
The mystique of erlangThe mystique of erlang
The mystique of erlang
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0
 
Erlang plus BDB: Disrupting the Conventional Web Wisdom
Erlang plus BDB: Disrupting the Conventional Web WisdomErlang plus BDB: Disrupting the Conventional Web Wisdom
Erlang plus BDB: Disrupting the Conventional Web Wisdom
 
Erlang on OSv
Erlang on OSvErlang on OSv
Erlang on OSv
 
Erlang Developments: The Good, The Bad and The Ugly
Erlang Developments: The Good, The Bad and The UglyErlang Developments: The Good, The Bad and The Ugly
Erlang Developments: The Good, The Bad and The Ugly
 
Exception Handler, Controller Advice Of Spring
Exception Handler, Controller Advice Of SpringException Handler, Controller Advice Of Spring
Exception Handler, Controller Advice Of Spring
 
Erlang Practice
Erlang PracticeErlang Practice
Erlang Practice
 
Intro to Erlang
Intro to ErlangIntro to Erlang
Intro to Erlang
 
learn you some erlang - chap13 to chap14
learn you some erlang - chap13 to chap14learn you some erlang - chap13 to chap14
learn you some erlang - chap13 to chap14
 
Erlang For Five Nines
Erlang For Five NinesErlang For Five Nines
Erlang For Five Nines
 
An introduction to erlang
An introduction to erlangAn introduction to erlang
An introduction to erlang
 

Ähnlich wie Why erlang

Localization Realization
Localization RealizationLocalization Realization
Localization RealizationAaron Douglas
 
How to run a global, cloud scale event for 10000 people
How to run a global, cloud scale event for 10000 peopleHow to run a global, cloud scale event for 10000 people
How to run a global, cloud scale event for 10000 peopleRobBos10
 
ELEKS_Company_Overview
ELEKS_Company_OverviewELEKS_Company_Overview
ELEKS_Company_OverviewIryna Machkur
 
How children learn software testing
How children learn software testingHow children learn software testing
How children learn software testingKari Kakkonen
 
on job training in banga
on job training in bangaon job training in banga
on job training in bangaCegonsoft Fames
 
Scaling Uber
Scaling UberScaling Uber
Scaling UberC4Media
 
2022-11-08 All About career path in Salesforce Eco System_KR.pdf
2022-11-08 All About career path in Salesforce Eco System_KR.pdf2022-11-08 All About career path in Salesforce Eco System_KR.pdf
2022-11-08 All About career path in Salesforce Eco System_KR.pdfJihun Jung
 
UTICamp-2020. Postgraduate Translation Study at KU Leuven, Antwerp
UTICamp-2020. Postgraduate Translation Study at KU Leuven, AntwerpUTICamp-2020. Postgraduate Translation Study at KU Leuven, Antwerp
UTICamp-2020. Postgraduate Translation Study at KU Leuven, AntwerpUTICamp
 
OneHourTranslation - AWS Cloud Case Study
OneHourTranslation - AWS Cloud Case StudyOneHourTranslation - AWS Cloud Case Study
OneHourTranslation - AWS Cloud Case StudyNewvewm
 
inplant training for ece students || inplant training for engineering student...
inplant training for ece students || inplant training for engineering student...inplant training for ece students || inplant training for engineering student...
inplant training for ece students || inplant training for engineering student...Cegonsoft Fames
 
hossam ahmed salah CV
hossam ahmed salah CVhossam ahmed salah CV
hossam ahmed salah CVHossam Salah
 
How To Train Your Microservice
How To Train Your MicroserviceHow To Train Your Microservice
How To Train Your MicroserviceVMware Tanzu
 
Childcare Web Application
Childcare Web ApplicationChildcare Web Application
Childcare Web ApplicationDiego Perdomo
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future KeynoteSimon Ritter
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace WayPhil Wilkins
 

Ähnlich wie Why erlang (20)

Localization Realization
Localization RealizationLocalization Realization
Localization Realization
 
How to run a global, cloud scale event for 10000 people
How to run a global, cloud scale event for 10000 peopleHow to run a global, cloud scale event for 10000 people
How to run a global, cloud scale event for 10000 people
 
ELEKS_Company_Overview
ELEKS_Company_OverviewELEKS_Company_Overview
ELEKS_Company_Overview
 
ELEKS-Company-Overview
ELEKS-Company-OverviewELEKS-Company-Overview
ELEKS-Company-Overview
 
LVOUG news 5-OCT-2015
LVOUG news 5-OCT-2015LVOUG news 5-OCT-2015
LVOUG news 5-OCT-2015
 
How children learn software testing
How children learn software testingHow children learn software testing
How children learn software testing
 
on job training in banga
on job training in bangaon job training in banga
on job training in banga
 
Scaling Uber
Scaling UberScaling Uber
Scaling Uber
 
2022-11-08 All About career path in Salesforce Eco System_KR.pdf
2022-11-08 All About career path in Salesforce Eco System_KR.pdf2022-11-08 All About career path in Salesforce Eco System_KR.pdf
2022-11-08 All About career path in Salesforce Eco System_KR.pdf
 
LVOUG meetup #14
LVOUG meetup #14LVOUG meetup #14
LVOUG meetup #14
 
UTICamp-2020. Postgraduate Translation Study at KU Leuven, Antwerp
UTICamp-2020. Postgraduate Translation Study at KU Leuven, AntwerpUTICamp-2020. Postgraduate Translation Study at KU Leuven, Antwerp
UTICamp-2020. Postgraduate Translation Study at KU Leuven, Antwerp
 
OneHourTranslation - AWS Cloud Case Study
OneHourTranslation - AWS Cloud Case StudyOneHourTranslation - AWS Cloud Case Study
OneHourTranslation - AWS Cloud Case Study
 
inplant training for ece students || inplant training for engineering student...
inplant training for ece students || inplant training for engineering student...inplant training for ece students || inplant training for engineering student...
inplant training for ece students || inplant training for engineering student...
 
hossam ahmed salah CV
hossam ahmed salah CVhossam ahmed salah CV
hossam ahmed salah CV
 
How To Train Your Microservice
How To Train Your MicroserviceHow To Train Your Microservice
How To Train Your Microservice
 
Childcare Web Application
Childcare Web ApplicationChildcare Web Application
Childcare Web Application
 
Gülden akyıldızcv1
Gülden akyıldızcv1Gülden akyıldızcv1
Gülden akyıldızcv1
 
Java: Create The Future Keynote
Java: Create The Future KeynoteJava: Create The Future Keynote
Java: Create The Future Keynote
 
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conferenceJava Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
Java Certification by HUJAK - 2015-05-12 - at JavaCro'15 conference
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace Way
 

Kürzlich hochgeladen

Discussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in GhanaDiscussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in GhanaDesmond Israel
 
Test Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_PresentationTest Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_PresentationUiPathCommunity
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfmchristianalwyn
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSedrianrheine
 
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...Anju21552
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Shubham Pant
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024Jan Löffler
 
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)Internet 2.0 Conference
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteMavein
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsRoxana Stingu
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxnaveenithkrishnan
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSlesteraporado16
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...APNIC
 

Kürzlich hochgeladen (13)

Discussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in GhanaDiscussing Potential of Submarine Cables Causing Internet Blackout in Ghana
Discussing Potential of Submarine Cables Causing Internet Blackout in Ghana
 
Test Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_PresentationTest Automation with Gen AI_Final_Presentation
Test Automation with Gen AI_Final_Presentation
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
 
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
Aligning Testing Objectives with Overall Project Goals for Successful Outcome...
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024
 
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
 
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
Internet 2.0 Conference (Event Information Deck | Dec'24 - Mar'25)
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a Website
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptx
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 

Why erlang