125
Franco Vieira Arquiteturas de Alta Disponibilidade na AWS Solutions Architect July 30 th , 2013

Arquiteturas de Alta Disponibilidade na AWS

Embed Size (px)

DESCRIPTION

Arquiteturas de Alta Disponibilidade na AWS

Citation preview

Page 1: Arquiteturas de Alta Disponibilidade na AWS

Franco Vieira

Arquiteturas de Alta Disponibilidade na AWS

Solutions Architect

July 30th, 2013

Page 2: Arquiteturas de Alta Disponibilidade na AWS

Vários Tutoriais , treinamentos e mentoria em

português

Inscreva-se agora !!

http://awshub.com.br

Page 3: Arquiteturas de Alta Disponibilidade na AWS

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

Page 4: Arquiteturas de Alta Disponibilidade na AWS

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.

Page 5: Arquiteturas de Alta Disponibilidade na AWS

AWS GLOBAL INFRASTRUCTURE

Page 6: Arquiteturas de Alta Disponibilidade na AWS

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

Page 7: Arquiteturas de Alta Disponibilidade na AWS

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

Page 8: Arquiteturas de Alta Disponibilidade na AWS

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

Page 9: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 10: Arquiteturas de Alta Disponibilidade na AWS

LET’S BUILD A

HIGHLY AVAILABLE SYSTEM

Page 11: Arquiteturas de Alta Disponibilidade na AWS
Page 12: Arquiteturas de Alta Disponibilidade na AWS
Page 13: Arquiteturas de Alta Disponibilidade na AWS
Page 14: Arquiteturas de Alta Disponibilidade na AWS
Page 15: Arquiteturas de Alta Disponibilidade na AWS

#1 DESIGN FOR FAILURE

●○○○○

Page 16: Arquiteturas de Alta Disponibilidade na AWS

« Everything fails all the time »

Werner Vogels

CTO of Amazon

Page 17: Arquiteturas de Alta Disponibilidade na AWS

AVOID SINGLE POINTS OF FAILURE

Page 18: Arquiteturas de Alta Disponibilidade na AWS

AVOID SINGLE POINTS OF FAILURE

ASSUME EVERYTHING FAILS,

AND WORK BACKWARDS

Page 19: Arquiteturas de Alta Disponibilidade na AWS

YOUR GOAL

Applications should continue to function

Page 20: Arquiteturas de Alta Disponibilidade na AWS
Page 21: Arquiteturas de Alta Disponibilidade na AWS
Page 22: Arquiteturas de Alta Disponibilidade na AWS
Page 23: Arquiteturas de Alta Disponibilidade na AWS

AMAZON EBS ELASTIC BLOCK STORE

Page 24: Arquiteturas de Alta Disponibilidade na AWS
Page 25: Arquiteturas de Alta Disponibilidade na AWS
Page 26: Arquiteturas de Alta Disponibilidade na AWS
Page 27: Arquiteturas de Alta Disponibilidade na AWS
Page 28: Arquiteturas de Alta Disponibilidade na AWS

AMAZON ELB ELASTIC LOAD BALANCING

Page 29: Arquiteturas de Alta Disponibilidade na AWS
Page 30: Arquiteturas de Alta Disponibilidade na AWS
Page 31: Arquiteturas de Alta Disponibilidade na AWS

HEALTH CHECKS

Page 32: Arquiteturas de Alta Disponibilidade na AWS
Page 33: Arquiteturas de Alta Disponibilidade na AWS
Page 34: Arquiteturas de Alta Disponibilidade na AWS
Page 35: Arquiteturas de Alta Disponibilidade na AWS
Page 36: Arquiteturas de Alta Disponibilidade na AWS
Page 37: Arquiteturas de Alta Disponibilidade na AWS

#2 MULTIPLE

AVAILABILITY ZONES ●●○○○

Page 38: Arquiteturas de Alta Disponibilidade na AWS

AMAZON RDS

MULTI-AZ

Page 39: Arquiteturas de Alta Disponibilidade na AWS
Page 40: Arquiteturas de Alta Disponibilidade na AWS
Page 41: Arquiteturas de Alta Disponibilidade na AWS
Page 42: Arquiteturas de Alta Disponibilidade na AWS
Page 43: Arquiteturas de Alta Disponibilidade na AWS

AMAZON ELB AND

MULTIPLE AZs

Page 44: Arquiteturas de Alta Disponibilidade na AWS
Page 45: Arquiteturas de Alta Disponibilidade na AWS
Page 46: Arquiteturas de Alta Disponibilidade na AWS

#3 SCALING

●●●○○

Page 47: Arquiteturas de Alta Disponibilidade na AWS
Page 48: Arquiteturas de Alta Disponibilidade na AWS
Page 49: Arquiteturas de Alta Disponibilidade na AWS

AUTO SCALING SCALE UP/DOWN EC2 CAPACITY

Page 50: Arquiteturas de Alta Disponibilidade na AWS
Page 51: Arquiteturas de Alta Disponibilidade na AWS
Page 52: Arquiteturas de Alta Disponibilidade na AWS
Page 53: Arquiteturas de Alta Disponibilidade na AWS
Page 54: Arquiteturas de Alta Disponibilidade na AWS
Page 55: Arquiteturas de Alta Disponibilidade na AWS
Page 56: Arquiteturas de Alta Disponibilidade na AWS
Page 57: Arquiteturas de Alta Disponibilidade na AWS
Page 58: Arquiteturas de Alta Disponibilidade na AWS
Page 59: Arquiteturas de Alta Disponibilidade na AWS

#4 SELF-HEALING

●●●●○

