Escolar Documentos
Profissional Documentos
Cultura Documentos
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Abordagens de arquitetura para AWS
• Implantação de aplicativos existentes na AWS com o mínimo de
re-design
Lift-and-shift • Boa estratégia se está começando na AWS ou se o aplicativo não
pode ser rearquitetado devido a restrições de custos ou recursos
• Use serviços como EC2, EBS, VPC
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Melhores práticas de arquitetura de nuvem
1. Desenhe para falha e nada falhará
2. Construa segurança em todas as camadas
3. Aproveite diferentes opções de armazenamento
4. Implemente elasticidade
5. Pense paralelo
6. Um acoplamento fraco te liberta
7. Não tenha medo de restrições
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
1
Desenhe para Falha
e Nada Falhará
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Desenhe para falha: um único usuário
• Dá a um servidor um endereço
IP público estático
• UMA única Instância do Amazon Elastic IP
address
Elastic Compute Cloud (EC2)
• Full stack em um único host
• Aplicação Web
EC2 Server
• Banco de dados
• Gestão, etc...
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Desenhe para falha: Dificuldades de escalabilidade para muitos
usuários
Poderíamos chegar a algumas
centenas até alguns milhares de Usuários
DNS
(Route 53)
usuários, dependendo da
complexidade do aplicativo e do
tráfego, mas...
Elastic IP
address
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Desenhe para Falha: Resolvendo a Falta de Failover/Redundância
Aproveite as várias zonas de disponibilidade
(AZs) para redundância e alta
disponibilidade. Usuários
DNS
(Route 53)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Desenhe para Falha: Práticas recomendadas
Práticas recomendadas:
DNS
• Elimine pontos únicos de falha Usuários
(Route 53)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Desenhe para Falha
Evite pontos únicos de falha
Assuma que tudo falha e desenhe de trás para frente
• Quando, e não se, um componente individual falhar, o
aplicativo não falhará
• Pense em seus servidores como gado, não animais de
estimação
• Aproveite o DNS do Route 53 com as estratégias do Pilot-
light ou Warm-standby para implementar a recuperação
de desastres
• Grupos de Auto Scaling podem ser usados para detectar
falhas e se autocorrigir, protegendo assim contra
interrupções de nível de AZ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2
Construa segurança
em todas as camadas
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Construa segurança em todas as camadas
HTTP: 80
Rede Corporativa
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Construa segurança em todas as camadas
Criptografar dados
em trânsito e em HTTPS: 443
repouso Key
Management
Service (KMS)
Rede Corporativa
EC2 EC2 EC2
IPSEC VPN
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Construa segurança em todas as camadas
Impor princípio de
menor privilégio HTTPS: 443
Key
com IAM Management
Service
Rede Corporativa
EC2 EC2 IAM
EC2
IPSEC VPN
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Construa segurança em todas as camadas
Criar regras de
firewall com HTTPS: 443
Key
Grupos de Segurança Management
Service
e NACLs
Rede Corporativa
EC2 EC2 IAM
EC2
IPSEC VPN
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Construir segurança em todas as camadas
Mais ferramentas para sua caixa de ferramentas de
segurança:
• Amazon Inspector
• Amazon Certificate Manager
• AWS Shield
• AWS Web Application Firewall (WAF)
• Amazon Macie
• Amazon GuardDuty
• AWS Config
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3
Aproveite as diversas
opções de
armazenamento
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Aproveite as diversas opções de armazenamento
DNS
Usuários
(Route 53)
Estado atual:
• Toda a carga manipulada por um stack
• Elastic Load Balancer (ELB)
• Cluster de aplicativos Web do EC2
• Banco de Dados Relacional
• Sem camada(s) de cache Instâncias Web
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Aproveite as diversas opções de armazenamento
Offload de Solicitações e cache para Amazon
objetos estáticos: Usuários
DNS (Route
53)
CloudFront
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Aproveite as diversas opções de armazenamento
armazenamento de chave-
valor NoSQL gerenciado
DynamoDB
Banco de Dados
Relacional
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Aproveite as diversas opções de armazenamento
banco de dados:
• Coloque o ElastiCache como
uma camada de cache entre
as instâncias Web e o banco Amazon
S3
Instâncias da Web
de dados
DynamoDB
Banco de Dados ElastiCache
Relacional
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
4
Implementar
elasticidade
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tráfego de novembro para Amazon.com
Capacidade provisionada
Tráfego real
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tráfego de novembro para Amazon.com
Capacidade provisionada
76%
Tráfego real
24%
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tráfego de novembro para Amazon.com
Capacidade provisionada
Tráfego real
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Implementar elasticidade
Como guiar:
• Escreva Políticas de Auto Scaling tendo em mente os padrões de
acesso específico a sua aplicação
• Prepare seu aplicativo para que seja flexível: não assuma a
integridade, a disponibilidade ou o local fixo dos componentes
• Arquitete resiliência para reiniciar e relançar
• Quando uma instância é iniciada, ela deve perguntar ”Quem
sou eu e qual é o meu papel?”
• Faça proveito dos serviços gerenciados e escaláveis como S3 e
DynamoDB
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
5
Pense paralelo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Pense paralelo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Pense paralelo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Pense paralelo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
6
Um acoplamento
fraco te liberta
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Um acoplamento fraco te liberta: Enfileiramento
Acoplamento forte
Acoplamento fraco
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Um acoplamento fraco te liberta : não reinvente a roda
Pull:
Kinesis Stream
Amazon
Kinesis
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
7
Não tenha medo de
restrições
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Não tenha medo de restrições
Repense as restrições das arquiteturas tradicionais
Precisa de mais RAM?
• Não Faça: escala vertical
• Faça: distribuição de carga entre instâncias ou crie um cache compartilhado
Precisa de IOPS melhores para banco de dados?
• Não Faça: esquemas de retrabalhos/índices ou escala vertical
• Faça : crie réplicas de leitura, implemente Sharding, adicione uma camada de cache
O hardware falhou ou a configuração foi corrompida?
• Não Faça: desperdice o tempo de produção diagnosticando o problema
• Faça: “Rip and replace” — parar/encerrar instância antiga e relançar
Precisa de uma estratégia de recuperação de desastres (DR) econômica?
• Não Faça: dobre os custos de infraestrutura quando você não precisa
• Faça: implemente Pilot Light ou stacks de DR Warm Standby
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Alguma pergunta?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.