9. US-WEST (Oregon)
EU (Ireland)
ASIA PACIFIC
(Tokyo)
US-WEST (N. California)
SOUTH
AMERICA (Sao
Paulo)
US-EAST (N. Virginia)
AWS GOVCLOUD (US)
ASIA PACIFIC
(Sydney)
ASIA PACIFIC
(Singapore)
CHINA (Beijing)
Regiones
EU (Frankfurt)
Korea (Seoul)
10. US-WEST (Oregon)
EU (Ireland)
ASIA PACIFIC
(Tokyo)
US-WEST (N. California)
SOUTH
AMERICA (Sao
Paulo)
US-EAST (N. Virginia)
AWS GOVCLOUD (US)
ASIA PACIFIC
(Sydney)
ASIA PACIFIC
(Singapore)
CHINA (Beijing)
Zonas de Disponibilidad
EU (Frankfurt)
Korea (Seoul)
17. 1 Usuario
• Amazon Route 53 para DNS
• Una sola IP elástica
• Una instancia Amazon EC2
• Paquete Completo
• Servidor Web
• Base de Datos
• Administración
• Etcétera …
Instancia
Amazon
EC2
IP Elástica
Usuario
Amazon
Route 53
18. “Vamos a necesitar más ….”
• Enfoque sencillo
• Sacar provecho de PIOPS
• Instancias con Alto I/O
• Instancias con más RAM
• Instancias con más CPU
• Instancias con mas GB/TB
• Sencillo cambiar de “modelo”
c4.8xlarge
m3.2xlarge
t2.micro
• Este enfoque tiene un límite
19. 1 Usuario
• Potencialmente
podríamos llegar a
cientos o miles de
usuarios
• Sin redundancia
• Sin Alta Disponibilidad
• Demasiados huevos en la
misma canasta
EC2
Instance
Elastic IP
Usuario
Amazon
Route 53
21. Usuarios > 1
Primero separemos algunos
componentes:
• Servidor Web
• Base de Datos
Utilizar una base de datos
como servicio?
Instancia
Web
Database
Instance
Elastic IP
Usuario
Amazon
Route 53
22. Usted mismo Servicio Administrado
Base de Datos en
Amazon EC2
Cualquier base de
datos corriendo en
Amazon EC2
Traiga su propia
licencia (BYOL)
Amazon
DynamoDB
Base de datos NoSQL
administrada
Escalabilidad
transparente
Sin necesidad de
administrar
Amazon RDS
Microsoft SQL Server
Oracle
MySQL
PostgreSQL
MariaDB
Amazon Aurora
BYOL ó Licencia
Incluida
Amazon
Redshift
Servicio de
Datawarehouse
masivamente paralelo
Escalable a PB´s
Veloz, poderoso y fácil
de escalar
Opciones de Base de Datos
23. Amazon Aurora
• Almacenamiento escalable automátizado
(hasta 64 TB)
• Hasta 15 réplicas
• Backups continuos incrementales a
Amazon S3
• Compatible con MySQL
26. ¿Por qué empezar con bases de datos
relacionales?
• Establecidas y tecnologías probadas
• Ecosistema existente, código, comunidades, libros y
herramientas
• No romperan sus bases de datos relacionales con sus
primeros miles de usuarios. *
*A menos qué estés haciendo algo muy PECULIAR con los datos o cuentas con una MASIVA cantidad de datos
…aún asi SQL tiene un lugar en tu aplicación
27. ¿Por qué empezar con NoSQL?
• Aplicaciones con ultra baja latencia
• Enfoque en metadatos de datos
• Datos no relacionales
• Necesito* base de datos sin esquema
• Masivas cantidades de datos (TB´s)
• Rápida ingesta de datos(miles de registros/seg)
31. Usuarios >1000
Soluciones la alta disponibiliidad
y tolerancia a fallas:
Una instancia web adicional
• En otra Zona de
Disponibilidad
RDS Multi-AZ
Elastic Load Balancing (ELB)
Instancia
Web
RDS DB Instance
Active (Multi-AZ)
Availability Zone Availability Zone
Instancia
Web
RDS DB Instance
Standby (Multi-AZ)
ELB
Balancer
Usuario
Amazon
Route 53
32. Elastic Load Balancing
• Alta Disponibilidad
Integrada
• 1 - 65535
• Estado de Salúd
• Sesiones
• SSL
• Monitoreo
• Logs
35. Usuarios > 10,000s–100,000s
RDS DB Instance
Active (Multi-AZ)
Availability Zone Availability Zone
RDS DB Instance
Standby (Multi-AZ)
ELB
Balancer
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
Instancia
Web
Instancia
Web
Instancia
Web
Instancia
Web
Instancia
Web
Instancia
Web
Instancia
Web
Instancia
Web
Amazon
Route 53Usuario
38. RDS DB Instance
Active (Multi-AZ)
Availability Zone
ELB
Balancer
Amazon S3
Amazon
CloudFront
Amazon
Route 53
Usuario
Movamos la carga…
Instancias Web
• contenido estático de Amazon
S3 a Amazon Cloudfront
Mueve
39. Amazon Simple Storage Service (S3)
• Almacenamiento de Objetos
• Alta durabilidad
• Óptimo para contenido estático
• “Sin límite” de escalamiento
• Objetos de hasta 5TB
• Cifrado opcional
40. Amazon CloudFront
• “Cacheo” y distribución de contenido
• Libera carga al origen
• Contenido Dinámico y Estático
• Realizar “Streaming”
• Certificados SSL
• TTL´s bajos configurables
• Optimizado para AWS
42. Movamos la carga…
• contenido estático de
Amazon S3 a Amazon
Cloudfront
• Estádo de sesión a Amazon
DynamoDB
• Utilizar cache para BD con
Amazon Elasticache
Mueve
RDS DB Instance
Active (Multi-AZ)
Availability Zone
ELB
Balancer
Amazon S3
Amazon
CloudFront
Amazon
Route 53
Usuario
ElastiCache DynamoDB
Instancias Web
43. Amazon Elasticache
• Memcached ó Redis Administrado
• Escalamiento de 1 a varios nodos
• Auto-sanable
• Velocidad de respuesta abajo de
10ms
• Memcache local en una ZA
• Multi-AZ posible con Redis
46. Crecimiento/reducción automática de clusters de cómputo
Definición de mínimos y máximos
Métricas de Cloudwatch son gatillo de auto escalamiento
Instancias bajo demanda o spot
aws autoscaling create-auto-scaling-group
--auto-scaling-group-name MyGroup
--launch-configuration-name MyConfig
--min-size 4
--max-size 200
--availability-zones us-west-2c, us-west-2b
Auto Escalamiento
54. Usuarios > 500,000+
Availability Zone
Amazon
Route 53
Usuario
Amazon S3
Amazon
CloudFront
Availability Zone
ELB
Balancer
DynamoDB
RDS DB Instance
Read Replica
Instancias
Web
Instancias
Web
Instancia
Web
ElastiCache RDS DB Instance
Read Replica
Instancia
Web
Instancia
Web
Instancia
Web
ElastiCacheRDS DB Instance
Standby (Multi-AZ)
RDS DB Instance
Active (Multi-AZ)
55. Usuarios >500,000+
• Monitoreo, métricas y logs
• Si no lo puede construir, ¡utilize a
terceros!
• ¿Qué dicen mis clientes?
• Extraiga el máximo rendimiento de
cada servicio/componente.
58. SOA en Práctica
Servicios en capas/módulos
independientes
• Administrados y Escalados
independientemente
Amazon y AWS hacen esto
constantemente
Ofrece flexibilidad y entendimiento de
cada capa/función
59. SOA + Desacoplar = Agilidad
¡NO REINVENTE LA RUEDA!
• Correo Electrónico
• Sistema de colas
• Transcoding
• Búsqueda
• Bases de Datos
• Monitoreo
• Métricas
• Logs
• Cómputo
Amazon
CloudSearch
Amazon SQSAmazon SNS
Amazon Elastic
Transcoder
Amazon SWFAmazon SES
AWS Lambda
60. • Confiable (Multi-AZ)
• Escalable (mensajes ilimitados)
• Seguro (autenticación)
• Sencillo (APIs simples)
Servicios Aplicación – Amazon SQS
SQS
messages
Get
Message
Instancia
Put
Message
Instancia
Amazon SNS Topic
Publish
Notification
Queue Is Subscribed
to Topic
63. Usuarios > 1M+
Llegar al millón y más allá requerirá un poco de los previos
temas platicados:
• Multiples Zonas de Disponibilidad
• Elastic Load Balancing entre capas
• Auto Escalamiento
• Arquitectura SOA
• Entrega de Contenido Optimizada
• Usar caché para Base de Datos
• Estado de Sesiones desacoplado
64. Usuarios > 1M+
RDS DB Instance
Active (Multi-AZ)
Availability Zone
ELB
Balancer
RDS DB Instance
Read Replica
RDS DB Instance
Read Replica
Instancia
Web
Instancia
Web
Instancia
Web
Instancia
Web
Amazon
Route 53
Usuario
Amazon S3
Amazon
CloudFront
DynamoDB
Amazon SQS
ElastiCache
Worker
Instance
Worker
Instance
Amazon
CloudWatch
Internal App
Instance
Internal App
Instance Amazon SES
Lambda
67. Usuarios > 5M - 10M
Potencialmente estará encontrando contensión y
problemas con el master de la base de datos.
¿Cómo resolverlo?
• Federación — Separar multiples BD por función propósito
• Sharding—Separar por rangos/grupos
• Bases de datos especializadas (NoSQL, Graph)
68. ¡Con todo lo revisado
fácilmente podríamos
escalar a
10+ millones de usuarios!
70. Acerca de IATAI
• Grupo empresarial integrado por compañías líderes en los sectores
como: seguros, salud, reaseguros, turismo, salud y tecnología.
• Cuenta con varias unidades de negocio sobre 4 categorías:
asistencia en viajes internacionales a clientes , un gateway de pagos, la
construcción de soluciones móviles y soluciones de comercio
electrónico.
• Cuentan con un equipo de I+D enfocado en conocer las necesidades
de sus clientes desde el estudio de los hábitos del consumidor.
72. IATAI necesitaba de una infraestructura segura que garantizara flexibilidad en la
expansión de servicios y soluciones al tiempo que la continuaba creciendo como
compañía.
“La razón principal era y es que IATAI es una organización dinámica y
necesitábamos que toda la oferta de servicios de TI pudiera
acompañar de manera ágil y oportuna las iniciativas de negocio.”
Luis Eduardo Tobián,
CTO
74. Mi reto más grande al frente del área de TI, es asegurar que la
disponibilidad de los servicios sea la que nuestros clientes
demandan. Al pensar en lo que adquirimos, yo no hablaría
solamente de servidores, sino de toda una infraestructura
con el software base y las aplicaciones para que
existiera un pleno funcionamiento de nuestros servicios,
cumpliendo con los estándares que mis clientes esperan.”
75. Nuestra Infraestructura
- Contamos con un modelo IaaS, dentro del cual se establecen mecanismos
bajo demanda, lo que permite a la infraestructura crecer elásticamente de
forma segura, confiable y flexible cuando se presenten picos de uso.
- Además, con un modelo de alta disponibilidad que alcanza el 99.95%
mensual, proporciona una capacidad de procesamiento de hasta 50
peticiones por segundo y posee una alta tolerancia a fallos basados en
Amazon Web Services.
- Actualmente prestamos servicios a una base de más de 3 millones de
clientes con más de 40,000 transacciones por mes.
78. “Claramente son la compañía que tiene más
conocimiento de los servicios que ofrece Amazon. Son
muy buenos aliados para ayudar a cumplir los objetivos de
negocio. Son asertivos y manejan bien la relación en
tiempos de respuesta.”
Luis Eduardo Tobian, CTO