SlideShare uma empresa Scribd logo
São Paulo
Escalando para os primeiros
10 milhões de usuários
Julio M. Faerman
@jmfaerman
Como escalar
do usuário 1 ao 10M?
OBS: Sem desperdícios!
Em quanto tempo?
~3 Dias
~3500
instâncias
?
1997- Reed Hastings and fellow software executive Marc Randolph co-found Netflix to offer online movie
rentals.
1999 - Netflix launches the subscription service, offering unlimited rentals for one low monthly subscription.
2000 - Netflix launches the personalized movie recommendation system that uses Netflix members’
ratings to accurately predict choices for all Netflix members.
2002 - Netflix makes its initial public offering (IPO on Nasdaq under the ticker “NFLX” with 600,000
members in the US.)
2005 - The number of Netflix members rises to 4.2 million.
2007 - Netflix introduces streaming, which allows members to instantly watch television shows
and movies on their personal computers.
2008 - Netflix partners with consumer electronics companies to stream on the Xbox 360, Blu-ray disc players and TV
set-top boxes.
2009 - Netflix partners with consumer electronics companies to stream on the PS3, Internet connected TVs and
other Internet connected devices.
2010 - Netflix is available on the Apple iPad, iPhone and iPod Touch, the Nintendo Wii, and other Internet connected
devices. Netflix launches its service in Canada.
2011 - Netflix launches throughout Latin America and the Caribbean.
2012 - Netflix became available in Europe including the United Kingdom, Ireland and in the Nordic Countries. Netflix
wins its first Primetime Emmy Engineering Award.
2013 - Netflix expanded to the Netherlands. Netflix garners 31 primetime Emmy nominations including outstanding
drama series, comedy series and documentary or nonfiction special for “House of Cards”, “Orange is the new black”,
and “The Square” respectively. House of Cards won three Primetime Emmy Awards. Netflix was the first internet TV
network nominated for the primetime Emmy.
2014 - In 2014 Netflix launched in 6 new countries in Europe (Austria, Belgium, France, Germany, Luxembourg and
Switzerland). Netflix wins 7 creative Emmy Awards for House of Cards and Orange is the New Black. Netflix now
has over 50 million members globally
https://pr.netflix.com/WebClient/loginPageSalesNetWorksAction.do?contentGroupId=10477
A escalabilidade é gerenciada
pela AWS ou pelo cliente?
Regiões
Oregon
Ireland
Tokyo
N. California
Sao Paulo
Virginia
AWS GovCloud
Sydney
Singapore
Beijing
Frankfurt
Oregon
Ireland
Tokyo
N. California
Sao Paulo
Virginia
AWS GovCloud
Sydney
Singapor
e
Beijing
Zonas de Disponibilidade
Frankfurt
A escalabilidade é gerenciada pela
AWS ou pelo cliente?
Global AWS
Amazon CloudFront, Amazon
Route53, Amazon IAM
Região AWS
Amazon S3, Amazon
DynamoDB, Amazon ELB*
Zona de
Disponiblidade
Compartilhada
Amazon EC2, Amazon
ElastiCache**, Amazon RDS***
Qual a diferença entre uma
Zona de Disponibilidade e
um Data Center?
Qual a diferença entre uma
Zona de Disponibilidade e
um Data Center?
“Inovação em Escala na AWS”
Qual é o mínimo?
Vai ter Auto Scaling?
Fica, vai ter auto-scaling.
Mas na primeira arquitetura…
• Primeira Instância [t2.micro]
– Aplicação Web
– Banco de Dados
– Ferramentas Administrativas
– …
• Um Elastic IP
• DNS no Amazon Route 53
Amazon
Route 53
Usuário == 1
Instance
Elastic IP
Escalabilidade Vertical
• Abordagem mais simples
• Familias de Instâncias
– High I/O
– High Memory
– High CPU
– High storage
– Cluster Compute
– Dense Storage
• Maior instância atualmente:
d2.8xlarge
36 RAM - 244 CPU - 24 x 2TB HDD
Características da Primeira Arquitetura
• Até centenas de usuários
• Ponto único de falhas
• Sem redundância ou alta disponibilidade
• Concorrência, Contenção e Carga
Segunda arquitetura, User > 10
Diferenças de Escalabilidade:
• Banco de Dados Relacional
– Escalabilidade Vertical
• Aplicação
– Escalabilidade Horizontal
Amazon
Route 53
Usuário
Web
Elastic IP
DB
É melhor começar com
SQL ou NoSQL?
Prefira começar com SQL!
Por que começar com SQL?
• Tecnologia estabelecida e madura
• Muito código, comunidade, livros, ferramentas,...
• Padrões difundidos de escalabilidade
Você provavelmente* não vai
“quebrar o banco”
nos primeiros 10M usuários.
* http://thedailywtf.com/articles/The-Query-of-Despair
Instâncias EC2
oferecem até
244GiB RAM
http://yourdatafitsinram.com
O que precisaria começar com NoSQL?
• Dados não relacionais (grafos, documentos,…)
• Baixa* latência (<10ms)
• Requer (!= deseja) banco de dados sem
schema
• Grande* (> 10s TBs) volume de dados
• Ingestão de eventos complexos em tempo real
Terceira Arquitetura, User >100
Simplifique a administração do
banco de dados com o Amazon
Relational Database Service
• MySQL
• PostgresSQL
• Oracle
• MS SQL
• Amazon Aurora
Amazon
Route 53
Usuário
Web
Elastic IP
Amazon
RDS
Quarta Arquitetura, User > 1000
Alta Disponibilidade
• Elastic Load Balancer
• Instância Web
Redundante
– Em outra Availability
Zone
• RDS Multi-AZ
sa-east-1a sa-east-1b
Elastic Load
Balancing
Usuário
s
Web Web
RDS DB
Mestre
RDS DB
Secundário
Esta arquitetura
pode suportar até
10K-100K
usuários
sa-east-1a sa-east-1b
Elastic Load
Balancing
Usuário
s
Web Web
RDS DB
Mestre
RDS DB
Secundário
5a Arquitetura: Lendo de Réplicas
sa-east-1a sa-east-1b
Elastic Load
Balancing Usuário
s
Web Web Web Web
RDS DB
Mestre
RDS DB
Secundário
RDS DB
Replica
RDS DB
Replica
Web Web Web Web
RDS DB
Replica
RDS DB
Replica
INSERT SELECT
SYNC ASYNC
Disponibilidade e
Tolerância a Falhas
Eficiência e Desempenho
Aliviar a carga do servidor de aplicações e de banco
de dados:
a. Armazenar o conteúdo estático no Amazon S3
b. Mover as sessões HTTP no Amazon ElastiCache
ou Amazon DynamoDB
c. Distribuir o conteúdo estático e dinâmico pelo
Amazon CloudFront
Sexta Arquitetura:
6a. Conteúdo Estático no S3
Instâncias
RDS DB Mestre
Elastic Load
Balancing
superapp.js
player34/avatar.jpg
api/leaderboard
Conteúdo Estático no S3
Instâncias
RDS DB
MestreElastic Load
Balancing
superapp.js
player34/avatar.jpg
api/leaderboard
App Cliente
html/js/css
Dados de Usuários
http://improve.dk/pushing-the-limits-of-amazon-s3-upload-performance/
Amazon ElastiCache
• Memcached e Redis como serviço
• Auto-recuperação (Self-healing)
• Baixíssima latência
• Caches locais com Memcached
• Caches replicados e persistentes com Redis
• O AWS Auto Discovery client simplifica o
redimensionamento do cluster sem impacto para
a aplicação
6b. Cache em Memória
Instâncias
RDS DB
Mestre
Elastic Load
Balancing
App Cliente
html/js/css
Dados de Usuários
ElastiCache
* HTTP Sessions
* SELECT name FROM Planet
Amazon DynamoDB
• Serviço de Banco de Dados NoSQL
• Gerenciado pela AWS
• Vazão provisionada
• Latência baixa (~< 9ms) e previsível
• Tolerante à falhas
• Documentos em JSON
• Items de até 400KB
Cache em Memória
Instâncias
RDS
DB
Mestre
Elastic Load
Balancing
App Cliente
html/js/css
Dados de Usuários
ElastiCache DynamoDB
* HTTP Sessions
• Votes, Activities, …
• CQRS
Distribuição de Conteúdo
?????
Melhor latência E melhor custo!
Usuário
Distribuição de Conteúdo
• Cache “na borda” para entrega rápida
• Reduz carga na origem
• Streaming de video
• Custo mais baixo para tráfego interno
• Otimizações para Amazon EC2, Amazon S3, ELB e Amazon Route 53
Sexta Arquitetura:
Instâncias
RDS
DB
Mestre
ELB
App Cliente
html/js/css
Dados de
Usuários
ElastiCache
DynamoDB
CloudFront
E o Auto Scaling?!?
Domingo Segunda Terça Quarta Quinta Sexta Sábado
Semana Típica no Amazon.com
Domingo Segunda Terça Quarta Quinta Sexta Sábado
Semana Típica no Amazon.com
Capacidade Provisionada?
Novembro
Novembro no Amazon.com
Capacidade?
Novembro
Novembro no Amazon.com
Novembro no Amazon.com
76%
24%
Capacidade Provisionada
Novembro
Novembro no Amazon.com
Novembro
Sétima Arquitetura:
Região
Zona de
Disponibilidade
Zona de
Disponibilidade
DNS
HTTP
STATIC
DYNAMIC
SQLNoSQL
CACHE
ALARM
Automatize TUDO!
• Implantação de novos ambientes
• Lançamentos
• Testes A/B
• Implantação Blue/Green
• Rollback de versões
• Gerenciamento de contas AWS
• Automação de configuração
• Análise de logs
Serviços de Gerenciamento de Aplicações
Alto Nível de Abstração Faça Você Mesmo
AWS
Elastic Beanstalk
AWS
OpsWorks
AWS
CloudFormation
Amazon EC2
User >500k+
• Assegure monitoramento, metricas e logging
• Avalie qualitativamente a experiência do usuário
• Entenda as características de desempenho de
cada componente
Métricas do
Host
Métricas
Agregadas
Análise de
Log
Percepção de
Desempenho
Decomposição
e
Desacoplamento
http://martinfowler.com/articles/microservices.html
http://techblog.netflix.com/2013/01/announcing-ribbon-tying-netflix-mid.html
Redução de acoplamento
• Componentes Independentes
• Projete como “caixas pretas”
• Interações desacopladas
• Favoreça serviços gerenciados
Serviço A Serviço B
Serviço A Serviço B
RPC
Filas
Serviços para Aplicações
• Email
• Queuing
• Transcoding
• Search
• Databases
• Monitoring
• Metrics
• Logging
Amazon
CloudSearch
Amazon SQSAmazon SNS
Amazon
Elastic
Transcoder
Amazon SWF
Amazon SES
Serviços gerenciados para funcionalidades comums:
User >1mil+
• Multi-AZ++
• Elastic Load Balancer entre camadas
• Auto Scaling com diversos grupos e alarmes
• Service Oriented Architecture e Microservices
• Distribuição eficiente de conteúdo
• Cache de consultas frequentes
Oitava???
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
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
Worker
Instance
Worker
Instance
Amazon
CloudWatch
Internal App
Instance
Internal App
Instance
Amazon SES
“Os serviços da AWS permitiram ao
time desenvolver soluções de
forma ágil, segura e escalável”
 99Taxis é o maior aplicativo para
