- BEAM runtime (a.k.a “EVM”) • It’s a functional language that supports concurrency, is soft realtime and has fault tolerance built in Thursday, 15 August 13
Erlang semantics • It compiles directly to Erlang (BEAM) bytecode • Erlang and Elixir modules are interchangable with zero overhead and translation cost Thursday, 15 August 13
can replace dozens of separate nodes running Python or Ruby - it’s more efficient (both CPU and memory) • As we move more computing to the cloud we need to account more for the dollar spend on resources Thursday, 15 August 13
Puppet • Deploy two example apps (one Erlang, one Elixir) • Look at some code, do some hotswapping and demonstrate inherent concurrency Thursday, 15 August 13
(abort with ^G) 1> Point your browser at http://localhost:8080 Reloading toppage_handler ... ok. Benchmark, cont... ...no dropped connections while reloading! Thursday, 15 August 13
a PostgreSQL query, e.g. “SELECT now()” and see what breaks (hint: queries to Postgres will start timing out...) • Benchmark comparison with Varnish (~30% faster?) Thursday, 15 August 13