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

Simplifying systems with Elixir

78d85ea26770975ea8c497d7bd722d55?s=47 Saša Jurić
September 13, 2018

Simplifying systems with Elixir

LambdUp, Prague, 2018

78d85ea26770975ea8c497d7bd722d55?s=128

Saša Jurić

September 13, 2018
Tweet

Transcript

  1. Simplifying systems with Elixir @sasajuric aircloak.com

  2. Elixir functional concurrent

  3. process ... foo(...) bar(...) ...

  4. functional Elixir modules and functions immutable data first-class functions

  5. ... spawn(fn -> ... end) ...

  6. process A ... foo(...) bar(...) ... process B ... baz(...)

    qux(...) ...
  7. scheduler scheduler scheduler scheduler BEAM (Erlang VM) CPU CPU CPU

    CPU
  8. concurrent functional

  9. None
  10. None
  11. less moving parts simpler development simpler testing simpler deployment simpler

    maintenance improved collaboration
  12. theerlangelist.com

  13. git clone https://github.com/sasa1977/erlangelist.git mix deps.get && pushd assets && npm

    install && popd iex -S mix phx.server
  14. None
  15. #1 serving requests

  16. http listener https listener

  17. http listener https listener handler 1 handler 2 handler n

  18. #2 usage stats

  19. stats collector handler handler handler disk writer

  20. cleanup

  21. scheduler cleanup job periodically starts

  22. #3 HTTPS

  23. our system CA server certificate request challenge info challenge

  24. certifier http server usage stats

  25. dev CA server

  26. None
  27. Elixir in a nutshell start simple go far

  28. 40% off using code ctwlambdup at manning.com

  29. None