Compartir a través de


Información general: Aplicación web de Python en contenedor en Azure con MongoDB

En esta serie de tutoriales se muestra cómo incluir en contenedores una aplicación web de Python y, a continuación, ejecutarla localmente o implementarla en Azure App Service. App Service Web App for Containers le permite centrarse en la creación de contenedores sin preocuparse de administrar y mantener un orquestador de contenedores subyacente. Al compilar aplicaciones web, Azure App Service es una buena opción para realizar los primeros pasos con los contenedores. Esta aplicación web de contenedor puede usar una instancia local de MongoDB o MongoDB para Azure Cosmos DB para almacenar datos. Para obtener más información sobre el uso de contenedores en Azure, consulte Comparación de las opciones de contenedor de Azure.

En este tutorial:

Después de completar los artículos de esta serie de tutoriales, tendrá la base para la integración continua (CI) y la implementación continua (CD) de una aplicación web de Python en Azure.

Introducción al servicio

El diagrama de servicio que admite este tutorial muestra dos entornos: entorno de desarrollador y entorno de Azure. Resalta los servicios clave de Azure que se usan en el proceso de desarrollo.

Captura de pantalla de los servicios usados en el Tutorial: Aplicación de Python en contenedor en Azure.

Entorno para desarrolladores

Entre los componentes que admiten el entorno para desarrolladores de este tutorial se incluyen:

  • sistema de desarrollo local: un equipo personal que se usa para codificar, compilar y probar el contenedor de Docker.

  • contenedorización de Docker: Docker se emplea para empaquetar la aplicación y sus dependencias en un contenedor portátil.

  • Herramientas de desarrollo: incluye un editor de código y otras herramientas necesarias para el desarrollo de software.

  • instancia local de MongoDB: una base de datos local de MongoDB utilizada para el almacenamiento de datos durante el desarrollo.

  • Conexión de MongoDB: acceso a la base de datos local de MongoDB proporcionada a través de una cadena de conexión.

Entorno de Azure

Los componentes que admiten el entorno de Azure en este tutorial incluyen:

  • Azure App Service

    • En Azure App Service, Web App for Containers usa la tecnología de contenedor de Docker para proporcionar hospedaje de contenedores de imágenes integradas e imágenes personalizadas mediante Docker.
    • Web App for Containers usa un webhook en Azure Container Registry (ACR) para recibir notificaciones de nuevas imágenes. Cuando se inserta una nueva imagen en el registro, la notificación de webhook desencadena App Service para extraer la actualización y reiniciar la aplicación.
  • Registro de contenedores de Azure

    • Azure Container Registry permite almacenar y administrar imágenes de Docker y sus componentes en Azure. Proporciona un registro ubicado cerca de las implementaciones de Azure que ofrece la capacidad de controlar el acceso mediante los permisos y grupos de Microsoft Entra.

    • En este tutorial, Azure Container Registry es el origen del registro, pero también puede usar Docker Hub o un registro privado con modificaciones menores.

  • Azure Cosmos DB para MongoDB

    • Azure Cosmos DB para MongoDB es una base de datos NoSQL que se usa en este tutorial para el almacenamiento de datos.

    • La aplicación en contenedor se conecta y accede al recurso de Azure Cosmos DB mediante una cadena de conexión, que se almacena como una variable de entorno y se proporciona a la aplicación.

Autenticación

En este tutorial, creará una imagen de Docker localmente o en Azure y, a continuación, la implementará en Azure App Service. App Service extrae la imagen de contenedor de un repositorio de Azure Container Registry.

Para extraer imágenes del repositorio de forma segura, App Service usa una identidad administrada asignada por el sistema. Esta identidad administrada concede a la aplicación web permisos para interactuar con otros recursos de Azure, lo que elimina la necesidad de credenciales explícitas. En este tutorial, la identidad administrada se configura durante la instalación de App Service para usar una imagen de contenedor del registro.

La aplicación web de ejemplo del tutorial usa MongoDB para almacenar datos. El código de ejemplo se conecta a Azure Cosmos DB a través de una cadena de conexión.

Prerrequisitos

Para completar este tutorial, necesita lo siguiente:

Aplicación de ejemplo

El resultado final de este tutorial es una aplicación de revisión de restaurantes, implementada y en ejecución en Azure, que tiene un aspecto similar a la siguiente captura de pantalla.

Captura de pantalla de la aplicación de ejemplo creada a partir de la aplicación web en contenedor de Python que se usa en el Tutorial: Aplicación de Python en contenedor en Azure.

En este tutorial, creará una aplicación de revisión de restaurantes de Python que usa MongoDB para el almacenamiento de datos. Para ver una aplicación de ejemplo con PostgreSQL, consulte Creación e implementación de una aplicación web de Flask en Azure con una identidad administrada.

Paso siguiente