24
ARQUITETURA DJANGO NO AMAZON AWS CLOUD COMPUTING PARA ESCALAR SUA APLICAÇÃO

Django no AWS

Embed Size (px)

DESCRIPTION

Arquitetura Django para o Amazon AWS - PythonBrasil 2011

Citation preview

Page 1: Django no AWS

ARQUITETU

RA DJA

NGO

NO AMAZON A

WS

CL O

UD

CO

MP

UT

I NG

PA

RA

ES

CA

LA

R S

UA

AP

LI C

ÃO

Page 2: Django no AWS

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)

Page 3: Django no AWS

O QUE NÃO VEREMOS

- O que é Django

- O que é Cloud Computing

- Todos os serviços da Amazon

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

Page 4: Django no AWS

O QUE VEREMOS

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

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

Page 5: Django no AWS

ANTES DE COMEÇAR

Eu preciso escalar?

Page 6: Django no AWS

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

Page 7: Django no AWS

AMAZON AWS

Page 8: Django no 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

Page 9: Django no AWS

INSTANCE REGIONS

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

Page 10: Django no AWS

ELASTIC LOAD BALANCE

\0

Tokio

ELB

US Virginia

Instância Instância

Page 11: Django no AWS

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)

Page 12: Django no AWS

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

Page 13: Django no AWS

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

Page 14: Django no AWS

E MAIS ARMAZENAMENTO

SimpleDB

- Banco de dados não relacional

- Armazenamento chave-valor

- Não recomendado para cache distribuído

Page 15: Django no AWS

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

Page 16: Django no AWS

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!!

Page 17: Django no AWS

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

Page 18: Django no AWS

APP WEB PADRÃO

Page 19: Django no AWS

E COMO ESCALAR?

- Picos de demanda

- Localidade

- Demanda esperada

- Horário de funcionamento

Page 20: Django no AWS

ISSO ESCALA?

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

Page 21: Django no AWS

E COMO ESCALA ISSO?

Page 22: Django no AWS

ESCALANDO NA AMAZON

Page 23: Django no AWS

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 Autscaling

Page 24: Django no AWS

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