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

Serverless - Arquiteturas sem servidor

Serverless - Arquiteturas sem servidor

Arthur Silvério Borges

November 29, 2019
Tweet

Other Decks in Programming

Transcript

  1. Quem somos? 3 Samuel de Oliveira Marques Software Architect na

    Ilink Solutions Arthur Silvério Borges Senior Software Engineer na Ilink Solutions
  2. O que é Serverless? ▸ Criação e execução de aplicações

    que não requerem gerenciamento de servidor físico, VMs ou containers ▸ Modelo de deploy mais granular com aplicações empacotadas como funções ▸ Aplicações executadas, dimensionadas e cobradas em resposta à demanda exata necessária no momento. 7
  3. Áreas de abrangência BaaS Back end as a Service. São

    serviços gerenciados pelo provedor, executados de forma transparente, que substituem funcionalidades core de uma aplicação, tais como geolocalização, autenticação de usuário, verificação de email, otimização de banco de dados etc. ▸ AWS SQS ▸ AWS Aurora DB e outros 8
  4. Áreas de abrangência FaaS Functions as a Service. ▸ São

    serviços gerenciados pelo provider, que entregam um modo mais efetivo e simplificado de criação de micro serviços auto escaláveis, através de funções ▸ Executado em instâncias stateless efêmeras totalmente gerenciados pelo cloud provider 9
  5. Principais Mandamentos Serverless ▸ Estabeleça a satisfação do cliente como

    a maior prioridade da engenharia ▸ Foco nos objetivos do produto e experiência do usuário ao invés de foco no hype tecnológico ▸ Sem instâncias, servidores ou contêineres, a menos que não haja outra maneira 10
  6. Benefícios da abordagem Serverless Custos mais baixos ▸ Reduz gastos

    operacionais e gastos com recursos humanos ▸ Cloud providers cobram por cada requisição com base nos recursos computacionais consumidos 11
  7. Benefícios da abordagem Serverless Foco no negócio ▸ Elimina a

    necessidade de gastar tempo no gerenciamento de infraestrutura de baixo nível, o qual é complexo e caro ▸ Reduz o time-to-market e time-to-value 13
  8. Trade-offs da abordagem Serverless Limitações significativas ▸ Suporta apenas algumas

    linguagens ▸ Logging e stack traces são complexos ▸ É adequado apenas para implantar aplicações stateless 14
  9. Trade-offs da abordagem Serverless Risco de alta latência ▸ O

    tempo necessário para a infraestrutura provisionar uma instância de sua função e a inicialização da função pode resultar em latência significativa 15
  10. Trade-offs da abordagem Serverless Forte dependência com o cloud provider

    ▸ Para executar um sistema no AWS lambda, por exemplo, você deve usar serviços específicos da AWS (Amazon API Gateway, DynamoDB, S3 etc.) 16
  11. Principais Serverless Cloud Providers ▸ AWS Lambda ▸ Azure Functions

    by Microsoft ▸ Google Cloud Functions (GCF) ▸ IBM Cloud Functions 17
  12. Modelos de precificação e cobrança Aws Lambda ▸ Uso gratuito

    até 1 milhão de requests e 400.000 GB/s por mês ▸ Cobrança por recursos alocados, sendo que memória e CPU são cobrados juntos Azure Functions ▸ Uso gratuito é idêntico ao uso de lambdas functions ▸ Cobrança por memória consumida em vez de alocada Google Cloud Functions ▸ Uso gratuito até 2 milhões de requests e 400.000 GB/s por mês ▸ Cobrança é feita por request, incluindo tráfego de rede ▸ Memória e CPU são cobradas separadamente 19
  13. Linguagens suportadas Aws Lambda ▸ Node.js ▸ Python ▸ Java

    ▸ C# ▸ Visual Basic ▸ F# Azure Functions ▸ Node.js ▸ JavaScript ▸ Python ▸ C# ▸ F# ▸ PHP ▸ PowerShell ▸ Bash ▸ Batch Google Cloud Functions ▸ JavaScript 20
  14. Alguns tipos de triggers Aws Lambda ▸ Amazon API GW

    ▸ Amazon S3 ▸ Amazon DynamoDB Azure Functions ▸ Web API ▸ Schedule ▸ Azure Event Hub ▸ Azure Storage Google Cloud Functions ▸ HTTP ▸ Cloud Pub/Sub ▸ Cloud Storage 21
  15. Tempo de execução e concorrência Aws Lambda ▸ 1000 execuções

    por vez de no máximo 15 minutos, por conta ou por function Azure Functions ▸ Execuções ilimitadas de no máximo 5 minutos por function Google Cloud Functions ▸ Execução ilimitada para HTTP-trigger ou 1000 execuções por vez de no máximo 1 minuto, por projeto. 22
  16. Monitoramento e log Aws Lambda ▸ CloudWatch ▸ X-Ray Azure

    Functions ▸ Microsoft Monitor Google Cloud Functions ▸ Stackdriver 23
  17. Perguntas e respostas ▸ É realmente barato usar serverless? ▹

    depende... ▸ Existe alguma perspectiva para implantações on premises? ▹ Apache OpenWhisk, Kuberless… ▸ O que podemos construir com serverless? ▹ Back ends mobile e IOT, APIs, micro serviços, Webhooks... ▸ É possível fazer integrações através de funções serverless? ▹ Auth0, Cognito... 25
  18. 27

  19. Vamos praticar? 28 ▸ Ferramentas para escrever o código ▸

    Stack ▸ Testes unitários e de integração ▸ Versionamento ▸ CI/CD ▸ Dev Tools ▸ Monitoramento