O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Arquitetura Serverless na AWS

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 63 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Arquitetura Serverless na AWS (20)

Anúncio

Mais de Stefan Horochovec (17)

Mais recentes (20)

Anúncio

Arquitetura Serverless na AWS

  1. 1. Stefan Horochovec • Co-Founder e CTO – Kepha Digital Business Experts; • Co-Founder e Arquiteto de Soluções – Previseme HelpDesk; • Co-Founder e CTO – Azagros; • Co-Founder e CTO – Conexiune; • Especialista em Engenharia de Software e Gestão de Projetos; • Instrutor/Autor/Palestrante; • Twitter: @horochovec • Github: @horochovec • Blogs: https://www.horochovec.com.br e https://www.horochovec.io
  2. 2. https://bits.citrusbyte.com/images/posts/2015-08-24-microservices-monolith.png
  3. 3. Microservices – Vantagens • Serviços independentes; • Implantação automática via Continuous Integration; • Possibilidade de utilizar a tecnologia certa para cada microservice; • Arquitetura de fácil compreensão; • Facilidade na integração com API’s de terceiros; • Gestão de mudança facilitada; • Melhor gerenciamento de falhas e de escalabilidade de serviços;
  4. 4. Microservices – Desvantagens • Serviços distribuídos; • Infraestrutura de difícil gerenciamento; • Containers são tão pesados quanto servidores; • Necessidade de criar uma cultura de DevOps;
  5. 5. Microservices – Infraestrutura • Qual o tamanho do servidor para executar cada microservices? • Qual o limite de usuários para cada microservice disponível? • Quantos servidores devo orçar para o deploy de uma aplicação com 10.000 usuários? • Quais sistemas operacionais deverão ser executados pelos microservices? • Quais usuários podem ter acesso aos meus servidores? • Quem vai manter os servidores atualizados e seguros? • Como aumento a capacidade dos servidores caso aumente o número de usuários?
  6. 6. “Arquitetura Serverless é uma maneira de criar e executar aplicativos e serviços sem ter que gerenciar a infraestrutura”
  7. 7. Function as a Service (FaaS) Providers
  8. 8. FaaS – Vantagens • Não há necessidade de provisionamento, manutenção e gerenciamento de servidores; • Você paga apenas pela execução das funções; • Escalabilidade automática, controlada pelo consumo de funções; • PaaS é responsável pela disponibilização do serviço; • Redundancia Multi-AZ – AWS Services; • Aumento da produtividade do desenvolvedor; • Redução do tempo para publicação de soluções;
  9. 9. “Permite que você execute códigos sem provisionar ou gerenciar servidores.” AWS - Lambda
  10. 10. “Permite adicionar cadastros, login e controle de acesso de usuários a aplicativos web e móvel com rapidez.” AWS - Cognito
  11. 11. “Colete, processe e analise facilmente streams de vídeo e dados em tempo real.” AWS - Kinesis
  12. 12. “Armazenamento de objetos para armazenar e recuperar qualquer quantidade de dados de qualquer local.” AWS – S3
  13. 13. “Banco de dados não relacional para aplicativos que exigem alta performance em qualquer escala.” AWS - DynamoDB
  14. 14. “Filas de mensagens gerenciadas para microsserviços, sistemas distribuídos e arquitetura serverless.” AWS - SQS
  15. 15. “Permite que você execute códigos sem provisionar ou gerenciar servidores.” AWS – API Management
  16. 16. “Visibilidade completa dos seus aplicativos e recursos na nuvem.” AWS - CloudWatch
  17. 17. “Sistema de dispositivos onipresentes que conecta o mundo físico à nuvem.” AWS - IoT
  18. 18. Lambda Functions • Configuração de memória disponível para cada função (Limite de até 3GB por função); • Até 1.000 execuções concorrentes (por default); • Monitoramento automático de cada função; • Redução de até 80% no tempo de deploy; • CI/CD integrado com Github; • VPC PrivateLink para integrações (Private endpoints); • Escalabilidade garantida pela AWS; • Uptime garantido pela AWS; • Performance garantida pela AWS;
  19. 19. Lambda Functions Memoria Tempo de Execução Custo 128 MB 11.722965 sec $0.024628 256 MB 6.678945 sec $0.024628 512 MB 3.194954 sec $0.024628 1024 MB 1.465984 sec $0.024628 Estatística de uma função Lambda que calcula 1000 vezes todos os números primos menores ou iguais a 1.000.000
  20. 20. Instalação do framework Serverless $ npm install serverless -g
  21. 21. Criando um projeto via boilerplate $ serverless create --template aws-nodejs --path [SERVICE-NAME]
  22. 22. Instalação das dependências $ npm init $ npm install aws-sdk -- save $ npm install uuid -- save
  23. 23. Configuração das credenciais da AWS $ export AWS_ACCESS_KEY_ID=[AWS_ACCESS_KEY_ID] $ export AWS_SECRET_ACCESS_KEY=[AWS_SECRET_ACCESS_KEY]
  24. 24. Deploy da aplicação $ serverless deploy
  25. 25. Deploy da aplicação
  26. 26. Códigos do exemplo https://github.com/kepha/eres2018

×