O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Escalando sua aplicação Web com Beanstalk

225 visualizações

Publicada em

O AWS Beanstalk provê de forma simples e rápida, gerenciamento de deploy e escalabilidade da sua aplicação Web na AWS. Nessa sessão também será exposto as facilidades e robustez do serviço em questão.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Escalando sua aplicação Web com Beanstalk

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Glauber Gallego - Arquiteto de Soluções Setembro 2016 Escalando suas aplicações Web com Elastic Beanstalk AWS Experience Porto Alegre 2016
  2. 2. Agenda • O que é o Elastic Beanstalk? • Primeiros Passos com o Elastic Beanstalk • Demo • Melhores Práticas
  3. 3. Porque nós contruímos o Elastic Beanstalk?
  4. 4. * As of 30 April 2016 2009 48 280 722 82 2011 2013 2015 Passo de inovação na AWS Ouvimos nossos clientes e criamos o que eles precisam
  5. 5. Alguns Desafios dos Clientes Implantar código e não se preocupar o provisionamento e gerenciamento da infraestrutura Não ter expertise ou tempo disponível Escalabilidade automática de aplicações
  6. 6. Elastic Beanstalk Maneira mais simples para implantar e escalar aplicações Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker Faça o upload de sua aplicação e deixe o Beanstalk gerenciar a infraestrutura necessária
  7. 7. Elastic Beanstalk vs. Faça você mesmo Seu código Servidor HTTP Servidor de Aplicação Interpretador Sistema Operacional Host Foco na construção de sua aplicação Fornecido por você Fornecido e gerenciado pelo Elastic Beanstalk On-instance configuration
  8. 8. Elastic Beanstalk vs. Faça você mesmo • Instância única ou com balanceador • Camada Web e Camada de Workers • Provisiona a infra necessária: balanceador de carga, auto scaling, security groups, bds (opcional), etc. • Provê um único domínio para aplicação: app.elasticbeanstalk.com) Stack de Infraestrutura
  9. 9. Versionamento da aplicação e configuração Configurações salvas Guarde as conf. dos seus ambientes para replicação futura Versão das apps Versões armazenadas no S3. Código pode vir do Git.
  10. 10. Benefícios Rápido e simples de começar Produtividade para desenvolvedor Escalabilidade automática Total Controle dos Recursos
  11. 11. Rápido e Simples de Começar Maneira mais rápida e simples de se implantar uma aplicação na AWS Faça o upload de sua aplicação e deixe o Beanstalk gerenciar a infraestrutura necessária
  12. 12. Produtividade para o Desenvolvedor Provisiona a infraestrutura e gerencia a stack das aplicações por você Foco na criação de códigos ao invés de gastar tempo gerenciando infraestrutura
  13. 13. Escalabilidade automática Elastic Beanstalk automaticamente escala sua aplicação Utilize métricas do CloudWatch para disparar ações de escalabilidade Ex: utilização de CPU
  14. 14. Total Controle dos Recursos Mantenha o controle total sobre os recursos na AWS Assuma o controle de alguns (ou todos) os elementos de sua infraestrutura
  15. 15. Casos de Uso Comuns • Websites • API backends • Mobile backends • Processamento assíncrono
  16. 16. Preço e Disponibilidade • Atualmente disponível em todas as regiões da AWS • Não há cobrança adicional pelo AWS Elastic Beanstalk • Pague somente pelos recursos (ex: instâncias EC2, ELBs ou RDS, etc) criados para rodar suas aplicações
  17. 17. Primeiros passos com o Elastic Beanstalk
  18. 18. Informações para implantar uma aplicação 01 02 03 04 Região Tipo de Stack Instância única Balanceador e AutoScaling ou Banco de Dados (RDS) Optional Seu código Plataformas
  19. 19. Como implantar aplicações 1. Com o AWS Management Console 2. Com o AWS Toolkit para Eclipse ou Visual Studio IDE 3. Com o EB CLI (command line)
  20. 20. Implantando uma aplicação via CLI $ git clone https://github.com/awsla bs/eb-node-express- sample.git Baixe uma aplicação exemplo:2 $ eb init Crie seu app3 Siga os prompts e configure o ambiente 4 5 Crie os recursos e lance a aplicação: $ eb create $ pip install --upgrade awsebcli Instale o EB CLI:1
  21. 21. Atualizando via CLI Atualize seu código1 $ git add . $ git commit –m “v2.0” $ eb deploy Adicione e faça o commit no repositório2 Abra a aplicação quando o deploy terminar:3 $ eb open
  22. 22. Demo: Implantando uma aplicação no ElasticBeanstalk via Console
  23. 23. Demo: Implantando uma aplicação no ElasticBeanstalk via CLI
  24. 24. Demo: Interagindo com a AWS via Eclipse
  25. 25. Melhores Práticas
  26. 26. Teste e faça o tunning de sua aplicação • Escolha as métricas de performance que você deseja otimizar (ex: latência, usuários concorrentes, requisições web, etc.) • Faça o teste de carga de sua aplicação • Configure Autoscaling para otimizar as métricas de performance • Faça o tunning do backend (DynamoDB, RDS, etc.) para performance ótima;
  27. 27. Implantação – Rolling updates 1. Defina a % de instâncias implantadas por vez 2. Implante x% e continue somente se as instâncias estiverem saudáveis 3. Rollback automático em caso de falhas
  28. 28. Prós: • Implantações são rápidas (20-60 s) Contras: • Rollback mais demorado pois a versão anterior da aplicação precisa ser reimplantada Implantação – Rolling updates
  29. 29. Implantação – Zero Downtime 1. Crie um novo ambiente para uma aplicação 2. Implante a nova versão da app no novo ambiente 3. Use o “Swap Environment URLs” para direcionar os usuários para o novo ambiente de produção
  30. 30. Prós: • Implantação com Zero downtime • Rollback rápido: ambiente com a versão anterior não foi modificado Contras: • Implantações levam mais tempo do que o modelo rolling (2-5 min) pois um novo ambiente precisa ser criado • Cache de DNS, não respeitam o TTL Implantação – Zero Downtime
  31. 31. Logs, métricas e alarmes • Habilite a rotação de logs para que sejam automaticamente gravadas no S3 • Entender métricas disponíveis para o seu ambiente e o que eles significam • Configure alarmes para monitorar automaticamente métricas críticas e enviar notificações quando estiverem fora do intervalo de operação normal
  32. 32. Coloque Tags em seus ambientes • Torna mais fácil a busca de recursos de um determinado ambiente • Pode ser utilizada para monitorar custos associado a um ambiente ou aplicação • Elastic Beanstalk automaticamente coloca tags nos ambientes: • Environment name • Environment ID
  33. 33. Conclusão • Elastic Beanstalk é a maneira mais simples e conveniente de subir aplicações na AWS • Possui recursos poderosos • Pague somente pelos recursos utilizados
  34. 34. Muito Obrigado!

×