pedir táxis pelo celular no Brasil,
com mais de 2 milhões de
corridas/mês
 Presente em mais de 300 cidades,
conta com mais de 100k taxistas
cadastrados (mais da metade da
frota nacional)
“por ser o mais
difundido serviço de
cloud, facilita a
contratação e aproveita
a expertise de uma
comunidade imensa”.
- Ricardo Lazaro,
Lead Developer
O Desafio
• Suportar rápido crescimento
de usuários e corridas,
mantendo baixo custo de
infraestrutura
• Manter/Monitorar o
ecossistema de aplicações
com procedimentos, métricas
e alarmes confiáveis
• Agilidade no desenvolvimento
de novas funcionalidades
Solução
Auto Scaling group Auto Scaling group Auto Scaling group
Elastic
Load
Balancing
Elastic
Load
Balancing
Elastic
Load
Balancing
SNS
SQS SQS SQS
Etapas Seguintes
5M > User < 10M
Contenção de escrita em
bancos de dados relacionais
• Federation ~ separar os bancos por função
• Sharding ~ separar os bancos por nós
• Bancos de Dados Não Relacionais
(Grafos, Documentos, Chave-Valor, …)
Federação de Dados
• Separação por função
• Dificulta consultas entre
funções
• Posterga a necessidade de
sharding ou NoSQL
• Não resolve problemas de
volume
ForumsDB
UsersDB
ProductsDB
Shards Horizontais
• Mais complexidade para a
aplicação
• ORM pode ajudar
• Sem limites para
escalabilidade
• Operação complexa
• Separação por função ou
chave
• SGBDR ou NoSQL
User ShardID
002345 A
002346 B
002347 C
002348 B
002349 A
Shard C
Shard B
Shard A
Adotando NoSQL
• Escalabilidade e/ou Abstração
• Avaliação Quantitativa
• Serviços Gerenciados (DynamoDB)
• Casos de uso:
– Rankings, Leaderboards e Dashboards
– Ingestão de dados em tempo real
– Dados temporários
– Tabelas problemáticas
– Tabelas de metadados
Revisão
Revisão Rápida
• Redundância Multi-AZ, em todas camadas
• Serviços Gerenciados - ELB, Amazon S3, Amazon
SNS, Amazon SQS, Amazon SWF, Amazon SES e outros.
• Prefira começar com SQL
• Otimize caches dentro e fora de sua
infraestrutura
• Automatize Tudo
Revisão Rápida
• Mantenha boas métricas, monitoramento e logs
• Decomponha camadas em serviços menores
• Use AutoScaling se e quando for adequado
• Reinvente seu negócio, não a roda
• Adote NoSQL se e quando for necessário
10 milhões ou mais!
Por onde começar?
Comunidade no Brasil
http://www.awshub.com.br
Laboratórios Gratuitos
http://aws.amazon.com/training/intro_series/
Nível de Uso Gratuito
http://aws.amazon.com/free/
Treinamentos Presenciais
http://aws.amazon.com/training/
Canal do YouTube
https://www.youtube.com/user/AmazonWebServices
E depois?
Documentações dos Serviços
http://aws.amazon.com/documentation
Guias de Soluções
http://aws.amazon.com/whitepapers
Centrais de Arquitetura
http://aws.amazon.com/architecture
Programa de Startups
http://aws.amazon.com/start-ups
MK33BR2015
Obrigado! Perguntas?
Julio M. Faerman
@jmfaerman

