SlideShare une entreprise Scribd logo
1  sur  35
 
 
Erlang + EDTK + BDB: Disrupting the Web Margo Seltzer Architect
What kind  of talk is this? ,[object Object],[object Object],[object Object]
Erlang  + EDTK + BDB: Huh? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Erlang +  EDTK  + BDB: Huh? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Erlang + EDTK +  BDB : Huh? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Disruptive Technology ,[object Object]
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
An Internet Service Clients Load  Balancer .NET Java The Internet App Servers Database Servers
An Internet Service Clients Load  Balancer .NET Java CGI PHP LISP Perl The Internet Database Servers
An Internet Service Clients Load  Balancer BDB CGI Perl Application Code The Internet Servers
The Software Architecture ,[object Object],Gazillion Active Ports Fraction of a gazillion threads A relatively small number of disks
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
The Erlang Approach ,[object Object],[object Object],[object Object]
Don’t Fight the Problem ,[object Object],[object Object],[object Object]
Don’t Fight the the Network ,[object Object],[object Object],[object Object]
Don’t Fight Distributed Software ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Erlang Tricks: Processes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Erlang Tricks: Links ,[object Object],[object Object],[object Object],[object Object],[object Object]
Erlang Tricks: Concurrency ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Erlang Nuts and Bolts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Spawning Processes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Message send and receive ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Send/Receive Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Send/Receive Execution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BDB in Erlang ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EDTK fixes mismatch ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
And the code looks like BDB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object]
An Internet Service Clients Load  Balancer Servers The Internet
How does it Perform? From: http://www.sics.se/~joe/apachevsyaws.html
Acknowledgements ,[object Object],[object Object],[object Object]
A Q &
 

Contenu connexe

Tendances

Tendances (20)

Steelcon 2014 - Process Injection with Python
Steelcon 2014 - Process Injection with PythonSteelcon 2014 - Process Injection with Python
Steelcon 2014 - Process Injection with Python
 
Building Your Own DSL with Xtext
Building Your Own DSL with XtextBuilding Your Own DSL with Xtext
Building Your Own DSL with Xtext
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbg
 
Practical Malware Analysis Ch13
Practical Malware Analysis Ch13Practical Malware Analysis Ch13
Practical Malware Analysis Ch13
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for Rubyists
 
Packers
PackersPackers
Packers
 
Microservices are ‘easy’ dependencies are hard
Microservices are ‘easy’ dependencies are hardMicroservices are ‘easy’ dependencies are hard
Microservices are ‘easy’ dependencies are hard
 
Reactive Web 101: WebFlux, WebClient, and Reactor Netty
Reactive Web 101: WebFlux, WebClient, and Reactor NettyReactive Web 101: WebFlux, WebClient, and Reactor Netty
Reactive Web 101: WebFlux, WebClient, and Reactor Netty
 
Onion Architecture and the Blog
Onion Architecture and the BlogOnion Architecture and the Blog
Onion Architecture and the Blog
 
CNIT 126 7: Analyzing Malicious Windows Programs
CNIT 126 7: Analyzing Malicious Windows ProgramsCNIT 126 7: Analyzing Malicious Windows Programs
CNIT 126 7: Analyzing Malicious Windows Programs
 
rsyslog meets docker
rsyslog meets dockerrsyslog meets docker
rsyslog meets docker
 
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbgPractical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
Practical Malware Analysis: Ch 10: Kernel Debugging with WinDbg
 
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
Captain Hook: Pirating AVs to Bypass Exploit MitigationsCaptain Hook: Pirating AVs to Bypass Exploit Mitigations
Captain Hook: Pirating AVs to Bypass Exploit Mitigations
 
CNIT 126 12: Covert Malware Launching
CNIT 126 12: Covert Malware LaunchingCNIT 126 12: Covert Malware Launching
CNIT 126 12: Covert Malware Launching
 
Lock-free algorithms for Kotlin Coroutines
Lock-free algorithms for Kotlin CoroutinesLock-free algorithms for Kotlin Coroutines
Lock-free algorithms for Kotlin Coroutines
 
Reactive applications with Akka.Net - DDD East Anglia 2015
Reactive applications with Akka.Net - DDD East Anglia 2015Reactive applications with Akka.Net - DDD East Anglia 2015
Reactive applications with Akka.Net - DDD East Anglia 2015
 
