Slide 1

Slide 1 text

Simplifying systems with Elixir @sasajuric aircloak.com

Slide 2

Slide 2 text

Elixir functional concurrent

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

functional Elixir modules and functions immutable data first-class functions

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

scheduler scheduler scheduler scheduler BEAM (Erlang VM) CPU CPU CPU CPU

Slide 8

Slide 8 text

concurrent functional

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

less moving parts simpler development simpler testing simpler deployment simpler maintenance improved collaboration

Slide 12

Slide 12 text

theerlangelist.com

Slide 13

Slide 13 text

git clone https://github.com/sasa1977/erlangelist.git mix deps.get && pushd assets && npm install && popd iex -S mix phx.server

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

#1 serving requests

Slide 16

Slide 16 text

http listener https listener

Slide 17

Slide 17 text

http listener https listener handler 1 handler 2 handler n …

Slide 18

Slide 18 text

#2 usage stats

Slide 19

Slide 19 text

stats collector handler handler handler disk writer

Slide 20

Slide 20 text

cleanup

Slide 21

Slide 21 text

scheduler cleanup job periodically starts

Slide 22

Slide 22 text

#3 HTTPS

Slide 23

Slide 23 text

our system CA server certificate request challenge info challenge

Slide 24

Slide 24 text

certifier http server usage stats

Slide 25

Slide 25 text

dev CA server

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Elixir in a nutshell start simple go far

Slide 28

Slide 28 text

40% off using code ctwlambdup at manning.com

Slide 29

Slide 29 text

No content