Mais conteúdo relacionado

Mais procurados

Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
Amazon Web Services LATAM
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWS
Amazon Web Services LATAM
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Amazon Web Services LATAM
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
Amazon Web Services LATAM
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
Amazon Web Services LATAM
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
Amazon Web Services LATAM
 
Construindo seu Data Lake na AWS
Construindo seu Data Lake na AWSConstruindo seu Data Lake na AWS
Construindo seu Data Lake na AWS
Amazon Web Services LATAM
 
Seu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big DataSeu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big Data
Amazon Web Services LATAM
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
Amazon Web Services LATAM
 
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbridaBuilding blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Amazon Web Services LATAM
 
Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB
Amazon Web Services LATAM
 
Fazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira práticaFazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira prática
Amazon Web Services LATAM
 
Blue Green Deployments com Elastic Beanstalk - Demo Session
Blue Green Deployments com Elastic Beanstalk - Demo SessionBlue Green Deployments com Elastic Beanstalk - Demo Session
Blue Green Deployments com Elastic Beanstalk - Demo Session
Amazon Web Services LATAM
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Amazon Web Services LATAM
 
Abaas - Advanced Beer-as-a-Service
Abaas - Advanced Beer-as-a-ServiceAbaas - Advanced Beer-as-a-Service
Abaas - Advanced Beer-as-a-Service
Amazon Web Services LATAM
 
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Amazon Web Services LATAM
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
Amazon Web Services LATAM
 
Webinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWSWebinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWS
Amazon Web Services LATAM
 
Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWS
Amazon Web Services LATAM
 
Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm
Amazon Web Services LATAM
 

Mais procurados (20)

Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWS
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Construindo seu Data Lake na AWS
Construindo seu Data Lake na AWSConstruindo seu Data Lake na AWS
Construindo seu Data Lake na AWS
 
Seu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big DataSeu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big Data
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
 
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbridaBuilding blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
 
Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB Utilizando NoSQL para Big Data com DynamoDB
Utilizando NoSQL para Big Data com DynamoDB
 
Fazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira práticaFazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira prática
 
Blue Green Deployments com Elastic Beanstalk - Demo Session
Blue Green Deployments com Elastic Beanstalk - Demo SessionBlue Green Deployments com Elastic Beanstalk - Demo Session
Blue Green Deployments com Elastic Beanstalk - Demo Session
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
 
Abaas - Advanced Beer-as-a-Service
Abaas - Advanced Beer-as-a-ServiceAbaas - Advanced Beer-as-a-Service
Abaas - Advanced Beer-as-a-Service
 
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
Raising the bar #4 - Economize utilizando instâncias Spot no Amazon EC2
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Webinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWSWebinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWS
 
Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWS
 
Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm Webinar: Apresentando AWS Device Farm
Webinar: Apresentando AWS Device Farm
 

Destaque

Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
Amazon Web Services LATAM
 
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalar
Dynamo db   tópico avançado - modelagem de dados e boas práticas para escalarDynamo db   tópico avançado - modelagem de dados e boas práticas para escalar
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalar
Amazon Web Services LATAM
 
DynamoDB: um banco NoSQL
DynamoDB: um banco NoSQLDynamoDB: um banco NoSQL
DynamoDB: um banco NoSQL
Caliel Costa
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
Amazon Web Services LATAM
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
Amazon Web Services LATAM
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
Amazon Web Services LATAM
 
