Introduçãoo aws, escalando uma aplicação Web
-
Upload
alessandro-binhara -
Category
Internet
-
view
88 -
download
0
Transcript of Introduçãoo aws, escalando uma aplicação Web
• Amazon.com + Amazon AWS (+260mil funcionários)• 75 mil vagas empregos aberto no mundo• Receita 107 Bilhões• Valor atual $317 Bilhões
• Chamath Palihapitiya, fundador da Social Capital, empresa de investimentos norte-americana, afirmou hoje (4) que a Amazon, de Jeff Bezos, pode estar por trás de um novo conglomerado avaliado em mais de US$ 3 trilhões.
• Apple $521 bilhões • Google $480 bilhões• Microsoft $238Bilhões
• "Por experiência, sabia que o custo de manutenção de uma infra-estrutura confiável, escalável em um modelo de multi-centro de dados tradicional pode ser tão alta quanto 70 por cento, tanto em tempo e esforço, e exige um investimento significativo de capital intelectual para sustentar por um longo período de tempo . O pensamento inicial era prestar serviços que poderiam reduzir esse custo para 30 por cento ou menos (agora sabemos que pode ser muito menos)." Werner Vogels CTO da Amazon
• - 2003 (Idéia formada, início da construção) - 2005 (produtos AWS sendo vendidos para alguns clientes) - 2006 (Lançamento oficial)
• SaaS • (Entrega Software para o Usuário Final)
• PaaS • ( Entrega uma plataforma, para fazermos o
deploy do Software)
• IaaS • (Entrega Infraestrutura, Servidores, Rede,
Storage)
• Outros Conceitos: DevaaS, CaaS, EaaS, DBaaS, BIaaS, etc.
IaaS
PaaS
SaaS
• Elasticidade.
• Disponibilidade.
• Serviços desacoplados.
• Gestão eficiente.
• Custo.
• Segurança.
• - Especialista em cloud computing.
• - Líder de mercado.
• - Constantes inovações.
• - Serviços gratuitos por até um ano*.
• - Repasse de benefícios.
• - Vários DCs espalhados pelo mundo.
Ritmo de Inovação Plataforma Robusta e Abrangência Global
Core
Services
Platform
Services
Enterprise
Applications
Analytics App Services Deployment and Management Mobile Services
AWS Data
Pipeline
AWS
CloudTrail
CloudWatch
AWS CloudFormation
Elastic
Beanstalk
ElastiCacheAmazon
Redshift
Amazon
RDSDynamoDB
Amazon
CloudSearch
Amazon
SES
Amazon
SWF
Elastic Transcoder
Amazon Kinesis
Amazon
EMR
IAM
AWS
OpsWorks
Compute Networking DatabaseStorage
CloudFront
Amazon
Glacier
Amazon S3
Amazon
EBS
Auto ScalingAmazon
Route 53
Elastic Load
BalancingAWS Direct Connect
Amazon VPC
Amazon EC2
Amazon
WorkSpaces
Amazon WorkDocs
Amazon
SNS
Mobile Analytics
Amazon
Cognito
Actual
EC2
Amazon EC2 Elastic Load BalancingAuto Scaling
Web service queprovê capacidade de
computaçãoredimensionável
Automaticamenteescala a capacidade de instâncias Amazon EC2
de forma elástica
Automaticamente distribuitráfego através de instâncias
Amazon EC1
Amazon EBS
Storage de Blocospara uso com
instâncias Amazon EC2
EBS
Amazon Glacier
Storage de baixocusto para archiving
e backup
Images
Videos
Files
Binaries
Snapshots
Amazon S3
Images
Videos
Files
Binaries
Snapshots
Storage de Objetosdurável e escalável
Amazon RDS
Serviço de Banco de Dados gerenciado
Amazon ElastiCache
Serviço de caching emmemória
Amazon DynamoDB
Serviço de Banco de Dados NoSQL gerenciado
DBA
Amazon RDSFor Aurora
Novo banco de dados relacional
compatível com MySQL
Amazon VPC
Seção Privada, isoladada nuvem da AWS
Amazon Route 53
Serviço DNS WebDomain Name System
Availability
Zone BAvailability
Zone A
AWS Storage Gateway
Integrates on-premises IT and AWS storage
S3,
Glacier
AWS Direct Connect
Private connectivity between AWS and your data center
Amazon Kinesis
Amazon Redshift
Amazon Elastic MapReduce
Processamento de grande quantidade de
dados
Rápido, poderoso, data warehouse na escala
dos petabytes
Processamento de data stream em real-
time
Amazon Simple Email Service (SES)
Amazon Simple Queue Service
(SQS)
Amazon Simple Notification Service
(SNS)
Amazon CloudSearch
AWS ElasticBeanstalk
AWS OpsWorks
AWS CloudFormation
Templates para fazerdeploy e gestão
manage
DevOps framework paragestão do ciclo de vida
das aplicações
Gestãoautomatizada de
recursos
- Processamento
- Armazenamento
- CDN
- Banco de Dados
- Messageria
- Load Balance
- Monitoração
EC2 – WebserverSECURITY
Aquitetura Inicial – Fortemente aclopada
user
SERVIDOR
• Tudo em cima de um único servidor• Que guarda os dados do usuário• O servidor é vital para a aplicação• Não Escala• Não é tolerante a falhas• Famoso “Exécito de um homem só ”
EC2 – WebserverSECURITY
Aquitetura Inicial – Fortemente aclopada
user
SERVIDOR
• Tudo em cima de um único servidor• Que guarda os dados do usuário• O servidor é vital para a aplicação• Não Escala• Não é tolerante a falhas• Famoso “Exécito de um homem só ”
• 1) Separar Web e DB• Mais capacidade
• Escalar a cada lado individualmente
• Escolha de Instancias independente• Tipo de Instancia
• Armazenamento
• Segurança• Cada um com seu security group
• DB vai para um subrede privada
• Relaciona Database Service• Aurora, MySQL, PostgresSQL, Oracle, SQL Server
• Totalmente Gerenciado
• Zero de Administração
• Escalonável
• Durável
• Backup
AmazonS3
Amazon CloudFront
CDN
Amazon
Route 53
Elastic Load
Balancing
EC2 – WebserverSECURITY
Architecture WEB SCALABLE
userCloudFront
distribution
Availability Zone #1 Availability Zone #2
EC2 - WORKERS
encrypted data
AWS cloud
web app
server
security group
RDS DB
instance
• Esacalável ?
• Seguro ?
• Tolerante a Falhas ?
• Altamente disponível ?
• Amazon s3: Serviço de armazenamento de objetos altamente disponíveis• Arquivos staticos (java script, css, imagens)
• Upload de artiovos, conteúdo do usuários
• S3 URLs – sirva HTTP diretamente do s3
• Web Serve somente para a aplicação
• Problema servidores statuful
• Solução: servidores stateful
AWS cloud
web app
server
security group
RDS DB
instance
AmazonS3
• Seu site esta crescendo
• Pague somente pelo que vc utiliza
• Escalabilidade horizontal
• Mais instâncias em horários de pico
• Menos instâncias em horários de vale
• Tolerância a falhas e Alta disponiponibilidade
• Servidore StateLess
• Recurso computacional que permite processar parte de uma arquitetura desacoplada
• Servidore StateLess
• Recurso computacional que permite processar parte de uma arquitetura desacoplada
Aumentando as CPU
• Servidore StateLess
• Recurso computacional que permite processar parte de uma arquitetura desacoplada
Reduzindo as CPU
AWS cloud
web app
server
security group
RDS DB
instance AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
• Servicço de balancemanto de carga
• Totalmente tolerante a falhas
• Distribui tráfego entre muiltiplas Azs
• Elastico – automaticamente escala
AWS cloud
web app
server
security group
RDS DB
instance AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
• Redimeninamento automático
• Via console da amazona
• Via Chamada de api
• Numero mínimo e máximo
• Alarme
web app
server
security group
RDS DB
instance
AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
Auto Scaling group
Auto Scaling
RDS DB
instance standby
(Multi-AZ)
web app
server
security group
RDS DB
instance
AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
Auto Scaling group
Auto Scaling
RDS DB
instance standby
(Multi-AZ)
web app
server
security group
RDS DB
instance
AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
Auto Scaling group
Auto Scaling
RDS DB
instance standby
(Multi-AZ)
web app
server
web app
serverweb app
server
web app
server
• Rede mundial de pontos de presença
• Cache mais próximo do seu usuário• Reduz latência
• Reduz carga nos servidores de origem
• Conteudo estático e dinâmico
• Otimizações de conexão• Enlace de rede entre os end-points
• Reutilização de conexões
web app
server
security group
RDS DB
instance
AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
Auto Scaling group
Auto Scaling
RDS DB
instance standby
(Multi-AZ)
web app
server
web app
serverweb app
server
web app
server
CloudFront
distribution
• Aumentar os specs da instância de banco de dados• Tipo de instância• Mais disco, volumes
• Read Replicas (Master Slave)• Escala além da capacidade do SQL• Disponível para vários bancos• Lag de aplicação • Latencia e consitencia• Pode aumentas as outras maquinas• Ou adicionar readreplica• MultiAZ replicação sincrona
AmazonS3
Amazon CloudFront
CDN
AmazonRDS Multi AZ
Amazon ElastiCache
MEMCACHE-REDIS
Amazon
Route 53
Elastic Load
Balancing
EC2 – WebserverSECURITY
Architecture WEB SCALABLE
userCloudFront
distribution
Availability Zone #1 Availability Zone #2
EC2 - WORKERS
AmazonSQS
EC2 – WebserverSECURITY
EC2 - WORKERS
Auto Scaling
Auto Scaling
AWS Elastic Beanstalk
AWS Elastic Beanstalk
Spot instance
AMI
encrypted data
AmazonS3
Amazon CloudFront
CDN
AmazonRDS Multi AZ
Amazon ElastiCache
MEMCACHE-REDIS
Amazon
Route 53
Elastic Load
Balancing
EC2 – WebserverSECURITY
Architecture WEB SCALABLE
userCloudFront
distribution
Availability Zone #1 Availability Zone #2
EC2 - WORKERS
AmazonSQS
EC2 – WebserverSECURITY
EC2 - WORKERS
Auto Scaling
Auto Scaling
AWS Elastic Beanstalk
AWS Elastic Beanstalk
Spot instance
AMI
encrypted data
web app
server
security group
RDS DB
instance
AmazonS3
Amazon
Route 53
AWS cloud
web app
server
security group
Auto Scaling group
Auto Scaling
RDS DB
instance standby
(Multi-AZ)
web app
server
web app
serverweb app
server
web app
server
CloudFront
distribution
RDS DB
instance read
replica
RDS DB
instance read
replica
• Resposta mais rápidas
• Alivio do trafego no banco de dados
• Facil de implementar
• Gerenciado• Auto escalável
• Elastico
• Compative• Memcache e Redis
AmazonS3
Amazon CloudFront
CDN
AmazonRDS Multi AZ
Amazon ElastiCache
MEMCACHE-REDIS
Amazon
Route 53
Elastic Load
Balancing
EC2 – WebserverSECURITY
Architecture WEB SCALABLE
userCloudFront
distribution
Availability Zone #1 Availability Zone #2
EC2 - WORKERS
AmazonSQS
EC2 – WebserverSECURITY
EC2 - WORKERS
Auto Scaling
Auto Scaling
AWS Elastic Beanstalk
AWS Elastic Beanstalk
Spot instance
AMI
encrypted data