Contenido del curso
Implementación de aplicaciones web de Azure App Service
En este módulo se aprenderá a desarrollar y desplegar aplicaciones web y APIs en Azure utilizando Azure App Service. Se revisarán las características del servicio, la configuración de aplicaciones, escalamiento automático y el uso de slots de despliegue para gestionar diferentes versiones de una aplicación.
0/8
Implementación de Azure Functions
Este módulo introduce el modelo de computación serverless en Azure mediante Azure Functions. Los estudiantes aprenderán cómo ejecutar código basado en eventos, utilizar diferentes tipos de triggers y bindings, y desarrollar soluciones altamente escalables sin necesidad de administrar servidores.
Desarrollo de soluciones que usan Azure Blob Storage
En este módulo se explorará cómo almacenar y gestionar grandes volúmenes de datos no estructurados en Azure. Se abordará la creación de contenedores, la carga y descarga de archivos, el control de acceso mediante SAS y el uso de bibliotecas SDK para integrar el almacenamiento en aplicaciones.
Desarrollo de soluciones que usan Azure Cosmos DB
Este módulo presenta el uso de bases de datos NoSQL en Azure para desarrollar aplicaciones modernas. Se revisarán conceptos como particionamiento de datos, niveles de consistencia, consultas y optimización del rendimiento en aplicaciones que requieren alta disponibilidad y escalabilidad.
Implementación de soluciones en contenedores
En este módulo se aprenderá cómo empaquetar aplicaciones utilizando contenedores y desplegarlas en Azure mediante servicios como Azure Container Instances y Azure Container Apps. Se revisarán conceptos de contenedorización, despliegue y escalamiento de aplicaciones modernas.
Implementación de la autenticación y autorización de usuarios
Este módulo aborda la implementación de mecanismos de autenticación y autorización en aplicaciones cloud mediante Microsoft Entra ID. Se estudiarán conceptos de identidad, control de acceso, tokens y la integración de aplicaciones con servicios de identidad.
Implementación de soluciones en la nube seguras
En este módulo se analizarán las mejores prácticas para proteger aplicaciones y recursos en Azure. Se aprenderá a gestionar secretos, certificados y claves utilizando Azure Key Vault, así como a implementar mecanismos de seguridad para proteger datos y servicios.
Implementación de Azure API Management
Este módulo explica cómo publicar, proteger y administrar APIs en Azure utilizando Azure API Management. Los estudiantes aprenderán a crear gateways de API, aplicar políticas de seguridad, controlar el acceso a servicios y monitorear el uso de las APIs.
Desarrollo de soluciones basadas en eventos
En este módulo se presentará la arquitectura basada en eventos utilizando Azure Event Grid. Se explorará cómo los eventos permiten automatizar procesos, integrar servicios y construir aplicaciones reactivas en la nube.
Desarrollo de soluciones basadas en mensajes
Este módulo aborda el uso de mensajería para integrar aplicaciones y microservicios mediante Azure Service Bus. Se revisarán conceptos como colas, topics y suscripciones para construir sistemas desacoplados y altamente confiables.
Solución de problemas mediante Application Insights
En el módulo final se aprenderá a monitorear, diagnosticar y optimizar aplicaciones en producción utilizando Application Insights y otras herramientas de Azure Monitor. Se analizarán métricas, registros y telemetría para identificar problemas y mejorar el rendimiento de las aplicaciones.
AZ-204: Desarrollo de soluciones para Microsoft Azure

Implementación en App Service

Cada equipo de desarrollo tiene requisitos únicos que pueden dificultar la implementación de una canalización de implementación eficaz en cualquier servicio en la nube. App Service admite la implementación automatizada y manual.

Implementación automatizada

La implementación automatizada, o la implementación continua, es un proceso que se usa para insertar nuevas características y correcciones de errores en un patrón repetitivo y rápido con un efecto mínimo en los usuarios finales.

