SlideShare a Scribd company logo
1 of 70
Download to read offline
José Papo
AWSTech Evangelist
@josepapo
Então, como ter escalabilidade na Nuvem?
Auto-Scaling???
Começando pelo básico primeiro
US-WEST (Oregon)
EU-WEST (Ireland)
ASIA PAC (Tokyo)
US-WEST (N. California)
SOUTH AMERICA (Sao Paulo)
US-EAST (Virginia)
AWS GovCloud (US)
ASIA PAC
(Sydney)
Regiões
ASIA PAC
(Singapore)
US-WEST (Oregon)
EU-WEST (Ireland)
ASIA PAC (Tokyo)
US-WEST (N. California)
SOUTH AMERICA (Sao Paulo)
US-EAST (Virginia)
AWS GovCloud (US)
ASIA PAC
(Sydney)
Zonas de Disponibilidade
ASIA PAC
(Singapore)
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Compute Storage
AWS Global Infrastructure
Database
App Services
Deployment & Administration
Networking
Amazon
CloudWatch AWS IAM AWS
CloudFormation
Amazon Elastic
Beanstalk
AWS
Data
Pipeline
AWS
OpsWorks
Amazon
CloudSearch
Amazon SQSAmazon
SNS
Amazon
Elastic
Transcoder
Amazon SWF
Amazon SES
Amazon
DynamoDB
Amazon RDS
Amazon
ElastiCache
Amazon
RedShift
AWS Storage
Gateway
Amazon S3
Amazon
Glacier
Amazon
CloudFrontAmazon
EC2
Amazon
EMR
Amazon
VPC
Amazon
Route 53
AWS
Direct
Connect
Vamos então começar pelo dia
um, um usuário ( você! ):
Dia Um, Um Usuário
• Uma instancia EC2
– Stack completo
• AplicaçãoWeb
• Banco de Dados
• Gestão
• Etc.
• Um Elastic IP
• Route53 para DNS
EC2
Instance
Elastic IP
Amazon
Route 53
User
“Precisamos de uma máquina maior”
• Modo mais simples
• Pode alavancar uso de PIOPs
• Instancias High I/O
• Instancias High Memory
• Instancias High CPU
• Instancias High Storage
• Fácil de mudar tamanhos de
instancias
• Vai eventualmente ter limitações
hi1.4xlarge
m2.4xlarge
m1.small
“Precisamos de uma máquina maior”
• Modo mais simples
• Pode alavancar uso de PIOPs
• Instancias High I/O
• Instancias High Memory
• Instancias High CPU
• Instancias High Storage
• Fácil de mudar tamanhos de
instancias
• Vai eventualmente ter limitações
hi1.4xlarge
m2.4xlarge
m1.small
Dia Um, Um Usuário:
• Pode potencialmente atender
algumas centenas até alguns
milhares de usuários
dependendo da instancia,
complexidade da app e
tráfego
• Não tem failover
• Não tem redundância
• Todos os ovos no mesmo cesto
EC2
Instance
Elastic IP
Amazon
Route 53
User
Dia Um, Um Usuário:
• Pode potencialmente atender
algumas centenas até alguns
milhares de usuários
dependendo da instancia,
complexidade da app e
tráfego
• Não tem failover
• Não tem redundância
• Todos os ovos no mesmo cesto
EC2
Instance
Elastic IP
Amazon
Route 53
User
Dia Dois, Usuário >1:
Vamos primeiro
separar os recursos em
mais de uma instancia.
• Instancia Web
• Instancia de Banco Web
Instance
Database
Instance
Elastic IP
Amazon
Route 53
User
Gestão Própria Serviço Gerenciado
Banco de Dados
no Amazon EC2
Sua escolha de BD
no Amazon EC2
Bring Your Own
License (BYOL)
Amazon
DynamoDB
Serviço gerenciado
de BD NoSQL que
usa storage SSD
Amazon RDS
MS SQL Server,
Oracle ou MySQL
as a service
BYOL ou Licença
Incluída
Amazon
Redshift
Data Warehouse as
a service
distribuído e com
escala de petabytes
Opções de Bases de Dados
Que tecnologia usar?
SQL? NoSQL?
Depende do seu caso
de uso, mas…
Comece com aquilo que for
mais simples para você
Vamos começar com o
Amazon RDS nesse exemplo
Usuários >100:
Web
Instance
Elastic IP
RDS DB
Instance
Amazon
Route 53
User
Vamos primeiro separar
os recursos em mais de
uma instancia.
• Instancia Web
• Instancia de Banco
– Use o RDS para ter uma
vida mais simples!
Usuários > 1000:
Agora vamos endereçar
a falta de failover e
redundancia:
• Elastic Load Balancer
• Mais uma InstanciaWeb
– Em outra Zona de Disponibilidade
• Habilitar RDS Multi-AZ
Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone Availability Zone
Web
Instance
RDS DB Instance
Standby (Multi-AZ)
Elastic Load
Balancer
Amazon
Route 53
User
Escalando
horizontalmente e
verticalmente podemos
chegar bem longe
( 10s-100s de milhares )
Usuários >10ks-100ks:
RDS DB Instance
Active (Multi-AZ)
Availability Zone Availability Zone
RDS DB Instance
Standby (Multi-AZ)
Elastic Load
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
Isso realmente nos levará
longe, mas queremos
também performance e
eficiência.Vamos limpar um
pouco mais
Mova a carga:
Diminua a carga nas
instanciasWeb e BD:
• Mova conteúdo estático da
instancia Web para o S3 e
CloudFront
• Mova estado/sessões e faça
cache do BD com ElastiCache
e/ou DynamoDB
Web
Instance
RDS DB Instance
Active (Multi-AZ)
Availability Zone
Elastic Load
Balancer
Amazon S3
Amazon
Cloudfront
Amazon
Route 53
User
ElastiCache
DynamoDB
Agora que nossas camadas
Web e de BD estão mais
leves vamos voltar ao início
da nossa discussão…
Auto-Scaling!!!
Escalabilidade automática de
instancias de acordo com políticas
definidas
Trigger auto-scaling
policy
as-create-auto-scaling-group MyGroup
--launch-configuration MyConfig
--availability-zones us-east-1a
--min-size 4
--max-size 200
Auto-Scaling
Amazon
CloudWatch
Tráfego em Novembro na Amazon.com
November
Provisioned capacity
November
Tráfego em Novembro na Amazon.com
76%
24%
Provisioned capacity
November
Tráfego em Novembro na Amazon.com
November
Tráfego em Novembro na Amazon.com
Auto Scaling
É possível fazer ainda mais
melhorias deixando suas
camadas ainda mais leves e
orientadas a serviços
SOA = Service Oriented Architecture
Baixo acoplamente te liberta!
• Reduza o acoplamento para escalar ainda mais
– Componentes independentes
– Projete-os como uma caixa preta
– Desacople as integrações
– Prefira serviços já construídos com redundancia e
escalabilidade ao invés de contruir novamente
Controller A Controller B
Controller A Controller B
Q Q
Alto acomplamento
Use Amazon SQS como Buffers
Baixo acoplamento
Baixo acoplamento + SOA = Win!
Exemplos:
• Email
• Filas
• Transcoding de Vídeos
• Busca
• Bancos de Dados
• Monitoramento
• Métricas
• Logs
Amazon
CloudSearch
Amazon SQSAmazon SNS
Amazon Elastic
Transcoder
Amazon SWF
Amazon SES
Não reinvente a roda!
Baixo acoplamento + SOA
Exemplo
Imagine um site/app para
upload e compartilhamento
de fotos entre usuários
Exemplo usando filas de
mensagem SQS
S3 Bucket
For Ingest
User
SNS Topic
RRS S3
Bucket to
Serve
content to
CloudFront
S3 Bucket
For
originals
CloudFront
Download
Distribution
SQS Queue
Size for Thumbnail
SQS Queue
Size Image for
Mobile
SQS Queue
Size Image for Web
Auto scaling
Group
Instances
Auto scaling
Group
Instances
Auto scaling
Group
Instances
Exemplo usando serviço
Simple Workflow (SWF)
S3 Bucket
For Ingest
User
RRS S3
Bucket to
Serve
content to
CloudFront
S3 Bucket
For
originals
CloudFront
Download
Distribution
Auto scaling
Group
Instances
Auto scaling
Group
Instances
Auto scaling
Group
Instances
SWF
Instance running
decider
Usuários >1milhão+:
Chegar em um milhão e além requer uma arquitetura que
utilize os recursos vistos anteriormente:
• Multi-AZ
• Elastic Load Balancer entre as camadas
• Auto-Scaling
• Service oriented architecture
• Servir conteúdo estático com as soluções certas (
S3/CloudFront )
• Cache e réplicas de bases de dados
• Mover estado para fora das camadas com auto-scaling
Usuários >1milhão+:
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
Próximos passos
Usuários > 10milhões+:
Você provavelmente encontrará dificuldades com sua
base de dados nas escritas no BD Master.
Como resolver?
• Sharding ( separar conjuntos de dados em mais de
uma base de dados )
• Mover funcionalidades para outros tipos de BDs (
NoSQL )
Sharding
• Mais complexo para a
camada de aplicação
• Complexidade
operacional
• Shard por função ou
chave
User ShardID
002345 A
002346 B
002347 C
002348 B
002349 A
A
B
C
Mover funcionalidades para NoSQL
• Soluções NoSQL usualmente possuem
escalabilidade horizontal transparente
• Use serviços gerenciados como o
DynamoDB
DynamoDB
Você também poderá ter problemas relacionados a
velocidade ou performance.
• Tenha soluções de monitoração/métricas/logs
– Se possível, use soluções prontas! ( SaaS )
• Preste atenção no que seus usuários estão dizendo
• Verifique a performance de cada serviço/componente
Usuários > 10milhões+:
HOST
LEVEL
METRICS
AGGREGATE
LEVEL
METRICS
LOG
ANALYSIS
EXTERNAL
SITE
PERFORMANCE
AWS Marketplace & Partners AWS podem ajudar
Saiba mais em: aws.amazon.com/marketplace
Usuários > 10 milhões+:
Gerenciar sua infraestrutura será fundamental com
número de instancias e recursos utilizados em
crescimento.Use ferramentas para automatizar tarefas.
• Ferramentas da AWS
• Ferramentas de gestão de configuração
• Análise automatizada de logs e ações de usuários
Soluções de Gestão de Aplicações da AWS
Elastic Beanstalk OpsWorks CloudFormation EC2
Conveniência Controle
Serviços de Alto Nível Faça você mesmo
Host Based Configuration Management
Dois grandes players:
– Opscode Chef
– PuppetLabs Puppet
• São parecidos em recursos
• Use HBCM junto com uma das soluções da AWS
(OpsWorks integra com Chef e CloudFormation
com Chef ou Puppet)
• Mais difícil gerenciar muitos recursos
computacionais sem HBCM
Breve revisão sobre
escalabilidade
Pense em redundância em
todas as camadas
Multi-AZ na sua infraestrutura
Faça uso de serviços prontos
( ELB, S3, SNS, SQS, SWF,
SES, etc )
Use SQL ou NoSQL de
acordo com os requisitos de
seu negócio
Crie uma arquitetura
orientada a serviços ( SOA )
Use Auto-scaling quando
precisar crescer ou diminuir
automaticamente
Use ferramentas de automação
sempre que possível
Tenha soluções de
métricas/monitoração/logs
Não reinvente a roda!
Pensando nesses elementos
você certamente poderá
atender dezenas e até centenas
de milhões de usuários!
aws.amazon.com/pt/architecture
Saiba mais em…
RECURSOS TÉCNICOS
awshub.com.br
OBRIGADO!
aws.typepad.com/brasil
slideshare.net/AmazonWebServicesLATAM
José Papo
AWS Tech Evangelist
@josepapo