Page 60: Arquiteturas de Alta Disponibilidade na AWS

HEALTH CHECKS

+ AUTO SCALING

Page 61: Arquiteturas de Alta Disponibilidade na AWS
Page 62: Arquiteturas de Alta Disponibilidade na AWS
Page 63: Arquiteturas de Alta Disponibilidade na AWS
Page 64: Arquiteturas de Alta Disponibilidade na AWS
Page 65: Arquiteturas de Alta Disponibilidade na AWS

HEALTH CHECKS +

AUTO SCALING =

SELF-HEALING

Page 66: Arquiteturas de Alta Disponibilidade na AWS

DEGRADED MODE

Page 67: Arquiteturas de Alta Disponibilidade na AWS

AMAZON S3 STATIC WEBSITE

+ AMAZON ROUTE 53

WEIGHTED RESOLUTION

Page 68: Arquiteturas de Alta Disponibilidade na AWS
Page 69: Arquiteturas de Alta Disponibilidade na AWS
Page 70: Arquiteturas de Alta Disponibilidade na AWS
Page 71: Arquiteturas de Alta Disponibilidade na AWS

#5 LOOSE

COUPLING ●●●●●

Page 72: Arquiteturas de Alta Disponibilidade na AWS

BUILD LOOSELY COUPLED SYSTEMS

The looser they are coupled, the bigger they scale,

the more fault tolerant they get…

Page 73: Arquiteturas de Alta Disponibilidade na AWS

AMAZON SQS SIMPLE QUEUE SERVICE

Page 74: Arquiteturas de Alta Disponibilidade na AWS

PUBLISH& NOTIFY

RECEIVE TRANSCODE

Page 75: Arquiteturas de Alta Disponibilidade na AWS

PUBLISH& NOTIFY

RECEIVE TRANSCODE

Page 76: Arquiteturas de Alta Disponibilidade na AWS
Page 77: Arquiteturas de Alta Disponibilidade na AWS
Page 78: Arquiteturas de Alta Disponibilidade na AWS
Page 79: Arquiteturas de Alta Disponibilidade na AWS
Page 80: Arquiteturas de Alta Disponibilidade na AWS
Page 81: Arquiteturas de Alta Disponibilidade na AWS
Page 82: Arquiteturas de Alta Disponibilidade na AWS

VISIBILITY TIMEOUT

Page 83: Arquiteturas de Alta Disponibilidade na AWS
Page 84: Arquiteturas de Alta Disponibilidade na AWS
Page 85: Arquiteturas de Alta Disponibilidade na AWS
Page 86: Arquiteturas de Alta Disponibilidade na AWS
Page 87: Arquiteturas de Alta Disponibilidade na AWS
Page 88: Arquiteturas de Alta Disponibilidade na AWS
Page 89: Arquiteturas de Alta Disponibilidade na AWS
Page 90: Arquiteturas de Alta Disponibilidade na AWS

BUFFERING

Page 91: Arquiteturas de Alta Disponibilidade na AWS
Page 92: Arquiteturas de Alta Disponibilidade na AWS
Page 93: Arquiteturas de Alta Disponibilidade na AWS
Page 94: Arquiteturas de Alta Disponibilidade na AWS
Page 95: Arquiteturas de Alta Disponibilidade na AWS
Page 96: Arquiteturas de Alta Disponibilidade na AWS
Page 97: Arquiteturas de Alta Disponibilidade na AWS

CLOUDWATCH METRICS FOR AMAZON SQS

+ AUTO SCALING

Page 98: Arquiteturas de Alta Disponibilidade na AWS
Page 99: Arquiteturas de Alta Disponibilidade na AWS
Page 100: Arquiteturas de Alta Disponibilidade na AWS
Page 101: Arquiteturas de Alta Disponibilidade na AWS
Page 102: Arquiteturas de Alta Disponibilidade na AWS
Page 103: Arquiteturas de Alta Disponibilidade na AWS
Page 104: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 105: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 106: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 107: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 108: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 109: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 110: Arquiteturas de Alta Disponibilidade na AWS

YOUR GOAL

Applications should continue to function

Page 111: Arquiteturas de Alta Disponibilidade na AWS

IT’S ALL ABOUT

CHOICE BALANCE COST & HIGH AVAILABILITY

Page 112: Arquiteturas de Alta Disponibilidade na AWS

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

Page 113: Arquiteturas de Alta Disponibilidade na AWS

• 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

Page 114: Arquiteturas de Alta Disponibilidade na AWS

Maurício Fernandes

Page 115: Arquiteturas de Alta Disponibilidade na AWS

Arquiteturas de Alta Disponibilidade na AWS Maurício Fernandes Presidente Dedalus

Page 116: Arquiteturas de Alta Disponibilidade na AWS

• 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

Page 117: Arquiteturas de Alta Disponibilidade na AWS

• 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

Page 118: Arquiteturas de Alta Disponibilidade na AWS

• 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

Page 119: Arquiteturas de Alta Disponibilidade na AWS

Otavio Ferreira

Page 120: Arquiteturas de Alta Disponibilidade na AWS

• 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

Page 121: Arquiteturas de Alta Disponibilidade na AWS

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

Page 122: Arquiteturas de Alta Disponibilidade na AWS

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

Page 123: Arquiteturas de Alta Disponibilidade na AWS

Summary

Page 124: Arquiteturas de Alta Disponibilidade na AWS

1. DESIGN FOR FAILURE

2. MULTIPLE AVAILABILITY ZONES

3. SCALING

4. SELF-HEALING

5. LOOSE COUPLING

Page 125: Arquiteturas de Alta Disponibilidade na AWS

Thank you [email protected]