Arquitetura Web no AWS

Post on 29-Jun-2015

1.004 views 0 download

description

Introdução aos serviços e a

Transcript of Arquitetura Web no AWS

ARQUITETU

RA WEB N

O

AMAZON AW

S

CL O

UD

CO

MP

UT

I NG

PA

RA

ES

CA

LA

R S

UA

AP

LI C

ÃO

RAFAEL NUNES

-Sócio da YaW Tecnologia

-Desenvolvimento em Python e Java principalmente

-Consultoria para o Mercado Financeiro(Q10 Informática)

-Instrutor da Globalcode

-Editor da InfoQ Brasil(www.infoq.com/br)

O QUE NÃO VEREMOS

- Desenvolvimento Web

- O que é Cloud Computing

- Todos os serviços da Amazon

- Qual a resposta para a vida, o universo e todas as coisas….(R:42)

O QUE VEREMOS

Como utilizar a estrutura do AWS para escalar uma aplicação Web.

Onde utilizar cada um dos serviços e onde cada um se encaixa.

ANTES DE COMEÇAR

Eu preciso escalar?

APLICAÇÃO WEB

Requisitos comuns de uma aplicação web escalável:

- Procesamento variável

- Armazenamento

- Banco de Dados distribuido

- Messageria

- Balanceamento de carga

- Cluster

- Monitoração

- Cache

- Picos de requisições

AMAZON AWS

PROCESSAMENTO

Elastic Cloud Computing

- Uma das partes centrais do AWS

- Instâncias de acordo com sua necessidade- Standard(Small 1.7Gb 1 ECU, Large 7.5Gb 4ECU, Extra Large 15Gb 8 ECU )- Micro(613Mb memória, 2 EC2 Compute Units)- High Memory(Extra Large 17Gb, Double 34Gb , Quadruple 68Gb)- High CPU(Medium, Extra Large)- Cluster Compute(23Gb memmória, 33.5 EC2 Compute Units)- Cluster GPU(22Gb memória, 33.5 EC2 Compute Units, 2 Nvidia Tesla

‘Fermi’)- Sistema Operacional via AMI(Amazon Machine Image)

* EC2 Compute Unit = 1.0 - 1.2 GHz 2007 Opteron ou processador Xeon 2007

INSTANCE REGIONS

Cloud Computing não são duendes em numa nuvem cuidando dos meus servidores.

ELASTIC LOAD BALANCE

\0

Tokio

ELB

US Virginia

Instância Instância

ARMAZENAMENTO

Elastic Block Store(EBS)

- Um ‘HD’ para sua instância

- Pode ser formatado e montado como uma unidade de sua instância

- Snapshot para backups

- Expansível até 1Tb

- Instalações locais(Apache, Banco de Dados, Varnish, Git, SVN, etc)

BANCO DE DADOS

Relational Database Service(RDS)

- MySQL e Oracle

- Escalabilidade de armazenamento

- Backup via Snapshot

- Replicacão(entre regiões inclusive) e Master/Slave

MAIS ARMAZENAMENTO

Simple Storage Service(S3)

- Acesso via Webservice SOAP/REST

- Utilizado pela própria infraestrutura da amazon

- 449 bilhões de objetos

- Hospedagem de conteúdo estático: imagens, vídeos, .js, .css, backups, snapshots, versões de deploy

E MAIS ARMAZENAMENTO

SimpleDB

- Banco de dados não relacional

- Armazenamento chave-valor

- Não recomendado para cache distribuído

E MAIS ARMAZENAMENTO

DynamoDB

- Banco de dados não relacional

- Acesso através de API

- Replicação de dados em múltiplas zonas

- Armazenamento em disco SSD

CACHE

- Localmente com Memcached e EBS- Configuração e gerenciamento manual- Replicação manual

- Serviço ElasticCache- Implementação do protocolo Memcached- Replicação e gerenciamento automático

CONTENT DELIVERY NETWORK

CloudFront

- CDN para objetos armazenados no S3

- Servidores em 20 localidades entre Europa, Ásia, EUA

- E finalmente primeira localidade na América do Sul: BRASIL!!

MUITOS OUTROS SERVIÇOS

- Messageria com Simple Queue Service

- Envio de e-mails com Simple E-mail Service

- Notificações e monitoramente com Simple Notification Service

- Mechanical Turk

APP WEB PADRÃO

E COMO ESCALAR?

- Picos de demanda

- Localidade

- Demanda esperada

- Horário de funcionamento

ISSO ESCALA?

Claro, é só plugar mais máquinas…..

E COMO ESCALA ISSO?

ESCALANDO NA AMAZON

GERENCIAMENTO DOS SERVICOS

- Autoscaling: Gerenciamento das instâncias, de forma programática com diretrizes definidas para up e down

- CloudWatch e Web Console: Monitoração dos serviços e instâncias, métricas utilizadas para Autoscaling

OBRIGADO!

r af a

e l@yaw

. com

.br

twi t

t er.

c om/ r

a f anunes

twi t

t er.

c om/y

ouandwe

ww

w.y

aw. c

om.b

r