Azure App Service admite la implementación automatizada desde varios sistemas de control de código fuente como parte de una canalización de integración e implementación continuas (CI/CD). Están disponibles las opciones siguientes:

  • Azure DevOps Services: puede insertar el código en Azure DevOps Services, compilar el código en la nube, ejecutar las pruebas, generar una versión del código y, por último, insertar el código en una aplicación web de Azure.
  • GitHub: Azure admite la implementación automatizada directamente desde GitHub. Al conectar el repositorio de GitHub a Azure para la implementación automatizada, los cambios que se insertan en la rama de producción en GitHub se implementan automáticamente.
  • Bitbucket: Se admite Bitbucket, aunque GitHub y Azure DevOps se usan con más frecuencia y se integran mejor.

Implementación manual

Hay algunas opciones que puede usar para insertar el código en Azure de forma manual:

  • Git: las aplicaciones web de App Service incluyen una dirección URL de Git que puede agregar como repositorio remoto. Al insertar en el repositorio remoto, se implementa la aplicación.
  • CLIaz webapp up es una característica de la az interfaz de línea de comandos que empaqueta la aplicación e la implementa. A diferencia de otros métodos de implementación, az webapp up puede crear una nueva aplicación web de App Service automáticamente.
  • Zip deploy: Use curl o una utilidad HTTP similar para enviar un archivo ZIP con los archivos de la aplicación a App Service.
  • FTP/S: FTP o FTPS es una manera tradicional de insertar el código en muchos entornos de hospedaje, incluido App Service.

Nota:

App Service usa Kudu para implementaciones basadas en Git y zip. Kudu controla los desencadenadores de implementación y sincronización de archivos.

Uso de ranuras de implementación

Siempre que sea posible, use ranuras de implementación al implementar una nueva compilación de producción. Cuando se usa un nivel de plan de App Service Estándar o superior, puede implementar la aplicación en un entorno de ensayo y, a continuación, intercambiar los espacios de ensayo y producción. La operación de intercambio prepara las instancias de trabajo necesarias para que coincidan con la escala de producción, lo que elimina el tiempo de inactividad.

Código de implementación continua

Si el proyecto designa ramas para pruebas, control de calidad y almacenamiento provisional, cada una de esas ramas debe implementarse continuamente en un espacio de ensayo. Esto permite a las partes interesadas acceder y probar fácilmente la rama implementada.

Contenedores de implementación continua

Para contenedores personalizados de Azure Container Registry u otros registros de contenedor, implemente la imagen en un espacio de ensayo y cámbielo a producción para evitar tiempos de inactividad. La automatización es más compleja que la implementación de código porque debe introducir la imagen en un registro de contenedor y actualizar la etiqueta de imagen en la aplicación web.

  • Compilar y etiquetar la imagen: como parte de la canalización de compilación, etiquete la imagen con el identificador de confirmación de Git, la marca de tiempo u otra información identificable. Es mejor no usar la etiqueta predeterminada «latest». De lo contrario, es difícil realizar un seguimiento del código que se implementa actualmente, lo que dificulta mucho más la depuración.
  • Inserción de la imagen etiquetada: una vez creada y etiquetada la imagen, la canalización inserta la imagen en el registro de contenedor. En el paso siguiente, el espacio de implementación extraerá la imagen etiquetada del registro de contenedor.
  • Actualice la ranura de implementación con la nueva etiqueta de imagen: cuando se actualiza esta propiedad, el sitio se reinicia automáticamente y extrae la nueva imagen de contenedor.

Contenedores sidecar

En Azure App Service, puede agregar hasta nueve contenedores sidecar para cada aplicación de contenedor personalizada habilitada para sidecar. Los contenedores sidecar son compatibles con aplicaciones de contenedor personalizadas basadas en Linux y permiten la implementación de servicios y características adicionales sin que estén estrechamente acoplados al contenedor de aplicaciones principal. Por ejemplo, puede agregar servicios de supervisión, registro, configuración y redes como contenedores sidecar.

Puede agregar un contenedor sidecar a través del centro de implementación de en la página de administración de la aplicación.