7. 1 deploy semanal Entre 1 y 10 deploys diarios / equipo
1 aplicación muy grande + 20 microaplicaciones
15 minutos por deploy 1 min por deploy sin downtime
¿Valio la pena?
Cada desarrollador sabe y puede subir su
código a test y a producción.
Agility @ MercadoLibre
Diario:
• +1000 Deploys.
• +1500 New instances.
Total:
• +1200 devs
• +8500 AWS instances.
• +2000 ELBs.
Tráfico Noviembre Amazon.com
Noviembre
Tráfico Noviembre Amazon.com
76%
24%
Noviembre
Capacidad Provisionada
11. Vamos a alivianar la carga en nuestras
instancias web y base de datos:
• Mover el contenido estático de la
instancia web a Amazon S3 y Amazon
CloudFront
• Mover la sesiones/estado y crear un caché
para la base de datos usando Amazon
ElastiCache o Amazon DynamoDB
• Mover el contenido dinámico del ELB a
Amazon CloudFront
RDS DB Instance
Active (Multi-AZ)
Availability Zone
ELB Balancer
Amazon S3
Amazon
CloudFront
Amazon
Route 53
User
ElastiCache
DynamoDB
Web Instances
Moviendo las cargas
14. SOA (Service Oriented Architecture)
• Mover servicios a sus propias capas o módulos. Trate cada uno de ellos
como piezas completamente separadas de su infraestructura y
escálelas de forma independiente.
• Amazon.com y AWS hacen esto de forma extensiva! Ofrece flexibilidad
y un mejor entendimiento de cada uno de los componentes.
15. Desacoplamiento + SOA = win-win
No reinvente la rueda.
Algunos ejemplos:
– Email
– Queuing
– Transcoding
– Search
– Databases
– Monitoring
– Metrics
– Logging
– Compute
Amazon
CloudSearch
Amazon SQSAmazon SNS
Amazon Elastic
Transcoder
Amazon SWFAmazon SES
Si alguien ya creó un servicio que cumple sus necesidades,
úselo en vez de construirlo.
AWS
Lambda
16. El desacoplamiento te libera!
Entre más desacoplados, más escalan
– Componentes independientes
– Diseñe todo como una caja negra
– Desacople interacciones
– Favorezca servicios que ya ofrecen redundancia y escalabilidad, en vez de crear sus propios.
S3 Bucket
Lambda
Push: Event
Notification
DynamoDB
Pull: DynamoDB
Stream
Amazon Kinesis
Pull:
DynamoDB Stream
SQS
messages
Get
Message
Instance
Put
Message
Instance
Amazon SNS Topic
Publish Notification
Queue Is Subscribed
to Topic
18. Use automatización
Administrar su infraestructura va a ser cada día una parte más importante de
su tiempo. Use herramientas de automatización para tareas repetitivas:
• Herramientas para administrar sus recursos AWS
• Herramientas para administrar el software y la configuración en sus
instancias.
• Automatice el análisis de logs y acciones de los usuarios.
19. Soluciones de administración de aplicaciones AWS
Conveniencia Control
Servicios de alto nivel Hágalo usted mismo
AWS
Elastic Beanstalk
AWS
OpsWorks
AWS
CloudFormation
Amazon EC2
20. Métricas a
nivel de host
Métricas
agregadas y de
negocio
Performance
externo del sitio
Análisis de log
21. Resumen
• Infraestructura Multi-AZ
• Use servicios que escalan por si solos – ELB, Amazon S3,
Amazon SNS, Amazon SQS, Amazon SWF, Amazon SES, entre
otros.
• Construya con redundancia en todos los niveles.
• Use diferentes persistencias: SQL + Cache + NoSQL + Search
• Use caché de datos tanto dentro como fuera de su
infraestructura.
• Use herramientas de automatización en su infraestructura.
22. • Asegúrese de tener buenas herramientas para
métricas/monitoreo/logs.
• Separe capas en servicios individuales (SOA).
• Use Auto Scaling cuando esté listo para ello.
• No intente reinventar la rueda.
• Use NoSQL siempre y cuando tenga sentido.
Resumen