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

Desafios de Migrar um Monolítico para uma Stack...

Desafios de Migrar um Monolítico para uma Stack Front-end

Você sente que o processo de desenvolvimento front-end começou a ficar improdutivo num monolítico? Nessa palestra vamos pontuar vários aspectos que nos ajudaram a decidir que a hora de partir pra outra stack tinha chegado. Veremos como é o impacto de uma migração desse tipo, quais alternativas e como escolher uma nova abordagem, considerando o aprendizado e bagagem que o back-end tem.

Eduardo Matos

November 11, 2017
Tweet

More Decks by Eduardo Matos

Other Decks in Technology

Transcript

  1. D E V N A E S T R A

    DA . C O M . B R
  2. H T T P : / / D I V

    E R S I DA D E . T E C H
  3. H T T P S : / / G I

    T H U B . C O M / F R O N T E N D B R
  4. O QUE É UM MONOLÍTICO? uma estrutura geológica, como uma

    montanha, constituída por uma única rocha (Wikipedia);
  5. O QUE TEM DE RUIM NO MONOLÍTICO? NUMA PERSPECTIVA DO

    FRONT-END GESTÃO DE ASSETS TIME E CULTURA
  6. RENDER NO MONOLÍTICO TOOLING DE OTIMIZAÇÃO BUILT-IN DE HTML QUASE

    INEXISTENTE FRAGMENT CACHE NO CONTROLE DA APLICAÇÃO GESTÃO DE ASSETS
  7. TOOLING ENGESSADO COM BACK-END A MAIORIA DAS APLICAÇÕES MONOLÍTICAS TENDEM

    A TER SEUS PRÓPRIOS GESTORES DE ASSETS (EX: RAILS => SPROCKETS). GESTÃO DE ASSETS
  8. TOOLING ENGESSADO COM BACK-END BABEL, NODE-SASS, OUTRAS FERRAMENTAS DE TOOLING

    DEPENDENTES DE UPDATE DO FRAMEWORK DE BACK-END GESTÃO DE ASSETS
  9. MONOLÍTICOS QUE NÃO FAZEM GESTÃO DE ASSETS DEPENDEM DE UM

    BUILDER EXTERNO QUE CONSIGA CONVERSAR COM O BACK-END GESTÃO DE ASSETS
  10. DEPLOY DE FRONT-END AFETANDO BACK-END AJUSTES PONTUAIS DE FRONT-END QUE

    PODERIAM SER SIMPLES, ACABAM CRIANDO UM DEPLOY MAIS ROBUSTO, SUBINDO VERSÃO DA APLICAÇÃO TODA GESTÃO DE ASSETS
  11. DEPLOY PRA PRODUÇÃO EM MÉDIA: 30 MIN ISSO SE OS

    TESTES NÃO FALHAREM, SE EM HOMOLOG ESTIVER TUDO CERTINHO, NÃO CHOVER, AMAZON S3 NÃO CAIR (RÁ!), PRECOMPILE DE ASSETS DAR ALGUM XABÚ, …
  12. TAMANHO DA APLICAÇÃO PESSOA NOVA NO TIME SE ASSUSTA E

    SE PERDE COM CODEBASE GIGANTE TIME E CULTURA
  13. “ATÉ QUE A MORTE OS SEPARE” SE TRATANDO DE FRAMEWORKS

    DE BACK-END, UMA VEZ ESCOLHIDA A TECNOLOGIA, VAI CONVIVER COM ELA POR UM LONGO TEMPO TIME E CULTURA
  14. “ATÉ QUE A MORTE OS SEPARE” NO FRONT-END ISSO É

    QUASE IMPOSSÍVEL, SE TRATANDO DA QUANTIDADE DE EVOLUÇÕES QUE TEM OCORRIDO TIME E CULTURA
  15. FERRAMENTA CERTA PRO JOB CERTO MONOLÍTICOS NÃO FACILITAM O USO

    DE FERRAMENTAS CERTAS PRA CADA TAREFA. TIME E CULTURA
  16. IMPACTO DE ALTERAÇÕES MAIS COMPLEXO SEM COBERTURA DE TESTES, FAZER

    ALTERAÇÕES NO FRONT-END QUE POSSUEM INTEGRAÇÕES COM BACK-END FICA QUASE IMPOSSÍVEL TIME E CULTURA
  17. AMBIENTE DE DESENVOLVIMENTO MUITO LENTO SE NÃO EXISTIR “MOCK” DE

    DADOS, DEPENDENDO DA QUANTIDADE DE QUERIES E INTEGRAÇÕES, O FRONT-END FICA EXTREMAMENTE LENTO TIME E CULTURA
  18. PESSOAS DE 
 FRONT-END FOCADAS EM MELHORAR O FRONT-END PERFIL

    T-SHAPE OU FULL-STACK É MUITO BOM! MAS PRA INVESTIR EM PERFORMANCE, TER UMA BASE SÓLIDA, SABER ONDE ATACAR NO FRONT-END É PRECISO PESSOAS ESPECIALIZADAS NO ASSUNTO
  19. NOVAS FERRAMENTAS PARA PROBLEMAS ESPECÍFICOS PWA, OFFLINE-FIRST, CLIENT-SIDE DATA, PAINT,

    WEBWORKERS… MUITA COISA NOVA SURGINDO QUE PRECISA DE UM CUIDADO MAIOR
  20. COISAS SEPARADAS, MAS AINDA UNIDAS MESMO COM O CONSUMO DE

    MICROSERVIÇOS, AINDA PRECISA DE MUITA INTEGRAÇÃO ENTRE AS APLICAÇÕES. NO FUNDO, AMBOS OS MUNDOS GANHAM.
  21. DESENVOLVIMENTO MAIS RÁPIDO ISOLANDO O FRONT-END, PODEMOS FOCAR EM ENTREGAR

    INTERFACE MESMO SEM A FONTE DE DADOS BEM DEFINIDA AINDA. ISSO AGILIZA O PROCESSO
  22. CONVENÇÕES FORTES FUNCIONA ASSIM, FAÇA AS COISAS DESSE JEITO. NÃO

    TEM MUITO SEGREDO OU CONVERSA. VANTAGENS DO MONOLÍTICO
  23. MONITORAMENTO CENTRALIZADO ISOLANDO O FRONT-END, PRECISAMOS CUIDAR TAMBÉM DE MAIS

    UMA APLICAÇÃO WEB. MONITORAMENTO DE SERVER, TRACK DE ERROS, HEALTH CHECK E OUTRAS COISAS PRECISAM SER FEITAS VANTAGENS DO MONOLÍTICO
  24. COMPLEXIDADE BAIXA ISOLANDO O FRONT-END, PRECISAMOS CUIDAR TAMBÉM DE MAIS

    UMA APLICAÇÃO WEB. MONITORAMENTO DE SERVER, TRACK DE ERROS, HEALTH CHECK E OUTRAS COISAS PRECISAM SER FEITAS VANTAGENS DO MONOLÍTICO
  25. TESTES CENTRALIZADOS AO ISOLAR O FRONT-END, PRECISAMOS COBRIR TAMBÉM A

    PARTE DE CLIENT-SIDE COM TESTES ESPECÍFICOS (INTEGRAÇÃO E ATÉ REGRESSÃO VISUAL). VANTAGENS DO MONOLÍTICO
  26. FRAMEWORKS CONHECIDOS, CONTRATAÇÃO MAIS FÁCIL QUANDO USAMOS UM FRAMEWORK CONHECIDO,

    ACHAR PESSOAS QUE JÁ CONHECEM A STACK É MAIS FÁCIL. FACILITA A ENTRADA DE INTEGRANTES NO TIME. VANTAGENS DO MONOLÍTICO
  27. ONE RING TO RULE THEM ALL TUDO ESTÁ LÁ. A

    VANTAGEM É QUE SÓ É PRECISO ME PREOCUPAR COM UMA APLICAÇÃO SÓ, E BOAS. SEJA PRA DESENVOLVER OU SUBIR NOVAS FEATURES. VANTAGENS DO MONOLÍTICO
  28. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? SÓ

    QUANDO AS PESSOAS DESENVOLVEDORAS TIVEREM SKILLS SUFICIENTES PRA MIGRAÇÃO. 2
  29. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? QUANDO

    O TEMPO DE CARREGAMENTO DE VIEWS E ASSETS COMEÇAR A IMPACTAR O DIA-A-DIA. 3
  30. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? QUANDO

    O DEPLOY COMEÇAR A SER PREOCUPANTE E IMPACTANTE COM FREQUÊNCIA. 4
  31. QUANDO DEVO MIGRAR PRA UMA STACK DE FRONT-END ISOLADA? QUANDO

    O FRONT-END NÃO CONSEGUIR MAIS EVOLUIR, EM QUESTÕES DE TOOLING E NOVAS TECNOLOGIAS. 5
  32. AVALIE, PESQUISE, LEIA ANTES DE MUDAR, TOME UMA DECISÃO BASEADA

    NO SEU CENÁRIO EM VÁRIOS CASOS, MONOLÍTICO AINDA FAZ SENTIDO!!! TOME CUIDADO COM BLOG POST “PAGANDO DE COOL”, MUDANDO TODA STACK E ETC. ETC. ETC.
  33. UMA PESSOA QUE É BOA DESENVOLVEDORA: QUESTIONA TESTA PESQUISA LÊ

    MUITO NÃO SE LEVA PELO HYPE USA A FERRAMENTA CERTA, PRA HORA E LUGAR CERTO LEVA EM CONTA O NEGÓCIO QUE ESTÁ TRABALHANDO