More Related Content

What's hot

(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep DiveAmazon Web Services
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Web Services Korea
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesAmazon Web Services
 
Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudTom Laszewski
 
AWS Storage - S3 Fundamentals
AWS Storage - S3 FundamentalsAWS Storage - S3 Fundamentals
AWS Storage - S3 FundamentalsPiyush Agrawal
 
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...Amazon Web Services
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud PlatformVMware Tanzu
 
Aws 101 A walk-through the aws cloud (2013)
Aws 101  A walk-through the aws cloud (2013)Aws 101  A walk-through the aws cloud (2013)
Aws 101 A walk-through the aws cloud (2013)Martin Yan
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure MigrationsDatavail
 
Oracle Cloud Infrastructure (OCI)
Oracle Cloud Infrastructure (OCI)Oracle Cloud Infrastructure (OCI)
Oracle Cloud Infrastructure (OCI)emmajones88
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudNew Relic
 
AWS S3 and GLACIER
AWS S3 and GLACIERAWS S3 and GLACIER
AWS S3 and GLACIERMahesh Raj
 
How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...
How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...
How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...Amazon Web Services
 
Bringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered BackendsBringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered BackendsApigee | Google Cloud
 

What's hot (20)

(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive
 
Building a Data Lake on AWS
Building a Data Lake on AWSBuilding a Data Lake on AWS
Building a Data Lake on AWS
 
Elastic Block Storage (EBS)
Elastic Block Storage (EBS)Elastic Block Storage (EBS)
Elastic Block Storage (EBS)
 
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
Amazon Redshift 아키텍처 및 모범사례::김민성::AWS Summit Seoul 2018
 
Deep Dive: Amazon RDS
Deep Dive: Amazon RDSDeep Dive: Amazon RDS
Deep Dive: Amazon RDS
 
Introduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web ServicesIntroduction to Cloud Computing with Amazon Web Services
Introduction to Cloud Computing with Amazon Web Services
 
What is AWS?
What is AWS?What is AWS?
What is AWS?
 
Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS Cloud
 
AWS 101
AWS 101AWS 101
AWS 101
 
AWS Storage - S3 Fundamentals
AWS Storage - S3 FundamentalsAWS Storage - S3 Fundamentals
AWS Storage - S3 Fundamentals
 
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
 
Aws 101 A walk-through the aws cloud (2013)
Aws 101  A walk-through the aws cloud (2013)Aws 101  A walk-through the aws cloud (2013)
Aws 101 A walk-through the aws cloud (2013)
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure Migrations
 
Oracle Cloud Infrastructure (OCI)
Oracle Cloud Infrastructure (OCI)Oracle Cloud Infrastructure (OCI)
Oracle Cloud Infrastructure (OCI)
 
AWSome Day 2019 - Detroit
AWSome Day 2019 - DetroitAWSome Day 2019 - Detroit
AWSome Day 2019 - Detroit
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
 
AWS S3 and GLACIER
AWS S3 and GLACIERAWS S3 and GLACIER
AWS S3 and GLACIER
 
How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...
How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...
How a Global Healthcare Company Built a Migration Factory to Quickly Move Tho...
 
Bringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered BackendsBringing API Management to AWS Powered Backends
Bringing API Management to AWS Powered Backends
 

Similar to Escalabilidade na Nuvem AWS

Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalEscalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalAmazon Web Services LATAM
 
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
 
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áriosAmazon Web Services LATAM
 
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 usuariosAmazon 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 WebAlessandro Binhara
 
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 NuvemJose Papo, MSc
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarAmazon 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 AWSAmazon Web Services LATAM
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudAmazon Web Services LATAM
 
Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1Rafael Lima
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesAmazon Web Services LATAM
 

Similar to Escalabilidade na Nuvem AWS (20)

Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalEscalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
 
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...
 
Mobile Back end as a Service na AWS
Mobile Back end as a Service na AWSMobile Back end as a Service na AWS
Mobile Back end as a Service na AWS
 
Rodando SAP na AWS
Rodando SAP na AWSRodando SAP na AWS
Rodando SAP na AWS
 
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
 
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
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
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
 
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
 
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
 
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovarLiberte-se dos bancos de dados comerciais para economizar, crescer e inovar
Liberte-se dos bancos de dados comerciais para economizar, crescer e inovar
 
Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013Keynote AWS Roadshow Campinas 2013
Keynote AWS Roadshow Campinas 2013
 
Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013
 
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
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
 
Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
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
 
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web ServicesBuilding blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #1 - Primeiros passos na Amazon Web Services
 

More from 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 à nuvemAmazon 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 BackupAmazon 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 à nuvemAmazon 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 BackupAmazon 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 AWSAmazon 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 AWSAmazon 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 AWSAmazon 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 AWSAmazon 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 AWSAmazon 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 AWSAmazon 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 administradosAmazon 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 AWSAmazon Web Services LATAM
 

More from 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
 

Escalabilidade na Nuvem AWS

  • 2. Então, como ter escalabilidade na Nuvem?
  • 5. US-WEST (Oregon) EU-WEST (Ireland) ASIA PAC (Tokyo) US-WEST (N. California) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) AWS GovCloud (US) ASIA PAC (Sydney) Regiões ASIA PAC (Singapore)
  • 6. US-WEST (Oregon) EU-WEST (Ireland) ASIA PAC (Tokyo) US-WEST (N. California) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) AWS GovCloud (US) ASIA PAC (Sydney) Zonas de Disponibilidade ASIA PAC (Singapore)
  • 7. Compute Storage AWS Global Infrastructure Database App Services Deployment & Administration Networking
  • 8. Compute Storage AWS Global Infrastructure Database App Services Deployment & Administration Networking Amazon CloudWatch AWS IAM AWS CloudFormation Amazon Elastic Beanstalk AWS Data Pipeline AWS OpsWorks Amazon CloudSearch Amazon SQSAmazon SNS Amazon Elastic Transcoder Amazon SWF Amazon SES Amazon DynamoDB Amazon RDS Amazon ElastiCache Amazon RedShift AWS Storage Gateway Amazon S3 Amazon Glacier Amazon CloudFrontAmazon EC2 Amazon EMR Amazon VPC Amazon Route 53 AWS Direct Connect
  • 9. Vamos então começar pelo dia um, um usuário ( você! ):
  • 10. Dia Um, Um Usuário • Uma instancia EC2 – Stack completo • AplicaçãoWeb • Banco de Dados • Gestão • Etc. • Um Elastic IP • Route53 para DNS EC2 Instance Elastic IP Amazon Route 53 User
  • 11. “Precisamos de uma máquina maior” • Modo mais simples • Pode alavancar uso de PIOPs • Instancias High I/O • Instancias High Memory • Instancias High CPU • Instancias High Storage • Fácil de mudar tamanhos de instancias • Vai eventualmente ter limitações hi1.4xlarge m2.4xlarge m1.small
  • 12. “Precisamos de uma máquina maior” • Modo mais simples • Pode alavancar uso de PIOPs • Instancias High I/O • Instancias High Memory • Instancias High CPU • Instancias High Storage • Fácil de mudar tamanhos de instancias • Vai eventualmente ter limitações hi1.4xlarge m2.4xlarge m1.small
  • 13. Dia Um, Um Usuário: • Pode potencialmente atender algumas centenas até alguns milhares de usuários dependendo da instancia, complexidade da app e tráfego • Não tem failover • Não tem redundância • Todos os ovos no mesmo cesto EC2 Instance Elastic IP Amazon Route 53 User
  • 14. Dia Um, Um Usuário: • Pode potencialmente atender algumas centenas até alguns milhares de usuários dependendo da instancia, complexidade da app e tráfego • Não tem failover • Não tem redundância • Todos os ovos no mesmo cesto EC2 Instance Elastic IP Amazon Route 53 User
  • 15. Dia Dois, Usuário >1: Vamos primeiro separar os recursos em mais de uma instancia. • Instancia Web • Instancia de Banco Web Instance Database Instance Elastic IP Amazon Route 53 User
  • 16. Gestão Própria Serviço Gerenciado Banco de Dados no Amazon EC2 Sua escolha de BD no Amazon EC2 Bring Your Own License (BYOL) Amazon DynamoDB Serviço gerenciado de BD NoSQL que usa storage SSD Amazon RDS MS SQL Server, Oracle ou MySQL as a service BYOL ou Licença Incluída Amazon Redshift Data Warehouse as a service distribuído e com escala de petabytes Opções de Bases de Dados
  • 18. Depende do seu caso de uso, mas…
  • 19. Comece com aquilo que for mais simples para você
  • 20. Vamos começar com o Amazon RDS nesse exemplo
  • 21. Usuários >100: Web Instance Elastic IP RDS DB Instance Amazon Route 53 User Vamos primeiro separar os recursos em mais de uma instancia. • Instancia Web • Instancia de Banco – Use o RDS para ter uma vida mais simples!
  • 22. Usuários > 1000: Agora vamos endereçar a falta de failover e redundancia: • Elastic Load Balancer • Mais uma InstanciaWeb – Em outra Zona de Disponibilidade • Habilitar RDS Multi-AZ Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Availability Zone Web Instance RDS DB Instance Standby (Multi-AZ) Elastic Load Balancer Amazon Route 53 User
  • 23. Escalando horizontalmente e verticalmente podemos chegar bem longe ( 10s-100s de milhares )
  • 24. Usuários >10ks-100ks: RDS DB Instance Active (Multi-AZ) Availability Zone Availability Zone RDS DB Instance Standby (Multi-AZ) Elastic Load 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
  • 25. Isso realmente nos levará longe, mas queremos também performance e eficiência.Vamos limpar um pouco mais
  • 26. Mova a carga: Diminua a carga nas instanciasWeb e BD: • Mova conteúdo estático da instancia Web para o S3 e CloudFront • Mova estado/sessões e faça cache do BD com ElastiCache e/ou DynamoDB Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancer Amazon S3 Amazon Cloudfront Amazon Route 53 User ElastiCache DynamoDB
  • 27. Agora que nossas camadas Web e de BD estão mais leves vamos voltar ao início da nossa discussão…
  • 29. Escalabilidade automática de instancias de acordo com políticas definidas Trigger auto-scaling policy as-create-auto-scaling-group MyGroup --launch-configuration MyConfig --availability-zones us-east-1a --min-size 4 --max-size 200 Auto-Scaling Amazon CloudWatch
  • 30. Tráfego em Novembro na Amazon.com November
  • 33. November Tráfego em Novembro na Amazon.com Auto Scaling
  • 34. É possível fazer ainda mais melhorias deixando suas camadas ainda mais leves e orientadas a serviços
  • 35.
  • 36. SOA = Service Oriented Architecture
  • 37. Baixo acoplamente te liberta! • Reduza o acoplamento para escalar ainda mais – Componentes independentes – Projete-os como uma caixa preta – Desacople as integrações – Prefira serviços já construídos com redundancia e escalabilidade ao invés de contruir novamente Controller A Controller B Controller A Controller B Q Q Alto acomplamento Use Amazon SQS como Buffers Baixo acoplamento
  • 38. Baixo acoplamento + SOA = Win! Exemplos: • Email • Filas • Transcoding de Vídeos • Busca • Bancos de Dados • Monitoramento • Métricas • Logs Amazon CloudSearch Amazon SQSAmazon SNS Amazon Elastic Transcoder Amazon SWF Amazon SES Não reinvente a roda!
  • 39. Baixo acoplamento + SOA Exemplo
  • 40. Imagine um site/app para upload e compartilhamento de fotos entre usuários
  • 41. Exemplo usando filas de mensagem SQS
  • 42. S3 Bucket For Ingest User SNS Topic RRS S3 Bucket to Serve content to CloudFront S3 Bucket For originals CloudFront Download Distribution SQS Queue Size for Thumbnail SQS Queue Size Image for Mobile SQS Queue Size Image for Web Auto scaling Group Instances Auto scaling Group Instances Auto scaling Group Instances
  • 44. S3 Bucket For Ingest User RRS S3 Bucket to Serve content to CloudFront S3 Bucket For originals CloudFront Download Distribution Auto scaling Group Instances Auto scaling Group Instances Auto scaling Group Instances SWF Instance running decider
  • 45. Usuários >1milhão+: Chegar em um milhão e além requer uma arquitetura que utilize os recursos vistos anteriormente: • Multi-AZ • Elastic Load Balancer entre as camadas • Auto-Scaling • Service oriented architecture • Servir conteúdo estático com as soluções certas ( S3/CloudFront ) • Cache e réplicas de bases de dados • Mover estado para fora das camadas com auto-scaling
  • 46. Usuários >1milhão+: 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
  • 48. Usuários > 10milhões+: Você provavelmente encontrará dificuldades com sua base de dados nas escritas no BD Master. Como resolver? • Sharding ( separar conjuntos de dados em mais de uma base de dados ) • Mover funcionalidades para outros tipos de BDs ( NoSQL )
  • 49. Sharding • Mais complexo para a camada de aplicação • Complexidade operacional • Shard por função ou chave User ShardID 002345 A 002346 B 002347 C 002348 B 002349 A A B C
  • 50. Mover funcionalidades para NoSQL • Soluções NoSQL usualmente possuem escalabilidade horizontal transparente • Use serviços gerenciados como o DynamoDB DynamoDB
  • 51. Você também poderá ter problemas relacionados a velocidade ou performance. • Tenha soluções de monitoração/métricas/logs – Se possível, use soluções prontas! ( SaaS ) • Preste atenção no que seus usuários estão dizendo • Verifique a performance de cada serviço/componente Usuários > 10milhões+:
  • 53. AWS Marketplace & Partners AWS podem ajudar Saiba mais em: aws.amazon.com/marketplace
  • 54. Usuários > 10 milhões+: Gerenciar sua infraestrutura será fundamental com número de instancias e recursos utilizados em crescimento.Use ferramentas para automatizar tarefas. • Ferramentas da AWS • Ferramentas de gestão de configuração • Análise automatizada de logs e ações de usuários
  • 55. Soluções de Gestão de Aplicações da AWS Elastic Beanstalk OpsWorks CloudFormation EC2 Conveniência Controle Serviços de Alto Nível Faça você mesmo
  • 56. Host Based Configuration Management Dois grandes players: – Opscode Chef – PuppetLabs Puppet • São parecidos em recursos • Use HBCM junto com uma das soluções da AWS (OpsWorks integra com Chef e CloudFormation com Chef ou Puppet) • Mais difícil gerenciar muitos recursos computacionais sem HBCM
  • 58. Pense em redundância em todas as camadas
  • 59. Multi-AZ na sua infraestrutura
  • 60. Faça uso de serviços prontos ( ELB, S3, SNS, SQS, SWF, SES, etc )
  • 61. Use SQL ou NoSQL de acordo com os requisitos de seu negócio
  • 62. Crie uma arquitetura orientada a serviços ( SOA )
  • 63. Use Auto-scaling quando precisar crescer ou diminuir automaticamente
  • 64. Use ferramentas de automação sempre que possível
  • 67. Pensando nesses elementos você certamente poderá atender dezenas e até centenas de milhões de usuários!