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

De 0 ao infinito: Evoluindo um aplicativo Node.js em produção

De 0 ao infinito: Evoluindo um aplicativo Node.js em produção

Nesta palestra mostro as características que um app Node.js pode ter em diversos estágios de sua vida.

Daniel Baptista Dias

April 13, 2018
Tweet

More Decks by Daniel Baptista Dias

Other Decks in Programming

Transcript

  1. Level 0 • "Montar uma aplicação do zero" • Rápido

    • Valor ao cliente ! • Eu já disse rápido?
  2. • Manter o que está rodando no ar • Pensar

    na infra-estrutura da sua solução Level 10
  3. • Manter o que está rodando no ar • Pensar

    na infra-estrutura da sua solução • Evoluir o código existente • Trabalhar com mais pessoas Level 10
  4. Aplicação não tão do zero "Programe como se a pessoa

    que for dar manutenção do seu código fosse um psicopata violento que sabe onde você vive."
  5. Level 100 • Manter o que está rodando no ar

    • Melhorar a infraestrutura • Evoluir o código existente
  6. Level 100 • Manter o que está rodando no ar

    • Melhorar a infraestrutura • Evoluir o código existente • Zero downtime
  7. "Zero downtime" • Não há mais como debugar erros em

    produção • A aplicação inchou e você pode quebrar códigos que nem imaginava antes • O deploy dela já não é mais tão rápido e fácil quanto antes • Como ser ágil assim?
  8. Level 1000 • Manter o que está rodando no ar

    • Melhorar a infraestrutura • Evoluir o código existente • Zero downtime • Fatores externos • Tsunami de dados
  9. Fatores externos DB Frontend CDN Node.js App Server 1 Node.js

    App Server 2 Node.js App Server 3 DB DB
  10. Fatores externos DB Frontend CDN Node.js App Server 1 Node.js

    App Server 2 Node.js App Server 3 DB DB
  11. Fatores externos DB Frontend CDN Node.js App Server 1 Node.js

    App Server 2 Node.js App Server 3 DB DB
  12. Fatores externos DB Frontend CDN Node.js App Server 1 Node.js

    App Server 2 Node.js App Server 3 DB DB
  13. Tsunami de dados • Pensar duas vezes antes de acessar

    e manipular dados • Pensar na arquitetura para lidar com os dados
  14. Tsunami de dados • Pensar duas vezes antes de acessar

    e manipular dados • Pensar na arquitetura para lidar com os dados • Lidar com computação distribuída • etc...