Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elixir 101 - The Erlang VM

Elixir 101 - The Erlang VM

A brief introduction of the BEAM (The Erlang VM), that paves the way to talk about Elixir.

Avatar for Juanda Zapata

Juanda Zapata

October 21, 2015
Tweet

More Decks by Juanda Zapata

Other Decks in Programming

Transcript

  1. • high availability • fault tolerant (self healing) • distributed

    • concurrent • hot code loading (zero downtime deploys)
  2. • high availability • fault tolerant (self healing) • distributed

    • concurrent • hot code loading (zero downtime deploys) • great tooling (demo)
  3. • cheap to create and destroy • completely isolated •

    memory is not shared • communication over messages
  4. • cheap to create and destroy • completely isolated •

    memory is not shared • communication over messages • supervised (different strategies)
  5. • cheap to create and destroy • completely isolated •

    memory is not shared • communication over messages • supervised (different strategies) • distributed
  6. • generational (old & new zones) • collected per process

    • no need if the process finished • no global pauses
  7. • the BEAM creates 1 per core • memory is

    not shared • perform load balancing
  8. • the BEAM creates 1 per core • memory is

    not shared • perform load balancing • guarantees that a process won't block others
  9. • Whatsapp (2 million users/server) • Facebook • Goldman Sachs

    (High frequency trading) • github (git proxy, gh-pages, gists)
  10. • Whatsapp (2 million users/server) • Facebook • Goldman Sachs

    (High frequency trading) • github (git proxy, gh-pages, gists) • heroku
  11. • crypto • http servers • tcp servers • realtime

    distributed databases • GUI and graphics