aws summits américa latina 2015: arquitectura para alta disponibilidad
TRANSCRIPT
BOGOTÁ
Arquitectura para alta disponibilidad
Ivan Salazar – Arquitecto de Soluciones, AWS
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
Construyámos un sistema
Construyámos un sistema áltamente disponible
Componentes de AWS
Servicios áltamente disponibles y tolerantes a fallas de manera inherente
Áltamente disponibles con la arquitectura adecuada
! 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
Componentes de AWS
Servicios áltamente disponibles y tolerantes a fallas de manera inherente
Áltamente disponibles con la arquitectura adecuada
! 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. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
#1 Diseñar para fallas ●○○○○
“Todo falla, todo el tiempo”
Werner Vogels CTO de Amazon
Evite los puntos de falla únicos
Evite los puntos de falla únicos Asuma que todo falla, y trabaje hacia atrás
Su meta:
Las apicaciones deben continuar funcionando
Amazon EBS Elastic Block Store
Amazon ELB Elastic Load Balancing
Comprobaciones de estado (Health checks)
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
#2 Múltiples Zonas de disponibilidad ●●○○○
Zonas de disponibilidad
US-WEST (N. California) EU-WEST (Ireland)
ASIA PAC (Tokyo)
ASIA PAC (Singapore)
US-WEST (Oregon)
SOUTH AMERICA (Sao Paulo)
US-EAST (Virginia)
GOV CLOUD
ASIA PAC (Sidney)
EU-CENTRAL (Frankfurt)
ASIA PAC (Beijing)
US-WEST (N. California) EU-WEST (Ireland)
ASIA PAC (Tokyo)
ASIA PAC (Singapore)
US-WEST (Oregon)
SOUTH AMERICA (Sao Paulo)
US-EAST (Virginia)
GOV CLOUD
ASIA PAC (Sidney)
EU-CENTRAL (Frankfurt)
ASIA PAC (Beijing)
Amazon RDS
Multi-AZ
Amazon ELB y
Múltiples AZs
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
#3 Escalamiento ●●●○○
Front-end
Amazon Cloudwatch Monitoreo para recursos de AWS
Auto-escalamiento Aumentar/disminuir la capacidad de EC2
Picos de tráfico impredecibles
Picos de tráfico predecibles
Capa de datos
Componentes de AWS
Servicios áltamente disponibles y tolerantes a fallas de manera inherente
Áltamente disponibles con la arquitectura adecuada
! 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
Componentes de AWS
Servicios áltamente disponibles y tolerantes a fallas de manera inherente
Áltamente disponibles con la arquitectura adecuada
! 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
Componentes de AWS
Servicios áltamente disponibles y tolerantes a fallas de manera inherente
Áltamente disponibles con la arquitectura adecuada
! 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. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
#4 Auto-curación ●●●●○
Comprobaciones de estado +
Auto-escalamiento
Comprobaciones de estado +
Auto-escalamiento =
Auto-curación
Modo degradado
Sitio Web estático en Amazon S3
+ Conmutación con Amazon Route 53
RECORD SETS Alias target to: elastic_load_balancer weight=255 Sitio web en S3 weight=0
RECORD SETS Alias target to: elastic_load_balancer weight=0 Sitio web en S3 weight=255
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
#5 Desacoplamiento ●●●●●
Construya sistemas con componentes
desacoplados
Entre menos acoplados estén los componentes, más fácilmente pueden escalar,
y más tolerantes a fallas se vuelven…
Amazon SQS Simple Queue Service
Publica y notifica Recibe Transcodifica
Publica y notifica Recibe Transcodi
fica SQS SQS Transcodifica
Tiempo límite de visibilidad
Buffering
Métricas de Cloudwatch para Amazon SQS
+ Auto-escalamiento
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
1. Diseñar para fallas 2. Múltiples Zonas de disponibilidad 3. Escalamiento 4. Auto-curación 5. Desacoplamiento
Su meta:
Las apicaciones deben continuar funcionando
GRACIAS!