Scripting robot
Scripting robotScripting robot
Scripting robot
 
What's the "right" PHP Framework?
What's the "right" PHP Framework?What's the "right" PHP Framework?
What's the "right" PHP Framework?
 

En vedette

Kynning 1.Stig 21.02
Kynning 1.Stig 21.02Kynning 1.Stig 21.02
Kynning 1.Stig 21.02
ingi
 
香港六合彩让赚钱更容易
香港六合彩让赚钱更容易香港六合彩让赚钱更容易
香港六合彩让赚钱更容易
ksjcs
 
Kynning 1
Kynning 1Kynning 1
Kynning 1
ingi
 
Het Rijke Verleden Van Turkije Ppt[1]
Het Rijke Verleden Van Turkije Ppt[1]Het Rijke Verleden Van Turkije Ppt[1]
Het Rijke Verleden Van Turkije Ppt[1]
Flopp1988
 

En vedette (9)

Sentencia TS Asturias EpC
Sentencia TS Asturias EpCSentencia TS Asturias EpC
Sentencia TS Asturias EpC
 
Kynning 1.Stig 21.02
Kynning 1.Stig 21.02Kynning 1.Stig 21.02
Kynning 1.Stig 21.02
 
Escocia
EscociaEscocia
Escocia
 
香港六合彩让赚钱更容易
香港六合彩让赚钱更容易香港六合彩让赚钱更容易
香港六合彩让赚钱更容易
 
Kynning 1
Kynning 1Kynning 1
Kynning 1
 
AUTO_EPC1
AUTO_EPC1AUTO_EPC1
AUTO_EPC1
 
Het Rijke Verleden Van Turkije Ppt[1]
Het Rijke Verleden Van Turkije Ppt[1]Het Rijke Verleden Van Turkije Ppt[1]
Het Rijke Verleden Van Turkije Ppt[1]
 
Web 2.0 for Educators
Web 2.0 for EducatorsWeb 2.0 for Educators
Web 2.0 for Educators
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similaire à Disrupt

Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
Dmitri Nesteruk
 
Os Worthington
Os WorthingtonOs Worthington
Os Worthington
oscon2007
 
Keynote joearmstrong
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrong
Sentifi
 

Similaire à Disrupt (20)

Erlang
ErlangErlang
Erlang
 
Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008Purdue CS354 Operating Systems 2008
Purdue CS354 Operating Systems 2008
 
Elixir
ElixirElixir
Elixir
 
X page developer
X page developerX page developer
X page developer
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
 
Peyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_futurePeyton jones-2011-parallel haskell-the_future
Peyton jones-2011-parallel haskell-the_future
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
 
Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
 
Software and the Concurrency Revolution : Notes
Software and the Concurrency Revolution : NotesSoftware and the Concurrency Revolution : Notes
Software and the Concurrency Revolution : Notes
 
jhtp5_01
jhtp5_01jhtp5_01
jhtp5_01
 
Os Worthington
Os WorthingtonOs Worthington
Os Worthington
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! Workflows
 
Keynote joearmstrong
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrong
 
Concurrent programming1
Concurrent programming1Concurrent programming1
Concurrent programming1
 
The Future of Computing is Distributed
The Future of Computing is DistributedThe Future of Computing is Distributed
The Future of Computing is Distributed
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
Elixir Into Production
Elixir Into ProductionElixir Into Production
Elixir Into Production
 
Low level java programming
Low level java programmingLow level java programming
Low level java programming
 
Building scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thriftBuilding scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thrift
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Disrupt

  • 1.  
  • 2.  
  • 3. Erlang + EDTK + BDB: Disrupting the Web Margo Seltzer Architect
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. An Internet Service Clients Load Balancer .NET Java The Internet App Servers Database Servers
  • 11. An Internet Service Clients Load Balancer .NET Java CGI PHP LISP Perl The Internet Database Servers
  • 12. An Internet Service Clients Load Balancer BDB CGI Perl Application Code The Internet Servers
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. An Internet Service Clients Load Balancer Servers The Internet
  • 32. How does it Perform? From: http://www.sics.se/~joe/apachevsyaws.html
  • 33.
  • 34. A Q &
  • 35.