ANÚNCIO

#09 – Como fazer um deploy na Aws de uma aplicação no Docker? | Thi Code

Aprenda a fazer deploy de aplicações Docker na AWS EC2 com passo a passo prático e configurações essenciais.

⏱ 26min 👁 4.610 visualizações 📅 novembro 7, 2023

Resumo

Introdução ao deploy Docker na AWS

O deploy de aplicações containerizadas é uma das habilidades mais demandadas no desenvolvimento moderno. Este vídeo apresenta um guia prático para colocar uma aplicação Docker em produção utilizando a AWS EC2, uma das soluções de computação em nuvem mais populares do mercado. O conteúdo aborda desde os conceitos fundamentais até as configurações específicas necessárias para que sua aplicação rode de forma segura e estável na nuvem.

O que é Docker e por que usar em produção

Docker é uma plataforma de containerização que empacotar uma aplicação junto com todas as suas dependências em um container isolado. Isso garante que o código funcione da mesma forma em qualquer máquina, seja no computador local do desenvolvedor ou em um servidor de produção na nuvem. Quando você containeriza sua aplicação, elimina problemas como "funciona na minha máquina, mas não no servidor" e facilita o processo de deployment, pois toda a configuração do ambiente já está definida na imagem Docker.

Preparando a aplicação para o container

Antes de fazer o deploy, é necessário preparar adequadamente a aplicação para ser containerizada. Isso envolve criar um arquivo Dockerfile que define como a imagem será construída, específicando o sistema operacional base, as dependências necessárias, a cópia dos arquivos do projeto e os comandos para iniciar a aplicação. O projeto ThiCodeWallet, disponibilizado no repositório do canal, serve como exemplo prático dessa preparação. O desenvolvedor também precisa considerar variáveis de ambiente, portas expostas e volumes de dados que a aplicação utilizará.

Entendendo a AWS EC2

A AWS EC2 é um serviço de computação em nuvem que oferece máquinas virtuais configuráveis conforme a necessidade. Para fazer o deploy de uma aplicação Docker, você precisa provisionar uma instância EC2, que é basicamente um servidor virtual onde sua aplicação rodará. A plataforma oferece diferentes tipos de instâncias, com variações em poder de processamento, memória e custo, permitindo que você escolha a configuração ideal para sua aplicação. O processo envolve criar uma instância, configurar grupos de segurança para controlar o acesso, criar chaves para autenticação SSH e ajustar as permissões necessárias.

Passo a passo do deployment

O processo de deployment começa com a conexão à instância EC2 via SSH usando a chave privada fornecida pela AWS. Após conectado, é preciso instalar o Docker na máquina virtual, clonar o repositório do projeto, construir a imagem Docker usando o comando docker build e, finalmente, rodar o container com docker run, mapeando as portas necessárias para que a aplicação seja acessível pela internet. O vídeo fornece um Notion com as configurações específicas para EC2, facilitando que cada desenvolvedor siga o mesmo padrão e evite erros comuns durante o setup inicial.

Configurações de segurança e redes

Segurança é um aspecto crítico quando se coloca uma aplicação em produção. A AWS oferece Security Groups que funcionam como firewalls virtuais, permitindo controlar qual tráfego pode chegar à sua instância. É necessário liberar as portas específicas que sua aplicação usa, como a porta 80 para HTTP, porta 443 para HTTPS ou qualquer outra porta customizada. Além disso, é importante utilizar variáveis de ambiente para dados sensíveis como credenciais de banco de dados, nunca deixando essas informações hardcoded no código ou na imagem Docker.

Monitoramento e manutenção contínua

Após o deploy bem-sucedido, a aplicação precisa ser monitorada para garantir que funcione corretamente. Isso inclui verificar logs da aplicação e do Docker, monitorar o uso de recursos como CPU e memória, e estar preparado para realizar atualizações quando necessário. Docker facilita esse processo, pois você pode atualizar a imagem, parar o container antigo e iniciar um novo com a versão mais recente. A comunidade Docker Hub também oferece imagens pré-construídas que podem servir como base para suas próprias imagens, acelerando o processo de desenvolvimento.

Recursos adicionais e comunidade

O canal Thiago Veigah disponibiliza todos os recursos necessários para acompanhar o conteúdo, incluindo links para o site do Docker, Docker Hub para gerenciar imagens, o repositório do projeto no GitHub e um servidor Discord para discussões com a comunidade. Esses recursos facilitam o aprendizado colaborativo e permitem que desenvolvedores tirem dúvidas e compartilhem experiências sobre deployment na AWS.

O que você vai aprender

  • Containerizar uma aplicação utilizando Docker e Dockerfile
  • Provisionar e configurar uma instância EC2 na AWS
  • Fazer upload e executar um container Docker em um servidor cloud
  • Configurar grupos de segurança e controle de acesso na AWS
  • Implementar variáveis de ambiente para dados sensíveis
  • Monitorar e manter uma aplicação Docker em produção

Conceitos abordados

Tecnologias utilizadas

Capítulos 8 marcações

  1. Introdução ao deploy Docker na AWS
  2. O que é Docker e containerização
  3. Preparando a aplicação para produção
  4. Criando instância EC2 na AWS
  5. Configurando segurança e grupos de rede
  6. Conectando à instância via SSH
  7. Instalando Docker e fazendo o deploy
  8. Testando a aplicação em produção

Próximo vídeo sugerido

Avaliações

Avaliação dos alunos 0.0
0 avaliações
Avalie esta aula

Ajude outros alunos a entenderem se esta aula foi útil.

Ainda não há avaliações. Seja o primeiro a avaliar esta aula.