Partilhar via


Visão geral: Aplicativo Web Python em contêiner no Azure com MongoDB

Esta série de tutoriais mostra como contentorizar uma aplicação Web Python e, em seguida, executá-la localmente ou implementá-la no Serviço de Aplicações do Azure. O Aplicativo Web para Contêineres do Serviço de Aplicativo permite que você se concentre na criação de contêineres sem se preocupar em gerenciar e manter um orquestrador de contêineres subjacente. Quando você está criando aplicativos Web, o Serviço de Aplicativo do Azure é uma boa opção para dar seus primeiros passos com contêineres. Este aplicativo Web de contêiner pode usar uma instância local do MongoDB ou o MongoDB para Azure Cosmos DB para armazenar dados. Para obter mais informações sobre como usar contêineres no Azure, consulte Comparando opções de contêiner do Azure.

Neste tutorial, você:

Depois de concluir os artigos desta série de tutoriais, você terá a base para Integração Contínua (CI) e Implantação Contínua (CD) de um aplicativo Web Python para o Azure.

Descrição geral do serviço

O diagrama de serviço que dá suporte a este tutorial mostra dois ambientes: ambiente do desenvolvedor e ambiente do Azure. Ele destaca os principais serviços do Azure usados no processo de desenvolvimento.

Uma captura de tela dos serviços usados no Tutorial - Aplicativo Python em contêiner no Azure.

Ambiente de programador

Os componentes que suportam o ambiente do desenvolvedor neste tutorial incluem:

  • Sistema de Desenvolvimento Local: Um computador pessoal usado para codificar, construir e testar o contêiner do Docker.

  • Conteinerização do Docker: o Docker é empregado para empacotar o aplicativo e suas dependências em um contêiner portátil.

  • Ferramentas de Desenvolvimento: Inclui um editor de código e outras ferramentas necessárias para o desenvolvimento de software.

  • Instância local do MongoDB: um banco de dados MongoDB local utilizado para armazenamento de dados durante o desenvolvimento.

  • Conexão MongoDB: Acesso ao banco de dados MongoDB local fornecido através de uma cadeia de conexão.

Ambiente do Azure

Os componentes que dão suporte ao ambiente do Azure neste tutorial incluem:

  • Serviço de Aplicações do Azure

    • No Serviço de Aplicativo do Azure, o Aplicativo Web para Contêineres usa a tecnologia de contêiner do Docker para fornecer hospedagem de contêiner de imagens internas e imagens personalizadas usando o Docker.
    • O Aplicativo Web para Contêineres usa um webhook no Registro de Contêiner do Azure (ACR) para ser notificado de novas imagens. Quando uma nova imagem é carregada no registo, a notificação de webhook aciona o App Service para obter a atualização e reiniciar a aplicação.
  • Registo de Contentores Azure

    • O Registro de Contêiner do Azure permite armazenar e gerenciar imagens do Docker e seus componentes no Azure. Ele fornece um registro localizado perto de suas implantações no Azure que lhe dá a capacidade de controlar o acesso usando seus grupos e permissões do Microsoft Entra.

    • Neste tutorial, o Registro de Contêiner do Azure é a fonte do Registro, mas você também pode usar o Docker Hub ou um registro privado com pequenas modificações.

  • Azure Cosmos DB para MongoDB

    • O Azure Cosmos DB para MongoDB é um banco de dados NoSQL usado neste tutorial para armazenamento de dados.

    • O aplicativo em contêiner se conecta e acessa o recurso do Azure Cosmos DB usando uma cadeia de conexão, que é armazenada como uma variável de ambiente e fornecida ao aplicativo.

Autenticação

Neste tutorial, você cria uma imagem do Docker, localmente ou no Azure, e a implanta no Serviço de Aplicativo do Azure. O Serviço de Aplicativo extrai a imagem do contêiner de um repositório do Registro de Contêiner do Azure.

Para extrair imagens do repositório com segurança, o Serviço de Aplicativo utiliza uma identidade gerenciada atribuída ao sistema. Essa identidade gerenciada concede ao aplicativo Web permissões para interagir com outros recursos do Azure, eliminando a necessidade de credenciais explícitas. Para este tutorial, a identidade gerenciada é configurada durante a configuração do Serviço de Aplicativo para usar uma imagem de contêiner do Registro.

O aplicativo Web de exemplo tutorial usa o MongoDB para armazenar dados. O código de exemplo se conecta ao Azure Cosmos DB por meio de uma cadeia de conexão.

Pré-requisitos

Para concluir este tutorial, você precisa:

Aplicativo de exemplo

O resultado final deste tutorial é um aplicativo de revisão de restaurante, implantado e em execução no Azure, que se parece com a captura de tela a seguir.

Uma captura de tela do aplicativo de exemplo criado a partir do aplicativo Web em contêiner Python usado no Tutorial - Aplicativo Python em contêiner no Azure.

Neste tutorial, você cria um aplicativo de revisão de restaurante Python que utiliza o MongoDB para armazenamento de dados. Para obter um exemplo de aplicativo usando PostgreSQL, consulte Criar e implantar um aplicativo Web Flask no Azure com uma identidade gerenciada.

Próximo passo