Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCármen Azenha Dreer Alterado mais de 6 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.