ANÚNCIO

Aula 14 – Curso de FastAPI 2025

Faça o deploy de uma aplicação FastAPI no Fly.io usando container Docker e PostgreSQL, transformando seu projeto local em um serviço online.

⏱ 1h 49min 👁 2.028 visualizações 📅 junho 25, 2025

Mais aulas deste curso

Curso de FastAPI 2025

Aula 14 de 15

Resumo

Objetivos da aula de deploy

A décima quarta aula do Curso de FastAPI 2025, ministrada por Eduardo Mendes, concentra-se em um dos tópicos mais críticos no desenvolvimento de aplicações web: o deployment em ambiente de produção. Após construir uma aplicação FastAPI funcional ao longo do curso, chega o momento de colocar o projeto em operação real utilizando o Fly.io, uma plataforma moderna de hospedagem que simplifica o processo de deployment de aplicações containerizadas. O objetivo central é demonstrar como transformar a aplicação local desenvolvida nas aulas anteriores em um serviço acessível na internet, mantendo a integração com o banco de dados PostgreSQL.

Arquitetura do deployment com Fly.io

O Fly.io é escolhido como plataforma de hospedagem por sua facilidade de integração com Docker e suporte nativo a aplicações containerizadas. A abordagem adotada nesta aula segue a prática moderna de desenvolvimento, onde a aplicação FastAPI é empacotada em um container Docker, garantindo consistência entre o ambiente de desenvolvimento e produção. Este container encapsula todas as dependências da aplicação, eliminando problemas relacionados a diferenças de configuração entre máquinas. O Fly.io oferece recursos escaláveis e flexíveis, permitindo que aplicações cresçam conforme a demanda sem necessidade de reconfiguração complexa.

Preparação da aplicação FastAPI

Antes de iniciar o processo de deployment, a aplicação FastAPI desenvolvida nas aulas anteriores passa por ajustes específicos para ambiente de produção. Estes ajustes incluem a configuração de variáveis de ambiente, otimização de logs e garantia de que todas as dependências estejam corretamente documentadas no arquivo de requisitos. A documentação automática gerada pelo FastAPI, incluindo os endpoints Swagger UI e ReDoc, permanece acessível, permitindo que usuários e desenvolvedores testem a API diretamente no servidor em produção. A robustez da aplicação é verificada através de testes antes do deployment, assegurando que comportamentos críticos funcionem corretamente no novo ambiente.

Containerização com Docker

O Docker desempenha papel fundamental no pipeline de deployment. O Dockerfile define uma imagem que contém a aplicação FastAPI com todas as suas dependências Python, incluindo a integração com PostgreSQL. A imagem é otimizada para reduzir tamanho e tempo de inicialização, práticas essenciais em ambientes de produção. A camada de dependências é separada do código da aplicação, permitindo que mudanças no código não invalidem o cache Docker, acelerando o processo de build. O uso de containers garante que a aplicação execute de forma idêntica independentemente do hardware subjacente, eliminando a clássica afirmação "funciona na minha máquina".

Integração com PostgreSQL

A camada de persistência de dados utilizando PostgreSQL é crítica para o funcionamento da aplicação em produção. O Fly.io fornece suporte para banco de dados PostgreSQL, permitindo que a aplicação FastAPI se conecte de forma segura ao banco utilizando strings de conexão fornecidas pela plataforma. A configuração da variável de ambiente DATABASE_URL contém as credenciais necessárias para acesso ao banco, mantendo informações sensíveis fora do código-fonte. Migrations do banco de dados são executadas como parte do pipeline de deployment, garantindo que o schema esteja sempre sincronizado com a versão da aplicação em produção.

Processo passo a passo do deployment

A aula caminha através dos passos concretos necessários para realizar o deploy. Primeiro, a criação de uma conta no Fly.io e instalação da CLI (Command Line Interface) fornecida pela plataforma. Posteriormente, a configuração do arquivo fly.toml que define como a aplicação será executada na plataforma, incluindo recursos de CPU, memória e número de instâncias. O deployment propriamente dito é realizado através do comando fly deploy, que automatiza todo o processo de build da imagem Docker, push para o registro de imagens do Fly.io e inicialização dos containers em seus servidores. Logs detalhados durante o processo permitem identificar e resolver problemas rapidamente.

Monitoramento e troubleshooting

Após o deployment bem-sucedido, a monitoração contínua garante que a aplicação permaneça estável e responsiva. O Fly.io fornece dashboards e ferramentas para visualizar métricas de performance, consumo de recursos e logs da aplicação em tempo real. Casos onde a aplicação não inicia corretamente são diagnosticados através da análise de logs, que revelam mensagens de erro e indicam configurações ausentes ou incorretas. A capacidade de executar comandos dentro de containers em produção através de fly ssh permite debug avançado quando necessário. Estratégias de rollback permitem reverter a uma versão anterior se problemas críticos forem descobertos após deployment.

Boas práticas em produção

Além dos passos técnicos, a aula enfatiza boas práticas essenciais para manter aplicações FastAPI estáveis em produção. Variáveis de ambiente são utilizadas para todas as configurações que diferem entre desenvolvimento e produção, nunca hardcoding valores sensíveis no código. Health checks são implementados para que a plataforma possa detectar quando a aplicação está saudável ou necessita reinicialização. A documentação gerada automaticamente pelo FastAPI serve como referência viva para os endpoints, facilitando integração e uso da API por terceiros. Monitoramento de performance identifica gargalos que possam necessitar otimização futura, como adição de cache ou índices de banco de dados.

O que você vai aprender

  • Preparar uma aplicação FastAPI para deploy em ambiente de produção
  • Containerizar aplicação usando Docker com otimizações para produção
  • Configurar e fazer deploy no Fly.io com integração ao PostgreSQL
  • Gerenciar variáveis de ambiente e credenciais em produção
  • Monitorar logs e performance da aplicação em produção

Conceitos abordados

Tecnologias utilizadas

Capítulos 9 marcações

  1. Introdução e objetivos da aula
  2. Preparação da aplicação FastAPI
  3. Configuração do Docker e Dockerfile
  4. Instalação e configuração do Fly.io CLI
  5. Criação e configuração do arquivo fly.toml
  6. Integração com PostgreSQL em produção
  7. Executando o deploy com fly deploy
  8. Monitoramento e logs em produção
  9. Troubleshooting e boas práticas

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.