@bogdanned
Node performs well when the amount of
CPU work per request is relatively “small”.
10
Slide 11
Slide 11 text
@bogdanned
Scale Horizontally
11
Slide 12
Slide 12 text
@bogdanned
Running more instances of a non
performant app is not cost effective.
12
Slide 13
Slide 13 text
@bogdanned
Scale Vertically
13
Slide 14
Slide 14 text
@bogdanned
What about … building apps that leverage the
hardware more?
14
Slide 15
Slide 15 text
@bogdanned
Node inherits the Event Loop model that
made Javascript successful in the
browser.
15
Slide 16
Slide 16 text
@bogdanned
Worker threads
16
Slide 17
Slide 17 text
@bogdanned 17
Slide 18
Slide 18 text
@bogdanned
Can I use worker threads for everything?
18
Slide 19
Slide 19 text
@bogdanned
Spawning workers is expensive if done
frequently.
19
Slide 20
Slide 20 text
@bogdanned
How can I use this with GraphQL?
20
Slide 21
Slide 21 text
@bogdanned
GraphQL subscriptions:
- server: push data to client
- clients: listen to real time messages
21
Slide 22
Slide 22 text
@bogdanned 22
Slide 23
Slide 23 text
@bogdanned
In the real world ...
23
Slide 24
Slide 24 text
@bogdanned 24
Slide 25
Slide 25 text
@bogdanned
Demo
25
Slide 26
Slide 26 text
@bogdanned 26
Slide 27
Slide 27 text
@bogdanned
Future work
- deployment to cloud
- add performance hooks
- set up profiling
27
Slide 28
Slide 28 text
@bogdanned
Summing Up
- node is a perfect fit for event driven systems
- worker threads improve performance
- easily go fullstack with GraphQL
28
Slide 29
Slide 29 text
@bogdanned
thank @you
29
Slide 30
Slide 30 text
@bogdanned
Bogdan Nedelcu
Entrepreneurial software engineer with a proven
track record across large IT projects within the
finance and construction industry.
30