Ask the Trainer - Treinamentos e Certificações da AWS
Ask the Trainer - Treinamentos e Certificações da AWSAsk the Trainer - Treinamentos e Certificações da AWS
Ask the Trainer - Treinamentos e Certificações da AWS
Amazon Web Services LATAM
 

Destaque (7)

Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalar
Dynamo db   tópico avançado - modelagem de dados e boas práticas para escalarDynamo db   tópico avançado - modelagem de dados e boas práticas para escalar
Dynamo db tópico avançado - modelagem de dados e boas práticas para escalar
 
DynamoDB: um banco NoSQL
DynamoDB: um banco NoSQLDynamoDB: um banco NoSQL
DynamoDB: um banco NoSQL
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Ask the Trainer - Treinamentos e Certificações da AWS
Ask the Trainer - Treinamentos e Certificações da AWSAsk the Trainer - Treinamentos e Certificações da AWS
Ask the Trainer - Treinamentos e Certificações da AWS
 

Semelhante a Escalando primeiros 10 milhões de usuários

Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na NuvemConstruindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
Amazon Web Services LATAM
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
Amazon Web Services LATAM
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
Amazon Web Services LATAM
 
Padrões de Arquitetura na Nuvem da AWS
Padrões de Arquitetura na Nuvem da AWSPadrões de Arquitetura na Nuvem da AWS
Padrões de Arquitetura na Nuvem da AWS
Amazon Web Services LATAM
 
Cloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaCloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à prática
Ricardo Martins ☁
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Amazon Web Services LATAM
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
Eduardo de Lucena Falcão
 
Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.
Thiago Viola
 
Bancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWSBancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWS
Amazon Web Services LATAM
 
Introduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebIntroduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação Web
Alessandro Binhara
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
Amazon Web Services LATAM
 
Visão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWSVisão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWS
Amazon Web Services LATAM
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Filipe Barretto
 
Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013
Amazon Web Services LATAM
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infosimples
 
Expandindo seu data center com uma infraestrutura hibrida
Expandindo seu data center com uma infraestrutura hibridaExpandindo seu data center com uma infraestrutura hibrida
Expandindo seu data center com uma infraestrutura hibrida
Amazon Web Services LATAM
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na Nuvem
Jose Papo, MSc
 
Data center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfData center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdf
ssuser1198af
 
Rodando SAP na AWS
Rodando SAP na AWSRodando SAP na AWS
Rodando SAP na AWS
Amazon Web Services LATAM
 
S3 - Amazon
S3 - AmazonS3 - Amazon
S3 - Amazon
Valdecir Duarte
 

Semelhante a Escalando primeiros 10 milhões de usuários (20)

Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na NuvemConstruindo sua Infraestrutura de Videos e Conteudos na Nuvem
Construindo sua Infraestrutura de Videos e Conteudos na Nuvem
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
Padrões de Arquitetura na Nuvem da AWS
Padrões de Arquitetura na Nuvem da AWSPadrões de Arquitetura na Nuvem da AWS
Padrões de Arquitetura na Nuvem da AWS
 
Cloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à práticaCloud & AWS: Da teoria à prática
Cloud & AWS: Da teoria à prática
 
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
Seu banco de dados na nuvem: Opções de bancos de dados na AWS e padrões de...
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.Cloud Publica Com alta performance, flexível e gerenciável.
Cloud Publica Com alta performance, flexível e gerenciável.
 
Bancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWSBancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWS
 
Introduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebIntroduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação Web
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
 
Visão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWSVisão Geral da Nuvem da AWS
Visão Geral da Nuvem da AWS
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
 
Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
Expandindo seu data center com uma infraestrutura hibrida
Expandindo seu data center com uma infraestrutura hibridaExpandindo seu data center com uma infraestrutura hibrida
Expandindo seu data center com uma infraestrutura hibrida
 
Desenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na NuvemDesenvolvendo aplicações móveis na Nuvem
Desenvolvendo aplicações móveis na Nuvem
 
Data center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdfData center MCSBRC2010-slides.pdf
Data center MCSBRC2010-slides.pdf
 
Rodando SAP na AWS
Rodando SAP na AWSRodando SAP na AWS
Rodando SAP na AWS
 
S3 - Amazon
S3 - AmazonS3 - Amazon
S3 - Amazon
 

