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. 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
  2. ▰ Cloud Native, k8s, etc ▰ Google Cloud Study Jams

    ▰ Case studies ▰ Telegram channel ▰ Voice chats
  3. “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
  4. “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
  5. Cloud Native ▰ Distributed system – Cloud provider services ▰

    DevOps – 12 Factors & CI/CD ▰ Serverless – Containers & Functions
  6. 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
  7. What is Quality? 22 Explicitly declare and isolate dependencies ▰

    declaration VS isolation ▰ never relies on implicit existence ▰ system tool can be a dependency
  8. 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.
  9. 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
  10. What is Quality? 25 Strictly separate build and run stages

    ▰ Artifact ▰ Build ▰ Release ▰ Run time ▰ Dry run
  11. What is Quality? 26 Execute the app as one or

    more stateless processes ▰ stateless ▰ share-nothing ▰ state stored at backing-service
  12. What is Quality? 27 Scale out via the process model

    ▰ Unix ▰ process ▰ should never daemonize ▰ Use process manager like systemd
  13. What is Quality? 28 ▰ Same backing services ▰ Same

    lib versions ▰ Same bla-bla for Reproducibility