SlideShare una empresa de Scribd logo
1 de 33
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Daniel Bento, Arquiteto de Soluções
Agosto de 2016
Escalando suas aplicações Web
com Elastic Beanstalk
AWS Experience Fortaleza 2016
Agenda
• O que é o Elastic Beanstalk?
• Primeiros Passos com o Elastic Beanstalk
• Melhores Práticas
• Conclusão
Porque nós contruímos o
Elastic Beanstalk?
* 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
Alguns Desafios dos Clientes
Implantar código e não se preocupar o
provisionamento e gerenciamento da
infraestrutura
Não ter expertise ou tempo
Escalabilidade automática de aplicações
O que é o Elastic Beanstalk?
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
Elastic Beanstalk vs. Faça você mesmo
Seu código
Servidor HTTP
Servidor de Aplicação
Interpretador de
linguagens
Sistema Operacional
Host
Foco na construção de sua
aplicação
Fornecido por você
Fornecido e gerenciado pelo Elastic Beanstalk
On-instance configuration
Elastic Beanstalk vs. Faça você mesmo
• Instância única ou com balanceador
• Camada Web e Camada de Workers
• Provisiona a infraestrutura necessária,
como balanceador de carga, Auto Scaling
group, security groups, banco de dados
(opcional), etc.
• Provê um único nome de domínio para sua
aplicação
(ex: yourapp.elasticbeanstalk.com)
Stack de Infraestrutura
Versionamento da aplicação e configuração
Configurações salvas
Guarde as configurações dos seus
ambientes para replicação futura
Versão das aplicações
Versões armazenadas no S3.
Código pode vir do repositório
Git.
Benefícios
Rápido e simples de
começar
Produtividade para
desenvolvedor
Escalabilidade
automática
Total Controle dos
Recursos
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
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
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
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
Casos de Uso Comuns
Websites
API backends
Mobile backends
Processamento assíncrono
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
Primeiros passos com o
Elastic Beanstalk
Informações requeridas para implantar uma aplicação
01
02
03
04
Região
Tipo de Stack
Instância única
Balanceador de Carga
com AutoScaling
ou
Banco de Dados
(RDS)
Optional
Seu código
Plataformas suportadas
Como implantar aplicações
1. Com o AWS Management Console
2. Com o AWS Toolkit para Eclipse e Visual
Studio IDE
3. Com o EB command line interface (EB CLI)
$ eb deploy
Demo: Implantando uma
aplicação no ElasticBeanstalk via
Console
Implantando uma aplicação via CLI
Workflow de implantação de aplicação
$ git clone
https://github.com/awslabs/eb-
node-express-sample.git
Baixe a aplicação de exemplo:02
$ eb init
Crie seu app Elastic Beanstalk03
Siga os prompts e configure o
ambiente
04
05 Crie os recursos e lance a aplicação:
$ eb create
$ pip install --upgrade awsebcli
Instale o EB CLI:01
Atualizando via CLI
Workflow para atualizar a aplicação:
Atualize seu código01
$ git add .
$ git commit –m “v2.0”
$ eb deploy
Adicione e faça o commit no repositório02
Abra a aplicação quando o deploy terminar:03
$ eb open
Melhores Práticas
Teste e faça o tuning de sua aplicação
• Escolha as métricas de performance que você deseja otimizar (ex: latência,
usuários concorrentes, número de 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 tuning do back end (DynamoDB, RDS, etc.) para performance
ótima;
Implantação – Rolling updates
1. Defina a % de instâncias a serem implantadas por vez
2. Implante x% e continue somente se as instâncias
estiverem saudáveis
3. Rollback automático em caso de falhas
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
Implantação – Zero Downtime
1. Crie um novo ambiente para uma aplicação
2. Implante a nova versão da aplicação no novo ambiente
3. Use o “Swap Environment URLs” para direcionar os usuários para o
novo ambiente de produção
Prós:
• Implantação com Zero downtime
• Rollback rápido. O ambiente rodando 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
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
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
Conclusão
• Elastic Beanstalk é a maneira mais simples e
conveniente de subir aplicações na AWS
• Possui recursos poderosos
• Pague somente pelos recursos utilizados
Muito Obrigado!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS Webinar: Serviço de Distribuição de Conteúdo da AWS
Webinar: Serviço de Distribuição de Conteúdo da AWS
 
Introdução ao AWS Database Migration Service
Introdução ao AWS Database Migration ServiceIntrodução ao AWS Database Migration Service
Introdução ao AWS Database Migration Service
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverless
 
DevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaDevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na prática
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
O que uma enterprise deveria fazer nos primeiros 90 dias
O que uma enterprise deveria fazer nos primeiros 90 diasO que uma enterprise deveria fazer nos primeiros 90 dias
O que uma enterprise deveria fazer nos primeiros 90 dias
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
 
Segurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWSSegurança de ponta a ponta na AWS
Segurança de ponta a ponta na AWS
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
 
Mobile tests usando AWS Device Farm
Mobile tests usando AWS Device FarmMobile tests usando AWS Device Farm
Mobile tests usando AWS Device Farm
 
JavaEE
JavaEEJavaEE
JavaEE
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Webinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big DataWebinar: Como obter valor comercial com Big Data
Webinar: Como obter valor comercial com Big Data
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Fazendo seu DR na AWS
Fazendo seu DR na AWSFazendo seu DR na AWS
Fazendo seu DR na AWS
 
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 

Destacado

AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1
Guilherme Elias
 
Indo para as nuvens mais rápido e fácil com Docker
Indo para as nuvens mais rápido e fácil com DockerIndo para as nuvens mais rápido e fácil com Docker
Indo para as nuvens mais rápido e fácil com Docker
Luan Cestari
 

Destacado (20)

Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
TDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de DockerTDC 2015 POA - O Fantástico Mundo de Docker
TDC 2015 POA - O Fantástico Mundo de Docker
 
Palestra sobre git ministrada no BH-Tech Talks
Palestra sobre git ministrada no BH-Tech TalksPalestra sobre git ministrada no BH-Tech Talks
Palestra sobre git ministrada no BH-Tech Talks
 
Git E Seu Amigo
Git E Seu AmigoGit E Seu Amigo
Git E Seu Amigo
 
AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
Escalando primeiros 10 milhões de usuários
Escalando primeiros 10 milhões de usuáriosEscalando primeiros 10 milhões de usuários
Escalando primeiros 10 milhões de usuários
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalEscalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
 
Indo para as nuvens mais rápido e fácil com Docker
Indo para as nuvens mais rápido e fácil com DockerIndo para as nuvens mais rápido e fácil com Docker
Indo para as nuvens mais rápido e fácil com Docker
 
Global Azure Bootcamp 2015 Curitiba
Global Azure Bootcamp 2015 CuritibaGlobal Azure Bootcamp 2015 Curitiba
Global Azure Bootcamp 2015 Curitiba
 
Cloud: Container Service In Action, por Heitor Vidal
Cloud: Container Service In Action, por Heitor VidalCloud: Container Service In Action, por Heitor Vidal
Cloud: Container Service In Action, por Heitor Vidal
 
Tcc obz -
Tcc obz - Tcc obz -
Tcc obz -
 
Serviços em nuvem para sua infraestrutura virtual
Serviços em nuvem para sua infraestrutura virtualServiços em nuvem para sua infraestrutura virtual
Serviços em nuvem para sua infraestrutura virtual
 

Similar a AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk

Similar a AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk (20)

O Futuro do ASP.NET
O Futuro do ASP.NETO Futuro do ASP.NET
O Futuro do ASP.NET
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Conhecendo o AWS Elastic Beanstalk
Conhecendo o AWS Elastic BeanstalkConhecendo o AWS Elastic Beanstalk
Conhecendo o AWS Elastic Beanstalk
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
 
Passo a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvemPasso a passo para criar seu desktop virtual na nuvem
Passo a passo para criar seu desktop virtual na nuvem
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Gerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWSGerenciando e implantando suas aplicações na Nuvem da AWS
Gerenciando e implantando suas aplicações na Nuvem da AWS
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Visão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWSVisão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWS
 
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
 
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
 
Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud Computing
 
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
 
Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWS
 

Más de Amazon Web Services LATAM

Más de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 

AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Daniel Bento, Arquiteto de Soluções Agosto de 2016 Escalando suas aplicações Web com Elastic Beanstalk AWS Experience Fortaleza 2016
  • 2. Agenda • O que é o Elastic Beanstalk? • Primeiros Passos com o Elastic Beanstalk • Melhores Práticas • Conclusão
  • 3. Porque nós contruímos o Elastic Beanstalk?
  • 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. Alguns Desafios dos Clientes Implantar código e não se preocupar o provisionamento e gerenciamento da infraestrutura Não ter expertise ou tempo Escalabilidade automática de aplicações
  • 6. O que é o Elastic Beanstalk?
  • 7. 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
  • 8. Elastic Beanstalk vs. Faça você mesmo Seu código Servidor HTTP Servidor de Aplicação Interpretador de linguagens Sistema Operacional Host Foco na construção de sua aplicação Fornecido por você Fornecido e gerenciado pelo Elastic Beanstalk On-instance configuration
  • 9. Elastic Beanstalk vs. Faça você mesmo • Instância única ou com balanceador • Camada Web e Camada de Workers • Provisiona a infraestrutura necessária, como balanceador de carga, Auto Scaling group, security groups, banco de dados (opcional), etc. • Provê um único nome de domínio para sua aplicação (ex: yourapp.elasticbeanstalk.com) Stack de Infraestrutura
  • 10. Versionamento da aplicação e configuração Configurações salvas Guarde as configurações dos seus ambientes para replicação futura Versão das aplicações Versões armazenadas no S3. Código pode vir do repositório Git.
  • 11. Benefícios Rápido e simples de começar Produtividade para desenvolvedor Escalabilidade automática Total Controle dos Recursos
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. Casos de Uso Comuns Websites API backends Mobile backends Processamento assíncrono
  • 17. 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
  • 18. Primeiros passos com o Elastic Beanstalk
  • 19. Informações requeridas para implantar uma aplicação 01 02 03 04 Região Tipo de Stack Instância única Balanceador de Carga com AutoScaling ou Banco de Dados (RDS) Optional Seu código Plataformas suportadas
  • 20. Como implantar aplicações 1. Com o AWS Management Console 2. Com o AWS Toolkit para Eclipse e Visual Studio IDE 3. Com o EB command line interface (EB CLI) $ eb deploy
  • 21. Demo: Implantando uma aplicação no ElasticBeanstalk via Console
  • 22. Implantando uma aplicação via CLI Workflow de implantação de aplicação $ git clone https://github.com/awslabs/eb- node-express-sample.git Baixe a aplicação de exemplo:02 $ eb init Crie seu app Elastic Beanstalk03 Siga os prompts e configure o ambiente 04 05 Crie os recursos e lance a aplicação: $ eb create $ pip install --upgrade awsebcli Instale o EB CLI:01
  • 23. Atualizando via CLI Workflow para atualizar a aplicação: Atualize seu código01 $ git add . $ git commit –m “v2.0” $ eb deploy Adicione e faça o commit no repositório02 Abra a aplicação quando o deploy terminar:03 $ eb open
  • 25. Teste e faça o tuning de sua aplicação • Escolha as métricas de performance que você deseja otimizar (ex: latência, usuários concorrentes, número de 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 tuning do back end (DynamoDB, RDS, etc.) para performance ótima;
  • 26. Implantação – Rolling updates 1. Defina a % de instâncias a serem implantadas por vez 2. Implante x% e continue somente se as instâncias estiverem saudáveis 3. Rollback automático em caso de falhas
  • 27. 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
  • 28. Implantação – Zero Downtime 1. Crie um novo ambiente para uma aplicação 2. Implante a nova versão da aplicação no novo ambiente 3. Use o “Swap Environment URLs” para direcionar os usuários para o novo ambiente de produção
  • 29. Prós: • Implantação com Zero downtime • Rollback rápido. O ambiente rodando 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
  • 30. 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
  • 31. 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
  • 32. Conclusão • Elastic Beanstalk é a maneira mais simples e conveniente de subir aplicações na AWS • Possui recursos poderosos • Pague somente pelos recursos utilizados

Notas del editor

  1. Note to AWS Employees: Please note that we are no longer providing a bar chart comparing 2015 year-to-date to previous years in this deck. We will provide a final launch number at the close of each year going forward. It is ok however to verbally disclose the current year-to-date launch count in your own presentations/customer materials however.
  2. <>
  3. AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. You can simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring. At the same time, you retain full control over the AWS resources powering your application and can access the underlying resources at any time.
  4. AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, and Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. You can simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring. At the same time, you retain full control over the AWS resources powering your application and can access the underlying resources at any time.
  5. Elastic Beanstalk is the fastest and simplest way to deploy your application on AWS. You simply use the AWS Management Console, a Git repository, or an integrated development environment (IDE) such as Eclipse or Visual Studio to upload your application, and Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. Within minutes, your application will be ready to use without any infrastructure or resource configuration work on your part.
  6. Elastic Beanstalk provisions and operates the infrastructure and manages the application stack for you, so you don't have to spend the time or develop the expertise. Instead, you can focus on writing code rather than spending time managing and configuring servers, databases, load balancers, firewalls, and networks.
  7. Elastic Beanstalk automatically scales your application up and down based on your applications specific need using easily adjustable Auto Scaling settings. For example, you can use CPU utilization metrics to trigger Auto Scaling actions. With Elastic Beanstalk, your application can handle peaks in workload or traffic while minimizing your costs.
  8. You have the freedom to select the AWS resources, such as Amazon EC2 instance type, that are optimal for your application. Additionally, Elastic Beanstalk lets you "open the hood" and retain full control over the AWS resources powering your application. If you decide you want to take over some (or all) of the elements of your infrastructure, you can do so seamlessly by using Elastic Beanstalk's management capabilities.
  9. Canary deployments Detect failures early and roll back
  10. Swaps the CNAMEs of environments (appname.elasticbeanstalk.com) with another CNAME with a different environment. This allows blue green deployments (red/black).