Escalando para sus primeros 10 millones de usuarios
-
Upload
amazon-web-services-latam -
Category
Technology
-
view
12 -
download
0
Transcript of Escalando para sus primeros 10 millones de usuarios
![Page 1: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/1.jpg)
Escalando para sus primeros 10 Millones de usuarios
Henry AlvaradoSolutions Architect, AWS Colombia
Experience Day Cali
![Page 2: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/2.jpg)
Entonces, cómo escalo?
![Page 3: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/3.jpg)
![Page 4: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/4.jpg)
Demasiado para leer
![Page 5: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/5.jpg)
No es aquí donde se quiere empezar
Demasiado para leer
![Page 6: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/6.jpg)
Auto Scaling es una herramienta y un objetivo. No es una única cosa que
arregla todo.
![Page 7: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/7.jpg)
Qué necesitamos primero?
![Page 8: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/8.jpg)
Algunos conceptos básicos…
![Page 9: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/9.jpg)
AWS Global Infrastructure
16 Regions42 Availability Zones70 Edge Locations
![Page 10: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/10.jpg)
Service Breadth & DepthTECHNICAL &
BUSINESS SUPPORT
Account Management
Support
Professional Services
Solutions Architects
Training & Certification
Security & Pricing Reports
Partner Ecosystem
AWSMARKETPLACE
Backup
Big Data& HPC
Business Apps
Databases
Development
IndustrySolutions
Security
MANAGEMENTTOOLS
Queuing
Notifications
Search
Orchestration
ENTERPRISEAPPS
VirtualDesktops
StorageGateway
Sharing &Collaboration
Email &Calendaring
Directories
HYBRID CLOUDMANAGEMENT
Backups
Deployment
DirectConnect
IdentityFederation
IntegratedManagement
SECURITY &MANAGEMENT
Virtual PrivateNetworks
Identity &Access
EncryptionKeys Configuration Monitoring Dedicated
INFRASTRUCTURESERVICES
Regions AvailabilityZones Compute
StorageO b j e c t s, B l o c k s , F i l e s
DatabasesSQL, NoSQL, Caching
CDNNetworking
PLATFORMSERVICES
App
Mobile & WebFront-end
Functions
Identity
Data Store
Real-time
Development
Containers
SourceCode
BuildTools
Deployment
DevOps
Mobile
Sync
Identity
PushNotifications
MobileAnalytics
MobileBackend
Analytics
DataWarehousing
Hadoop
Streaming
DataPipelines
MachineLearning
![Page 11: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/11.jpg)
AWS building blocksServicios altamente disponibles y tolerante a fallas desde su concepción
Servicios altamente disponibles con una arquitectura correcta
Amazon CloudFront
Amazon Route53
Amazon S3
Amazon DynamoDB
Elastic Load Balancing
Amazon SQS
Amazon SNS
Amazon SES
Amazon SWF
…
Amazon EC2 Amazon Elastic Block Store Amazon RDS Amazon VPC
![Page 12: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/12.jpg)
Entonces, empecemos desde el día 1 con el primer usuario
(usted)
![Page 13: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/13.jpg)
Día 1, usuario 1
• Una única instancia Amazon EC2– El stack completo en este host
• Aplicación web• Base de datos• Administración• Entre otros…
• Una única IP pública• Amazon Route 53 para DNS
Amazon EC2 instance
Elastic IP
Amazon Route 53
User
![Page 14: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/14.jpg)
“Vamos a necesitar una caja mas grande”
• Solución más simple• Posibilidad de usar PIOPS • Instancias para alto I/O• Instancias con alta memoria• Instancias con alto CPU• Instancias con alto
almacenamiento• Fácil cambio de tamaño de
instancia• Eventualmente llegará al límite
c3.8xlargem3.2xlarge
t2.micro
![Page 15: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/15.jpg)
“Vamos a necesitar una caja mas grande”
c3.8xlargem3.2xlarge
t2.micro
• Solución más simple• Posibilidad de usar PIOPS • Instancias para alto I/O• Instancias con alta memoria• Instancias con alto CPU• Instancias con alto
almacenamiento• Fácil cambio de tamaño de
instancia• Eventualmente llegará al límite
![Page 16: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/16.jpg)
Día 1, usuario 1
• Potencialmente podríamos atender de algunos cientos a algunos miles dependiendo de la complejidad de la aplicación
• No hay failover• No hay redundancia• Muchos huevos en la
misma canasta
EC2 Instance
Elastic IP
Amazon Route 53
User
![Page 17: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/17.jpg)
Día 2, usuario > 1
Primero, separemos nuestro host único en más de uno• Web• Base de datos
– Usar un servicio de base de datos?
Web Instance
DatabaseInstance
Elastic IP
Amazon Route 53
User
![Page 18: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/18.jpg)
No administrada Administrada
Base de datos en Amazon EC2
Su decisión de rodar la base de datos en
Amazon EC2
Traiga su propia licencia (BYOL)
Amazon DynamoDB
Servicio de base de datos NoSQL usando
almacenamiento SSD
Escalabilidad simple con cero administración
Amazon RDSMicrosoft SQL Server,
Oracle, MySQL, o PostgreSQL como servicio
administrado
Licenciamiento flexible:BYOL o licencia incluida
Amazon Redshift
Servicio de DW de gran escala,
masivamente paralelo.
Rápido, poderoso y fácil de escalar
Opciones de base de datos
![Page 19: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/19.jpg)
Pero, como escojo la tecnología de DB que necesito? SQL?
NoSQL?
![Page 20: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/20.jpg)
A algunos no les va a gustar esto, pero…
![Page 21: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/21.jpg)
Inicie con bases de datos SQL
![Page 22: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/22.jpg)
Por qué comenzar con SQL?
• Es una tecnología establecida y bien conocida• Existen cientos de libros, comunidades, herramientas,
código y más.• Patrones claros de escalabilidad.• Usted no va a derrumbar una BD SQL con sus primeros
10 millones de usuarios. No, en realidad no lo hará*
*A menos que usted esté haciendo algo MUY fuera de lo común o tenga cantidades MASIVAS de datos, pero inclusive así, SQL tendrá un espacio en su stack.
![Page 23: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/23.jpg)
Ajá! Usted dijo “cantidades
masivas” y yo voy a tener cantidades
masivas!
![Page 24: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/24.jpg)
Si su uso es tal que va a generar TB (> 5) de datos en su primer año, O va a tener un flujo
de trabajo de intensidad de datos increíbles, usted podría
entonces necesitar NoSQL
![Page 25: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/25.jpg)
Por qué otras razones necesitaría NoSQL?
• Aplicaciones de muy baja latencia• Datasets basados en metadata• Data altamente no relacional• Necesidad de constructs de datos sin esquema*• Cantidades masivas de datos (de nuevo, en el orden de
TB)• Rápida ingestión de datos (miles de records/seg)
*Necesidad != “Es más fácil desarrollar sin esquemas”
![Page 26: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/26.jpg)
Usuario > 100
Primero, separemos nuestro único host en más de uno:• Web• Base de datos
– Use Amazon RDS para hacer su vida más fácil
Web instance
Elastic IP
RDS DB instance
Amazon Route 53
User
![Page 27: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/27.jpg)
Usuario > 1000
Después, vamos a atacar nuestra falta de failover y problemas de redundancia:• Elastic Load Balancing
(ELB)• Otra instancia web
– En otra zona de disponibilidad
• RDS Multi-AZ
Web Instance
RDS DB InstanceActive (Multi-AZ)Availability Zone Availability Zone
Web Instance
RDS DB Instance Standby (Multi-AZ)
ELB Balancer
Amazon Route 53User
![Page 28: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/28.jpg)
Escalando esto horizontalmente y verticalmente nos va a llevar
bastante lejos:(decenas a cientos de miles)
![Page 29: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/29.jpg)
Usuario > 10,000s–100,000s
RDS DB InstanceActive (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
Web Instance
Web Instance
Web Instance
Web Instance
Web Instance
Web Instance
Web Instance
Web Instance
Amazon Route 53
User
![Page 30: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/30.jpg)
Esto nos llevará lejos, pero nos importa también el performance y la eficiencia, entonces vamos
a mejorarlo un poco más:
![Page 31: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/31.jpg)
RDS DB InstanceActive (Multi-AZ)
Availability Zone
ELB Balancer
Amazon S3
Amazon CloudFront
Amazon Route 53
User
Vamos a aligerar 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
Movamos las cargas
Web Instances
![Page 32: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/32.jpg)
RDS DB InstanceActive (Multi-AZ)
Availability Zone
ELB Balancer
Amazon S3
Amazon CloudFront
Amazon Route 53
User
ElastiCache
DynamoDB
Web Instances
Vamos a aligerar 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
Movamos las cargas
![Page 33: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/33.jpg)
Vamos a aligerar 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 InstanceActive (Multi-AZ)
Availability Zone
ELB Balancer
Amazon S3
Amazon CloudFront
Amazon Route 53
User
ElastiCache
DynamoDB
Web Instances
Movamos las cargas
![Page 34: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/34.jpg)
Ahora que nuestra capa web es mucho más ligera, podemos
volver al inicio de nuestra charla…
![Page 35: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/35.jpg)
Auto Scaling!
![Page 36: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/36.jpg)
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Tráfico típico semanal a Amazon.com
![Page 37: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/37.jpg)
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Tráfico típico semanal a Amazon.com
Provisioned capacity
![Page 38: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/38.jpg)
November
Tráfico en noviembre a Amazon.com
![Page 39: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/39.jpg)
Provisioned capacity
November
Tráfico en noviembre a Amazon.com
![Page 40: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/40.jpg)
Tráfico en noviembre a Amazon.com76%
24%
Provisioned capacity
November
![Page 41: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/41.jpg)
Tráfico en noviembre a Amazon.com
November
![Page 42: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/42.jpg)
Auto Scaling les permite hacer esto!
![Page 43: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/43.jpg)
Usuario > 500,000+
Availability Zone
Amazon Route 53
User
Amazon S3
Amazon CloudFront
Availability Zone
ELB Balancer
DynamoDBRDS DB Instance
Read Replica
Web Instance
Web Instance
Web Instance
ElastiCache RDS DB Instance Read Replica
Web Instance
Web Instance
Web Instance
ElastiCacheRDS DB Instance Standby (Multi-AZ)
RDS DB InstanceActive (Multi-AZ)
![Page 44: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/44.jpg)
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.
![Page 45: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/45.jpg)
Soluciones de administración de aplicaciones AWS
Convenience Control
Servicios de alto nivel Hágalo usted mismo
AWSElastic Beanstalk
AWSOpsWorks
AWSCloudFormation Amazon EC2
![Page 46: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/46.jpg)
Usuario > 500,000+
Potencialmente usted va a empezar a tener problemas con la velocidad y el performance de sus aplicaciones:• Asegúrese de tener monitoreo, métricas, alarmas y logs.
– Si no puede construir una solución interna, use un Third-party como Nagios, NewRelic, entre otros…
• Ponga atención a cuantos clientes hablan bien de su aplicación vs. cuantos no lo hacen y use esta información.
• Intente exprimir la mayor cantidad de performance de cada uno de los servicios o componentes que use.
![Page 47: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/47.jpg)
Métricas a nivel de host
Métricas agregadas por
nivel
Performance externo del sitioAnálisis de log
![Page 48: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/48.jpg)
Hay mejoras adicionales a ser realizadas al quebrar
su capa de web / aplicación
![Page 49: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/49.jpg)
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.
![Page 50: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/50.jpg)
Desacoplamiento + SOA = ganador
No reinvente la rueda.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
![Page 51: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/51.jpg)
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 MessageInstanc
e
Amazon SNS Topic
Publish Notification
Queue Is Subscribed to Topic
![Page 52: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/52.jpg)
Usuario > 1 millón +
Llegar a millones y más, va a requerir un poco de todo lo que previamente hemos conversado:• Multi-AZ• Elastic Load Balancing entre capas• Auto Scaling• Service Oriented Architecture• Sirva contenido de forma inteligente (S3/CloudFront)• Caché de base de datos• Remueva el estado de capas que auto escalan
![Page 53: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/53.jpg)
Usuario > 1 millón+
RDS DB InstanceActive (Multi-AZ)
Availability Zone
ELB Balancer
RDS DB Instance Read Replica
RDS DB Instance Read Replica
Web Instance
Web Instance
Web Instance
Web Instance
Amazon Route 53
User
Amazon S3
Amazon CloudFront
DynamoDB
Amazon SQS
ElastiCache
WorkerInstance
WorkerInstance
Amazon CloudWatch
Internal AppInstance
Internal AppInstance Amazon SES
Lambda
![Page 54: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/54.jpg)
Los siguientes grandes pasos
![Page 55: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/55.jpg)
Usuario > 5 millones – 10 millones
Potencialmente en este punto comenzará a tener problemas con su base de datos sobre conexiones de escrita en la instancia master.Cómo lo puede resolver?• Federation — separar en múltiples BDs dependiendo de la función
(Foros, Usuarios, Productos.. )• Sharding — separar los datos en múltiples hosts• Mover algunas funcionalidades a otros tipos de bases de datos (NoSQL,
Grafos)
![Page 56: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/56.jpg)
Un breve resumen
![Page 57: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/57.jpg)
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.• Empiece con SQL. En serio!• Use caché de datos tanto dentro como fuera de su
infraestructura.• Use herramientas de automatización en su infraestructura.
![Page 58: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/58.jpg)
Resumen
• 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.• Cámbiese a NoSQL siempre y cuando tenga
sentido.
![Page 59: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/59.jpg)
Poner todo esto junto significa que podrá fácilmente ser capaz de manejar 10+ millones de usuarios!
![Page 60: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/60.jpg)
Hasta el infinito...
![Page 61: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/61.jpg)
Usuario > 10 millones
Iterando sobre estos patrones vistos aquí, podrá llevar su aplicación a más
de 100 millones de usuarios
![Page 62: Escalando para sus primeros 10 millones de usuarios](https://reader035.fdocuments.ec/reader035/viewer/2022081605/58edc06e1a28ab733e8b45dd/html5/thumbnails/62.jpg)
Gracias!