Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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ê:
Crie e execute um contêiner do Docker localmente. Consulte Criar e executar um aplicativo Web Python em contêiner localmente.
Crie uma imagem de contêiner do Docker diretamente no Azure. Consulte Criar um aplicativo Web Python em contêiner no Azure.
Configure um Serviço de Aplicativo para criar um aplicativo Web com base na imagem do contêiner do Docker. Consulte Implantar um aplicativo Python em contêiner no Serviço de Aplicativo.
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.
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.
-
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:
Uma conta do Azure onde você pode criar:
- Registo de Contentores Azure
- Serviço de Aplicações do Azure
- Azure Cosmos DB para MongoDB (ou acesso a um equivalente). Para criar um banco de dados do Azure Cosmos DB para MongoDB, siga as etapas na parte 2 deste tutorial.
Visual Studio Code ou CLI do Azure, dependendo da ferramenta de sua escolha. Se você usar o Visual Studio Code, precisará da extensão Docker e da extensão do Serviço de Aplicativo do Azure.
Estes pacotes Python:
- MongoDB Shell (mongosh) para conexão com o MongoDB.
- Flask ou Django como um framework web.
Docker instalado localmente.
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.
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.