A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Django, Docker e Amazon Container Services

Apresentações semelhantes


Apresentação em tema: "Django, Docker e Amazon Container Services"— Transcrição da apresentação:

1 Django, Docker e Amazon Container Services
Nilo Menezes

2 Plano Django Docker Amazon Container Services

3 Django Web framework Desenvolvimento rápido
Execução não é a coisa mais rápida do mundo

4 Django workers db nginx uwsgi workers workers

5 Docker Gerenciador de containers Containers:
VM-s leves Tem sua própria rede Sistema de arquivos próprio Excelente para desenvolvimento E para deploy

6 Django e Docker Container para nginx Container para uwsgi
Container para o banco de dados

7 Escalabilidade Aumentar o número de instâncias em função da carga/volume de acesso Idealmente sem modificar a aplicação Entram os load balancers

8 Load Balancer Balanceador de Carga
Recebe conexões em nome de um serviço E as repassa para instancias reais Age como um proxy Auxilia a escalar os serviços, permitindo que mais instâncias sejam adicionadas de forma transparente

9 Balanceador de Carga workers uwsgi Load balancer workers db nginx

10 Amazon Object Storage – s3 RDS – Relational Database Services
EC2 – Elastic Computer Cloud ECS – EC2 Container Services ECR – EC2 Container Registry Route53 ELB – Elastic Load Balancer

11 Amazon workers Load balancer (ELB) uwsgi workers db (RDS) nginx

12 ECS Gerencia um cluster capaz de rodar instâncias de serviços
Configurável pela web ou via api Reutiliza a configuração do docker Permite parar e iniciar os serviços progressivamente Fácil de alterar o número de instâncias

13 ECS Toda configuração nos containers
Máquinas do cluster rodam apenas containers Gerencia onde cada container vai rodar Registra novas instâncias no ELB

14 ECS Load balancer (ELB) Load balancer (ELB) Uwsgi +workers nginx db
(RDS) Uwsgi +workers nginx Uwsgi +workers nginx Uwsgi +workers

15 ECS Com vários níveis de ELB, os serviços podem ser escalados independentemente Várias instâncias permitem o deploy de novas versões, sem parar a versão corrente Novas máquinas podem ser acrescentadas ao cluster facilmente

16 Gargalos Banco de dados! Difícieis de escalar! Soluções:
Read replicas – modificam a aplicação Sharding – modificam a aplicação NoSQL – modificam a aplicação

17 A observar Não abusar de templates Manter o código enxuto
Mover as tarefas de longa duração para uma fila de mensagens (celery + rabbitmq) Usar cache onde for possível Nunca servir arquivos estáticos pelo Django Frameworks com suporte a Amazon Lambda (Zappa,Chalice, etc)

18 Obrigado


Carregar ppt "Django, Docker e Amazon Container Services"

Apresentações semelhantes


Anúncios Google