Cloud Native Approach
for Node.js Developers
by Nikita Galkin
Aug 21, 2021
Slide 2
Slide 2 text
Nikita
Galkin
Love and Know:
▰ How to make developers and business happy
▰ Technical and process debt elimination
Believe that:
▰ Any problem must be solved at the right level
▰ Software is easy. People are hard
▰ A problem should be highlighted, an idea should
be "sold", a solution should be demonstrated
Links:
Site GitHub Twitter Facebook
2
Slide 3
Slide 3 text
▰ Cloud Native, k8s, etc
▰ Google Cloud Study Jams
▰ Case studies
▰ Telegram channel
▰ Voice chats
“A new computing paradigm that is
optimized for modern distributed
systems environments capable of
scaling to tens of thousands of self
healing multi-tenant nodes”
Cloud Native Computing Foundation
Slide 7
Slide 7 text
What Tools
do you need
for Cloud
Native?
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
“You are viewing 1,749 cards with
a total of 2,916,324 stars, market
cap of $23.1T and funding of
$30.5B.”
Cloud Native Computing Foundation
per year per quarter per month per week per day per hour
90% 36.5 days 9 days 3 days 16.8 hours 2.4 hours 6 minutes
95% 18.25 days 4.5 days 1.5 days 8.4 hours 1.2 hours 3 minutes
99% 3.65 days 21.6 hours 7.2 hours 1.68 hours 14.4 minutes 36 seconds
99.5% 1.83 days 10.8 hours 3.6 hours 50.4 minutes 7.20 minutes 18 seconds
Slide 20
Slide 20 text
12 Factors
Slide 21
Slide 21 text
12factor.net
Slide 22
Slide 22 text
What is Quality?
22
Explicitly declare and
isolate dependencies
▰ declaration VS isolation
▰ never relies on implicit
existence
▰ system tool can be a
dependency
Slide 23
Slide 23 text
What is Quality?
23
Store config in the
environment
▰ Config is not part of the
artifact
▰ could be made open source
at any moment, without
compromising any
credentials.
Slide 24
Slide 24 text
What is Quality?
24
Treat backing services as
attached resources
▰ local and third party parity
▰ Attach URL or other
locator/credentials stored in
the config
Slide 25
Slide 25 text
What is Quality?
25
Strictly separate build and
run stages
▰ Artifact
▰ Build
▰ Release
▰ Run time
▰ Dry run
Slide 26
Slide 26 text
What is Quality?
26
Execute the app as one or
more stateless processes
▰ stateless
▰ share-nothing
▰ state stored at
backing-service
Slide 27
Slide 27 text
What is Quality?
27
Scale out via the process
model
▰ Unix
▰ process
▰ should never daemonize
▰ Use process manager like
systemd
Slide 28
Slide 28 text
What is Quality?
28
▰ Same backing services
▰ Same lib versions
▰ Same bla-bla for
Reproducibility
Slide 29
Slide 29 text
stdout stderr
Slide 30
Slide 30 text
Serverless
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
Cases
Slide 35
Slide 35 text
How will you
implement avatar
uploading?
Slide 36
Slide 36 text
No content
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
How will you
work with service
what has 99%
SLA?
Slide 39
Slide 39 text
No content
Slide 40
Slide 40 text
QUESTIONS TIME!
Waiting for you
at the Panel
Discussion
and
at the channel ➡