Compartilhar via


Visão geral: aplicativo Web Python em contêineres no Azure com MongoDB

Esta série de tutoriais mostra como colocar em contêiner um aplicativo Web Python e, em seguida, executá-lo localmente ou implantá-lo no Serviço de Aplicativo do Azure. O Serviço de Aplicativos Web App para Contêineres permite que você concentre-se no desenvolvimento de seus contêineres sem se preocupar em gerenciar e manter um orquestrador de contêiner subjacente. Ao criar aplicativos Web, o Serviço de Aplicativo do Azure é uma boa opção para executar suas primeiras etapas com contêineres. Esse aplicativo Web de contêiner pode usar uma instância local do MongoDB ou o MongoDB para o Azure Cosmos DB para armazenar dados. Para obter mais informações sobre como usar contêineres no Azure, consulte Comparando as opções de contêiner do Azure.

Neste tutorial, você:

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

Visão geral do serviço

O diagrama de serviço compatível com este tutorial mostra dois ambientes: ambiente de 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êineres no Azure.

Ambiente de desenvolvedor

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

  • sistema de desenvolvimento local: um computador pessoal usado para codificar, compilar e testar o contêiner do Docker.

  • Contêinerização do Docker: Docker é utilizado 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.

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

  • Conexão do MongoDB: acesso ao banco de dados MongoDB local fornecido por meio de uma string de conexão.

Ambiente do Azure

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

  • Serviço de Aplicativo Azure

    • No Serviço de Aplicativo do Azure, o Aplicativo Web para Contêineres usa a tecnologia de contêiner 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 ACR (Registro de Contêiner do Azure) para ser notificado sobre novas imagens. Quando uma nova imagem é enviada por push para o registro, a notificação de webhook dispara o Serviço de Aplicativo para efetuar pull da atualização e reiniciar o aplicativo.
  • registro de contêiner do Azure

    • O Registro de Contêiner do Azure permite que você armazene e gerencie imagens do Docker e seus componentes no Azure. Ele fornece um registro localizado perto de suas implantações no Azure que oferece 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 origem do registro, mas você também pode usar o Hub do Docker 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êineres 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ê criará uma imagem do Docker localmente ou no Azure e a implantará no Serviço de Aplicativo do Azure. O Serviço de Aplicativo extrai a imagem de contêiner de um repositório do Registro de Contêiner do Azure.

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

O aplicativo Web de exemplo do 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 do Python usado no Tutorial – Aplicativo Python em contêineres no Azure.

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

Próxima etapa