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

Cloud Native Approach for Node.js Developers

Cloud Native Approach for Node.js Developers

Nikita Galkin

August 21, 2021
Tweet

More Decks by Nikita Galkin

Other Decks in Programming

Transcript

  1. Cloud Native Approach
    for Node.js Developers
    by Nikita Galkin
    Aug 21, 2021

    View Slide

  2. 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

    View Slide

  3. ▰ Cloud Native, k8s, etc
    ▰ Google Cloud Study Jams
    ▰ Case studies
    ▰ Telegram channel
    ▰ Voice chats

    View Slide

  4. What is
    Cloud
    Native?

    View Slide

  5. How host Node.js?
    ▰ Virtual machine
    ▰ Docker
    ▰ Kubernetes
    ▰ Serverless
    ▰ Cloud Native

    View Slide

  6. “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

    View Slide

  7. What Tools
    do you need
    for Cloud
    Native?

    View Slide

  8. View Slide

  9. “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

    View Slide

  10. ▰ Graduated 16
    ▰ Incubating 22
    ▰ Sandbox 60

    View Slide

  11. 11
    What should I learn?

    View Slide

  12. 12
    What should I learn?

    View Slide

  13. 13
    What should I learn?

    View Slide

  14. Learn principles,
    not tools.
    Change mindset.

    View Slide

  15. Principles

    View Slide

  16. Cloud Native
    ▰ Distributed system –
    Cloud provider services
    ▰ DevOps – 12 Factors &
    CI/CD
    ▰ Serverless – Containers
    & Functions

    View Slide

  17. Learn principles, not tools.

    View Slide

  18. Distributed
    systems

    View Slide

  19. 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

    View Slide

  20. 12 Factors

    View Slide

  21. 12factor.net

    View Slide

  22. What is Quality?
    22
    Explicitly declare and
    isolate dependencies
    ▰ declaration VS isolation
    ▰ never relies on implicit
    existence
    ▰ system tool can be a
    dependency

    View Slide

  23. 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.

    View Slide

  24. 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

    View Slide

  25. What is Quality?
    25
    Strictly separate build and
    run stages
    ▰ Artifact
    ▰ Build
    ▰ Release
    ▰ Run time
    ▰ Dry run

    View Slide

  26. What is Quality?
    26
    Execute the app as one or
    more stateless processes
    ▰ stateless
    ▰ share-nothing
    ▰ state stored at
    backing-service

    View Slide

  27. What is Quality?
    27
    Scale out via the process
    model
    ▰ Unix
    ▰ process
    ▰ should never daemonize
    ▰ Use process manager like
    systemd

    View Slide

  28. What is Quality?
    28
    ▰ Same backing services
    ▰ Same lib versions
    ▰ Same bla-bla for
    Reproducibility

    View Slide

  29. stdout stderr

    View Slide

  30. Serverless

    View Slide

  31. View Slide

  32. View Slide

  33. View Slide

  34. Cases

    View Slide

  35. How will you
    implement avatar
    uploading?

    View Slide

  36. View Slide

  37. View Slide

  38. How will you
    work with service
    what has 99%
    SLA?

    View Slide

  39. View Slide

  40. QUESTIONS TIME!
    Waiting for you
    at the Panel
    Discussion
    and
    at the channel ➡

    View Slide