Franco Vieira
Arquiteturas de Alta Disponibilidade na AWS
Solutions Architect
July 30th, 2013
Vários Tutoriais , treinamentos e mentoria em
português
Inscreva-se agora !!
http://awshub.com.br
3
What is High Availability?
• Availability: Percentage of time an application operates during its work cycle
• Loss of availability is known as an outage or downtime
– App is offline, unreachable, or partially available
– App is slow to use
– Planned and unplanned
• Goal
– No downtime
– Always available
4
Availability is related to • Scalability
– Ability of an application to accommodate growth without changing design
– If app cannot scale, availability may be impacted
– Scalability doesn’t guarantee availability
• Fault Tolerance
– Built-in redundancy so apps can continue functioning when components fail
– Fault tolerance is crucial to HA
• Disaster Recovery
– The process, policies, and procedures related to restoring service after a catastrophic event
• AWS democratizes High Availability
– Multiple servers, isolated redundant data centers, regions across the globe, FT services, etc.
AWS GLOBAL INFRASTRUCTURE
US-WEST (Oregon) EU-WEST (Ireland)
ASIA PAC (Tokyo)
ASIA PAC
(Singapore)
US-WEST (N. California)
SOUTH AMERICA (Sao Paulo)
US-EAST (Virginia)
AWS GovCloud (US)
ASIA PAC (Sydney)
Regions
US-WEST (Oregon)) EU-WEST (Ireland)
ASIA PAC (Tokyo)
ASIA PAC
(Singapore)
US-WEST (N. California)
SOUTH AMERICA (Sao Paulo)
US-EAST (Virginia)
AWS GovCloud (US)
ASIA PAC (Sydney)
Availability Zones
AWS BUILDING BLOCKS
Inherently Highly Available and Fault Tolerant Services
Highly Available with the right architecture
Amazon S3
Amazon DynamoDB
Amazon CloudFront
Amazon Route53
Elastic Load Balancing
Amazon SQS
Amazon SNS
Amazon SES
Amazon SWF
…
Amazon EC2
Amazon EBS
Amazon RDS
Amazon VPC
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
LET’S BUILD A
HIGHLY AVAILABLE SYSTEM
#1 DESIGN FOR FAILURE
●○○○○
« Everything fails all the time »
Werner Vogels
CTO of Amazon
AVOID SINGLE POINTS OF FAILURE
AVOID SINGLE POINTS OF FAILURE
ASSUME EVERYTHING FAILS,
AND WORK BACKWARDS
YOUR GOAL
Applications should continue to function
AMAZON EBS ELASTIC BLOCK STORE
AMAZON ELB ELASTIC LOAD BALANCING
HEALTH CHECKS
#2 MULTIPLE
AVAILABILITY ZONES ●●○○○
AMAZON RDS
MULTI-AZ
AMAZON ELB AND
MULTIPLE AZs
#3 SCALING
●●●○○
AUTO SCALING SCALE UP/DOWN EC2 CAPACITY
#4 SELF-HEALING
●●●●○
HEALTH CHECKS
+ AUTO SCALING
HEALTH CHECKS +
AUTO SCALING =
SELF-HEALING
DEGRADED MODE
AMAZON S3 STATIC WEBSITE
+ AMAZON ROUTE 53
WEIGHTED RESOLUTION
#5 LOOSE
COUPLING ●●●●●
BUILD LOOSELY COUPLED SYSTEMS
The looser they are coupled, the bigger they scale,
the more fault tolerant they get…
AMAZON SQS SIMPLE QUEUE SERVICE
PUBLISH& NOTIFY
RECEIVE TRANSCODE
PUBLISH& NOTIFY
RECEIVE TRANSCODE
VISIBILITY TIMEOUT
BUFFERING
CLOUDWATCH METRICS FOR AMAZON SQS
+ AUTO SCALING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
YOUR GOAL
Applications should continue to function
IT’S ALL ABOUT
CHOICE BALANCE COST & HIGH AVAILABILITY
AWS ARCHITECTURE CENTER http://aws.amazon.com/architecture
AWS TECHNICAL ARTICLES http://aws.amazon.com/articles
AWS BLOG http://aws.typepad.com
AWS PODCAST http://aws.amazon.com/podcast
• AWS Trusted Advisor audits a customers infrastructure against known best practices, in order to: – Save Money
– Improve Availability
– Close Security Gaps
– Increase Performance
• In Q1 2013, AWS customers reviewed 135K AWS Trusted Advisor recommendations and took action that resulted in an estimated at $18M in annualized savings
AWS Trusted Advisor
Maurício Fernandes
Arquiteturas de Alta Disponibilidade na AWS Maurício Fernandes Presidente Dedalus
• A Anhanguera Educacional é a maior empresa da educação do Brasil e uma das maiores do mundo com cursos de graduação e pós-graduação.
• Contando com mais de 500.000 estudantes, 70 campi e centenas de escritórios que apóiam o ensino à distância, a área de tecnologia se tornou fundamental no fornecimento de conteúdo e gerenciamento dos estudantes.
“Neste projeto, com a Amazon Web Services, chegamos ao
resultado zero de CAPEX, além do fato dos procedimentos da
AWS nos darem muito mais segurança do que tínhamos antes”.
“Com isso, descobrimos
que a AWS é,
naturalmente, muito
mais barata que a
plataforma de
hospedagem
atual” - Felipe Brandão
• O desafio da Anhanguera era encontrar uma solução que suportasse os milhões de acessos da plataforma Moodle a cada semana, a cada hora. Também existia a necessidade de encontrar um ambiente mais confiável, seguro, flexível e escalável devido ao fato do crescimento exponencial da organização.
• A Amazon Web Services foi o serviço escolhido devido à infraestrutura de fácil implementação, custo ajustado à demanda da empresa além da garantia dos padrões mais altos de segurança.
O Desafio
• Implantação simples e rápida, sem entraves;
• Maior disponibilidade e performance das aplicações;
• Aumento da confiabilidade e segurança dos usuários referente ao ambiente do Moodle;
• Redução significativa de despesas antecipadas de capital (CAPEX).
Sobre a o Papel da AWS e Benefícios
alcançados
PARAGRAFO RESUMO CASO _ KEY WORDS
de BENEFICIO, DESAFIO VENCIDO –
RESUMO DO CASO EM UM PARAGRAFO
Otavio Ferreira
• Líder no e-commerce brasileiro na vertical de produtos para bebês, crianças e mães.
• 2013 Loja Revelação by EBIT
• 2012 Startup do Ano by PEGN
• 2011 Top 10 Startup by Forbes
• Modelos de negócio:
• E-tailing
• Flash-sales
• Principais tecnologias:
• Ruby, Rails, Sinatra
• Unicorn, Nginx
• MongoDB, MySQL
“Plataforma de e-commerce completa e altamente escalável, da
concepção ao lançamento, em apenas 3+5 meses”
“Essa escalabilidade nos permite acomodar um tráfego 5x maior
que a média em poucos segundos, o que
endereça o aspecto sazonal do negócio”
- Otavio Ferreira
O Desafio
• Negócio
• Otimizar a taxa de conversão
• Acelerar a taxa de crescimento de receita
• Escalabilidade
• ~15MM requisições / mês
• ~2MM usuários registrados
• ~2K novas fotos / dia
• Desempenho
• ~150ms / requisição no servidor
• Prazo
• 3 meses para o primeiro lançamento
• 6 dias como ciclo médio de desenvolvimento
Sobre o papel da AWS e os benefícios
alcançados
PARAGRAFO RESUMO CASO _ KEY WORDS
de BENEFICIO, DESAFIO VENCIDO –
RESUMO DO CASO EM UM PARAGRAFO
• Redundância
• Escalabilidade
• Disponibilidade
• Custo
Summary
1. DESIGN FOR FAILURE
2. MULTIPLE AVAILABILITY ZONES
3. SCALING
4. SELF-HEALING
5. LOOSE COUPLING
Thank you [email protected]