Mais de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
Amazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
Amazon Web Services LATAM
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
Amazon Web Services LATAM
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
Amazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
Amazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
Amazon Web Services LATAM
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
Amazon Web Services LATAM
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
Amazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
Amazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Amazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
Amazon Web Services LATAM
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
Amazon Web Services LATAM
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
Amazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
Amazon Web Services LATAM
 

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Escalando primeiros 10 milhões de usuários

  • 2. Escalando para os primeiros 10 milhões de usuários Julio M. Faerman @jmfaerman
  • 3. Como escalar do usuário 1 ao 10M? OBS: Sem desperdícios!
  • 6. 1997- Reed Hastings and fellow software executive Marc Randolph co-found Netflix to offer online movie rentals. 1999 - Netflix launches the subscription service, offering unlimited rentals for one low monthly subscription. 2000 - Netflix launches the personalized movie recommendation system that uses Netflix members’ ratings to accurately predict choices for all Netflix members. 2002 - Netflix makes its initial public offering (IPO on Nasdaq under the ticker “NFLX” with 600,000 members in the US.) 2005 - The number of Netflix members rises to 4.2 million. 2007 - Netflix introduces streaming, which allows members to instantly watch television shows and movies on their personal computers. 2008 - Netflix partners with consumer electronics companies to stream on the Xbox 360, Blu-ray disc players and TV set-top boxes. 2009 - Netflix partners with consumer electronics companies to stream on the PS3, Internet connected TVs and other Internet connected devices. 2010 - Netflix is available on the Apple iPad, iPhone and iPod Touch, the Nintendo Wii, and other Internet connected devices. Netflix launches its service in Canada. 2011 - Netflix launches throughout Latin America and the Caribbean. 2012 - Netflix became available in Europe including the United Kingdom, Ireland and in the Nordic Countries. Netflix wins its first Primetime Emmy Engineering Award. 2013 - Netflix expanded to the Netherlands. Netflix garners 31 primetime Emmy nominations including outstanding drama series, comedy series and documentary or nonfiction special for “House of Cards”, “Orange is the new black”, and “The Square” respectively. House of Cards won three Primetime Emmy Awards. Netflix was the first internet TV network nominated for the primetime Emmy. 2014 - In 2014 Netflix launched in 6 new countries in Europe (Austria, Belgium, France, Germany, Luxembourg and Switzerland). Netflix wins 7 creative Emmy Awards for House of Cards and Orange is the New Black. Netflix now has over 50 million members globally https://pr.netflix.com/WebClient/loginPageSalesNetWorksAction.do?contentGroupId=10477
  • 7. A escalabilidade é gerenciada pela AWS ou pelo cliente?
  • 8. Regiões Oregon Ireland Tokyo N. California Sao Paulo Virginia AWS GovCloud Sydney Singapore Beijing Frankfurt
  • 9. Oregon Ireland Tokyo N. California Sao Paulo Virginia AWS GovCloud Sydney Singapor e Beijing Zonas de Disponibilidade Frankfurt
  • 10. A escalabilidade é gerenciada pela AWS ou pelo cliente? Global AWS Amazon CloudFront, Amazon Route53, Amazon IAM Região AWS Amazon S3, Amazon DynamoDB, Amazon ELB* Zona de Disponiblidade Compartilhada Amazon EC2, Amazon ElastiCache**, Amazon RDS***
  • 11. Qual a diferença entre uma Zona de Disponibilidade e um Data Center?
  • 12. Qual a diferença entre uma Zona de Disponibilidade e um Data Center? “Inovação em Escala na AWS”
  • 13. Qual é o mínimo?
  • 14. Vai ter Auto Scaling?
  • 15. Fica, vai ter auto-scaling. Mas na primeira arquitetura… • Primeira Instância [t2.micro] – Aplicação Web – Banco de Dados – Ferramentas Administrativas – … • Um Elastic IP • DNS no Amazon Route 53 Amazon Route 53 Usuário == 1 Instance Elastic IP
  • 16. Escalabilidade Vertical • Abordagem mais simples • Familias de Instâncias – High I/O – High Memory – High CPU – High storage – Cluster Compute – Dense Storage • Maior instância atualmente: d2.8xlarge 36 RAM - 244 CPU - 24 x 2TB HDD
  • 17. Características da Primeira Arquitetura • Até centenas de usuários • Ponto único de falhas • Sem redundância ou alta disponibilidade • Concorrência, Contenção e Carga
  • 18.
  • 19. Segunda arquitetura, User > 10 Diferenças de Escalabilidade: • Banco de Dados Relacional – Escalabilidade Vertical • Aplicação – Escalabilidade Horizontal Amazon Route 53 Usuário Web Elastic IP DB
  • 20. É melhor começar com SQL ou NoSQL?
  • 22. Por que começar com SQL? • Tecnologia estabelecida e madura • Muito código, comunidade, livros, ferramentas,... • Padrões difundidos de escalabilidade Você provavelmente* não vai “quebrar o banco” nos primeiros 10M usuários.
  • 24. Instâncias EC2 oferecem até 244GiB RAM http://yourdatafitsinram.com
  • 25. O que precisaria começar com NoSQL? • Dados não relacionais (grafos, documentos,…) • Baixa* latência (<10ms) • Requer (!= deseja) banco de dados sem schema • Grande* (> 10s TBs) volume de dados • Ingestão de eventos complexos em tempo real
  • 26. Terceira Arquitetura, User >100 Simplifique a administração do banco de dados com o Amazon Relational Database Service • MySQL • PostgresSQL • Oracle • MS SQL • Amazon Aurora Amazon Route 53 Usuário Web Elastic IP Amazon RDS
  • 27. Quarta Arquitetura, User > 1000 Alta Disponibilidade • Elastic Load Balancer • Instância Web Redundante – Em outra Availability Zone • RDS Multi-AZ sa-east-1a sa-east-1b Elastic Load Balancing Usuário s Web Web RDS DB Mestre RDS DB Secundário
  • 28. Esta arquitetura pode suportar até 10K-100K usuários sa-east-1a sa-east-1b Elastic Load Balancing Usuário s Web Web RDS DB Mestre RDS DB Secundário
  • 29. 5a Arquitetura: Lendo de Réplicas sa-east-1a sa-east-1b Elastic Load Balancing Usuário s Web Web Web Web RDS DB Mestre RDS DB Secundário RDS DB Replica RDS DB Replica Web Web Web Web RDS DB Replica RDS DB Replica INSERT SELECT SYNC ASYNC
  • 30. Disponibilidade e Tolerância a Falhas Eficiência e Desempenho
  • 31. Aliviar a carga do servidor de aplicações e de banco de dados: a. Armazenar o conteúdo estático no Amazon S3 b. Mover as sessões HTTP no Amazon ElastiCache ou Amazon DynamoDB c. Distribuir o conteúdo estático e dinâmico pelo Amazon CloudFront Sexta Arquitetura:
  • 32. 6a. Conteúdo Estático no S3 Instâncias RDS DB Mestre Elastic Load Balancing superapp.js player34/avatar.jpg api/leaderboard
  • 33. Conteúdo Estático no S3 Instâncias RDS DB MestreElastic Load Balancing superapp.js player34/avatar.jpg api/leaderboard App Cliente html/js/css Dados de Usuários
  • 35. Amazon ElastiCache • Memcached e Redis como serviço • Auto-recuperação (Self-healing) • Baixíssima latência • Caches locais com Memcached • Caches replicados e persistentes com Redis • O AWS Auto Discovery client simplifica o redimensionamento do cluster sem impacto para a aplicação
  • 36. 6b. Cache em Memória Instâncias RDS DB Mestre Elastic Load Balancing App Cliente html/js/css Dados de Usuários ElastiCache * HTTP Sessions * SELECT name FROM Planet
  • 37. Amazon DynamoDB • Serviço de Banco de Dados NoSQL • Gerenciado pela AWS • Vazão provisionada • Latência baixa (~< 9ms) e previsível • Tolerante à falhas • Documentos em JSON • Items de até 400KB
  • 38. Cache em Memória Instâncias RDS DB Mestre Elastic Load Balancing App Cliente html/js/css Dados de Usuários ElastiCache DynamoDB * HTTP Sessions • Votes, Activities, … • CQRS
  • 40. Melhor latência E melhor custo! Usuário
  • 41. Distribuição de Conteúdo • Cache “na borda” para entrega rápida • Reduz carga na origem • Streaming de video • Custo mais baixo para tráfego interno • Otimizações para Amazon EC2, Amazon S3, ELB e Amazon Route 53
  • 43. E o Auto Scaling?!?
  • 44. Domingo Segunda Terça Quarta Quinta Sexta Sábado Semana Típica no Amazon.com
  • 45. Domingo Segunda Terça Quarta Quinta Sexta Sábado Semana Típica no Amazon.com Capacidade Provisionada?
  • 50. Sétima Arquitetura: Região Zona de Disponibilidade Zona de Disponibilidade DNS HTTP STATIC DYNAMIC SQLNoSQL CACHE ALARM
  • 51. Automatize TUDO! • Implantação de novos ambientes • Lançamentos • Testes A/B • Implantação Blue/Green • Rollback de versões • Gerenciamento de contas AWS • Automação de configuração • Análise de logs
  • 52.
  • 53. Serviços de Gerenciamento de Aplicações Alto Nível de Abstração Faça Você Mesmo AWS Elastic Beanstalk AWS OpsWorks AWS CloudFormation Amazon EC2
  • 54. User >500k+ • Assegure monitoramento, metricas e logging • Avalie qualitativamente a experiência do usuário • Entenda as características de desempenho de cada componente
  • 59. Redução de acoplamento • Componentes Independentes • Projete como “caixas pretas” • Interações desacopladas • Favoreça serviços gerenciados Serviço A Serviço B Serviço A Serviço B RPC Filas
  • 60. Serviços para Aplicações • Email • Queuing • Transcoding • Search • Databases • Monitoring • Metrics • Logging Amazon CloudSearch Amazon SQSAmazon SNS Amazon Elastic Transcoder Amazon SWF Amazon SES Serviços gerenciados para funcionalidades comums:
  • 61. User >1mil+ • Multi-AZ++ • Elastic Load Balancer entre camadas • Auto Scaling com diversos grupos e alarmes • Service Oriented Architecture e Microservices • Distribuição eficiente de conteúdo • Cache de consultas frequentes
  • 62. Oitava??? RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load 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 Worker Instance Worker Instance Amazon CloudWatch Internal App Instance Internal App Instance Amazon SES
  • 63. “Os serviços da AWS permitiram ao time desenvolver soluções de forma ágil, segura e escalável”  99Taxis é o maior aplicativo para pedir táxis pelo celular no Brasil, com mais de 2 milhões de corridas/mês  Presente em mais de 300 cidades, conta com mais de 100k taxistas cadastrados (mais da metade da frota nacional) “por ser o mais difundido serviço de cloud, facilita a contratação e aproveita a expertise de uma comunidade imensa”. - Ricardo Lazaro, Lead Developer
  • 64. O Desafio • Suportar rápido crescimento de usuários e corridas, mantendo baixo custo de infraestrutura • Manter/Monitorar o ecossistema de aplicações com procedimentos, métricas e alarmes confiáveis • Agilidade no desenvolvimento de novas funcionalidades
  • 65. Solução Auto Scaling group Auto Scaling group Auto Scaling group Elastic Load Balancing Elastic Load Balancing Elastic Load Balancing SNS SQS SQS SQS
  • 67. 5M > User < 10M Contenção de escrita em bancos de dados relacionais • Federation ~ separar os bancos por função • Sharding ~ separar os bancos por nós • Bancos de Dados Não Relacionais (Grafos, Documentos, Chave-Valor, …)
  • 68. Federação de Dados • Separação por função • Dificulta consultas entre funções • Posterga a necessidade de sharding ou NoSQL • Não resolve problemas de volume ForumsDB UsersDB ProductsDB
  • 69. Shards Horizontais • Mais complexidade para a aplicação • ORM pode ajudar • Sem limites para escalabilidade • Operação complexa • Separação por função ou chave • SGBDR ou NoSQL User ShardID 002345 A 002346 B 002347 C 002348 B 002349 A Shard C Shard B Shard A
  • 70. Adotando NoSQL • Escalabilidade e/ou Abstração • Avaliação Quantitativa • Serviços Gerenciados (DynamoDB) • Casos de uso: – Rankings, Leaderboards e Dashboards – Ingestão de dados em tempo real – Dados temporários – Tabelas problemáticas – Tabelas de metadados
  • 72. Revisão Rápida • Redundância Multi-AZ, em todas camadas • Serviços Gerenciados - ELB, Amazon S3, Amazon SNS, Amazon SQS, Amazon SWF, Amazon SES e outros. • Prefira começar com SQL • Otimize caches dentro e fora de sua infraestrutura • Automatize Tudo
  • 73. Revisão Rápida • Mantenha boas métricas, monitoramento e logs • Decomponha camadas em serviços menores • Use AutoScaling se e quando for adequado • Reinvente seu negócio, não a roda • Adote NoSQL se e quando for necessário
  • 74. 10 milhões ou mais!
  • 75. Por onde começar? Comunidade no Brasil http://www.awshub.com.br Laboratórios Gratuitos http://aws.amazon.com/training/intro_series/ Nível de Uso Gratuito http://aws.amazon.com/free/ Treinamentos Presenciais http://aws.amazon.com/training/ Canal do YouTube https://www.youtube.com/user/AmazonWebServices
  • 76. E depois? Documentações dos Serviços http://aws.amazon.com/documentation Guias de Soluções http://aws.amazon.com/whitepapers Centrais de Arquitetura http://aws.amazon.com/architecture Programa de Startups http://aws.amazon.com/start-ups
  • 78. Obrigado! Perguntas? Julio M. Faerman @jmfaerman