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

A arquitetura serverless

A arquitetura serverless

Descrição, nomenclatura e tudo o que você precisa saber para entrar no mundo server --less

0a8f40c6cc23fb6c8aad4de732c5abaf?s=128

Lucas Santos

July 16, 2019
Tweet

Transcript

  1. Server --less Utilizando o poder da cloud de verdade

  2. senior solutions architect_ quem sou eu_ /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor

    nindoo.ai
  3. obarra.co trainingcenter.io

  4. abcdevelopers.org cupom: LSANTOSABCDEV2019

  5. slsweek.netlify.com

  6. Serverless!

  7. Serverless!

  8. Primeiro, um pouco de contexto

  9. Monólitos Prós: Depuração simples Controle de fluxo Simples geração de

    builds Design e planejamento rápido
  10. Monólitos Contras: Único ponto de falha Alto risco com deploys

    Efeito Black-Box Manutenção difícil em grandes aplicações
  11. Monólitos Microsserviços Contras: Único ponto de falha Alto risco com

    deploys Efeito Black-Box Manutenção difícil em grandes aplicações Prós: Contextos definidos Independente Fácil manutenção Equipes Enxutas Alta disponibilidade
  12. Monólitos Microsserviços Contras: Único ponto de falha Alto risco com

    deploys Efeito Black-Box Manutenção difícil em grandes aplicações Contras: Infraestrutura Complexa Orquestração complicada
  13. Monólitos Microsserviços Contras: Único ponto de falha Alto risco com

    deploys Efeito Black-Box Manutenção difícil em grandes aplicações Contras: Infraestrutura Complexa Orquestração complicada Nanosserviços λ Base da arquitetura serverless Não implementa ela em si Baseados em funções
  14. Serverless! A arte de mandar algo para algum lugar

  15. Serverless refer to applications that significantly depend on BaaS or

    on FaaS. By using these ideas, and by moving behavior to the front end, such architectures remove the need for the traditional 'always on' server system sitting behind an application. (Mark Roberts)
  16. Serverless refer to applications that significantly depend on BaaS or

    on FaaS. By using these ideas, and by moving behavior to the front end, such architectures remove the need for the traditional 'always on' server system sitting behind an application. (Mark Roberts)
  17. Serverless refer to applications that significantly depend on BaaS or

    on FaaS. By using these ideas, and by moving behavior to the front end, such architectures remove the need for the traditional 'always on' server system sitting behind an application. (Mark Roberts)
  18. Serverless refer to applications that significantly depend on BaaS or

    on FaaS. By using these ideas, and by moving behavior to the front end, such architectures remove the need for the traditional 'always on' server system sitting behind an application. (Mark Roberts)
  19. Sem servidores?

  20. The phrase "serverless" doesn't mean servers are no longer involved.

    It simply means that developers don't need to think "that much" about them. (Quote from Quora)
  21. O manifesto Serverless

  22. Funções como unidade de deploy e escalabilidade (efêmeros)

  23. Nenhuma máquina, VM ou container visível para o programador

  24. Armazenamento permanente está em outro lugar

  25. Escala por requisição, usuário não tem controle sobre o provisionamento

  26. Nunca pague por tempo ocioso

  27. Tolerante a erros implicitamente

  28. BYOC - Bring Your Own Code

  29. Métricas e logs são direitos universais

  30. E afinal O que é serverless?

  31.  It’s a concept of an ad-hoc scalable distributed event-driven computing.

    (Denis Makogon)
  32. Arquitetura Serverless

  33. Casos de uso Big data / IoT Sites serverless Backend

    mobile Processamento de Streams Processamento paralelo massivo Pós processamento de arquivos
  34. Principais plataformas

  35. The Serverless Framework

  36. Custos

  37. AWS Lambda GCF (Google Cloud) 1⁰ milhão de exec/mês Grátis

    1⁰s 400K GB/s ao mês Grátis Execuções/Mês US$0,20 por milhão GB/s US$0,17 por 10K GB/s 128MB RAM US$0,0000208 - 10s 2M exec/mês Grátis 1⁰s 400K GB/s ao mês Grátis Execuções/Mês US$0,40 por milhão GB/s US$0,25 por 100K GB/s 128MB RAM US$0,0000231 - 10s
  38. Azure Functions 1⁰ milhão de exec/mês Grátis 1⁰s 400K GB/s

    ao mês Grátis Execuções/Mês R$0,20 por milhão GB/s R$0,16 por 10K GB/s
  39. - Altíssima disponibilidade - Paga apenas o que está de

    fato usando - A nível de milissegundos - Evita custos com máquinas sempre ativas - Nenhum gerenciamento de infra - Independentes - Escalabilidade infinita - Respondem e enviam muitos tipos de eventos PRÓS - Dependência com o provedor - Limites de execução - Limites de desenvolvimento - Serviços em grande parte ainda betas CONTRAS
  40. Exemplos Padrões de projeto muito usados

  41. Command Pattern

  42. Messaging Pattern

  43. Pipe Pattern

  44. Demo

  45. Referências • Manifesto Serverless: https://goo.gl/bPdH1q • Serverless: https://goo.gl/QDwcLf • Nanosserviços:

    https://goo.gl/Eb4FKG • Monólitos e SOA: https://goo.gl/PCwjWo • Microservices e Serverless: https://goo.gl/ADvtEy • Design Patterns com Serverless: https://goo.gl/nJtZpE • InfoQ Serverless Computing: https://goo.gl/dSK3TS • Artigo do Martin Fowler sobre Serverless: https://goo.gl/mzx8Wg • Docs do Serverless Framework: https://goo.gl/2iHm2z • Repositório de demo: https://bit.ly/sls-demo
  46. /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor obrigado_ https://goo.gl/forms/8ysK5D2GyH2 HYcdl2