Conceptos clave de Azure Deployment Environments

En este artículo, obtendrá información sobre los conceptos clave y los componentes de Azure Deployment Environments. Esta información le ayuda a implementar entornos para sus escenarios de manera más eficaz.

A medida que obtenga información sobre Deployment Environments, también encontrará componentes de Microsoft Dev Box, un servicio complementario que comparte determinados componentes de arquitectura. Dev Box proporciona a los desarrolladores una estación de trabajo de desarrollo basada en la nube (denominado cuadro de desarrollo) que está configurada con las herramientas que necesitan para su trabajo.

En este diagrama se muestran los componentes clave de Deployment Environments y cómo se relacionan entre sí. Puede obtener más información sobre cada uno de ellos en las secciones siguientes.

Diagrama que muestra los componentes clave de Deployment Environments.

Centros de desarrollo

Un centro de desarrollo es una colección de proyectos que requieren una configuración similar. Los centros de desarrollo permiten a los ingenieros de plataforma:

  • Use catálogos para administrar plantillas de infraestructura como código (IaC) que están disponibles para los proyectos.
  • Use tipos de entorno para configurar los tipos de entornos que los equipos de desarrollo pueden crear.

Microsoft Dev Box también usa centros de desarrollo para organizar los recursos. Una organización puede usar el mismo centro de desarrollo para ambos servicios.

Proyectos

En Deployment Environments, un proyecto representa un equipo o una función empresarial dentro de la organización. Al asociar un proyecto a un centro de desarrollo, todas las configuraciones del centro de desarrollo se aplicarán automáticamente al proyecto.

Cada proyecto se puede asociar solo a un centro de desarrollo. Los ingenieros de la plataforma pueden configurar entornos para un proyecto especificando qué tipos de entorno son adecuados para el equipo de desarrollo.

Para permitir que los desarrolladores creen sus propios entornos de implementación, debe proporcionar acceso a los proyectos para los desarrolladores mediante la asignación del rol de usuario Deployment Environments.

Puede configurar proyectos para Deployment Environments y proyectos para los recursos de Microsoft Dev Box en el mismo centro de desarrollo.

Entornos

Un entorno es una colección de recursos de Azure en la que se implementa la aplicación. Por ejemplo, para implementar una aplicación web, puede crear un entorno que conste de una instancia de Azure App Service, Azure Key Vault, Azure Cosmos DB y una cuenta de almacenamiento. Un entorno podría constar tanto de recursos de plataforma como servicio (PaaS) como de infraestructura como servicio (IaaS), como un clúster de Azure Kubernetes Service (AKS), máquinas virtuales y bases de datos.

Identidades

En Azure Deployment Environments, se usan las identidades administradas para proporcionar funcionalidades de elevación de privilegios. Las identidades le pueden ayudar a proporcionar funcionalidades de autoservicio a los equipos de desarrollo, sin darles acceso a las suscripciones de destino en las que se crean los recursos de Azure.

La identidad administrada que está asociada al centro de desarrollo necesita el permiso de acceso correcto para conectarse a los catálogos. Debe conceder acceso de colaborador y administrador de acceso de usuarios a las suscripciones de implementación de destino configuradas en el nivel de proyecto. El servicio Azure Deployment Environments usa la identidad administrada específica para realizar la implementación en nombre del desarrollador.

Tipos de entorno del centro de desarrollo

Puede definir los tipos de entornos que los equipos de desarrollo pueden crear, por ejemplo, de desarrollo, prueba, espacio aislado, preproducción o producción. Azure Deployment Environments proporciona la flexibilidad de asignar un nombre a los tipos de entorno según la nomenclatura que se utilice en su empresa. Puede configurar opciones para varios tipos de entorno en función de las necesidades específicas de los equipos de desarrollo.

Tipos de entorno de proyecto

Los tipos de entorno de proyecto son un subconjunto de los tipos de entorno que se configuran para el centro de desarrollo. Le ayudan a preconfigurar los tipos de entornos que pueden crear equipos de desarrollo específicos. Puede configurar la suscripción de destino en la que se crean los recursos de Azure por proyecto y por tipo de entorno.

Los tipos de entorno de proyecto le permiten aplicar automáticamente el conjunto de directivas adecuado en entornos y ayudan a abstraer los conceptos relacionados con la gobernanza en Azure de los equipos de desarrollo. El servicio también proporciona la flexibilidad para preconfigurar:

  • La identidad administrada que se usa para realizar la implementación.
  • Los niveles de acceso que obtendrán los equipos de desarrollo después de crear un entorno específico.

Catálogos

Los catálogos le ayudan a proporcionar un conjunto mantenido de plantillas de IaC para que los equipos de desarrollo creen entornos. Microsoft proporciona un catálogo de inicio rápido que contiene un conjunto de definiciones de entorno de ejemplo. Puede adjuntar el catálogo de inicio rápido a un centro de desarrollo para que estas definiciones de entorno estén disponibles para todos los proyectos asociados al centro de desarrollo. Puede modificar las definiciones del entorno de ejemplo para satisfacer sus necesidades.

Como alternativa, puede adjuntar su propio catálogo. Puede asociar un repositorio de GitHub o un repositorio de Azure DevOps Services como catálogo.

Los entornos de implementación examinan la carpeta especificada del repositorio para buscar las definiciones de entorno. A continuación, los entornos hacen que esas definiciones de entorno estén disponibles para todos los proyectos asociados al centro de desarrollo.

Definiciones de entorno

Una definición de entorno es una combinación de una plantilla de IaC y un archivo de entorno que actúa como manifiesto. La plantilla define el entorno, y el archivo de entorno proporciona metadatos sobre la plantilla. Los equipos de desarrollo usan los elementos que usted proporciona en el catálogo para crear entornos en Azure.

Nota:

Azure Deployment Environments usa plantillas de Azure Resource Manager (ARM).

Plantillas de ARM

Las plantillas de ARM le ayudan a implementar la IaC para las soluciones de Azure mediante la definición de la infraestructura y la configuración del proyecto, los recursos que se van a implementar y las propiedades de esos recursos.

Para conocer la estructura de una plantilla de ARM, las diferentes secciones de una plantilla y las propiedades que están disponibles en esas secciones, consulte Nociones sobre la estructura y la sintaxis de las plantillas de Azure Resource Manager.

Roles integrados

Azure Deployment Environments admite tres roles integrados:

  • Administrador de proyectos del centro de desarrollo: crea entornos y administrar los tipos de entorno de un proyecto.
  • Usuario de entornos de implementación: crea entornos basados en el acceso adecuado.
  • Lector de Deployment Environments: lee los entornos creados por otros usuarios.

Recursos compartidos con Microsoft Dev Box

Azure Deployment Environments y Microsoft Dev Box son servicios complementarios que comparten determinados componentes de arquitectura. Los centros de desarrollo y los proyectos son comunes a ambos servicios y ayudan a organizar los recursos de una empresa. Puede configurar proyectos para Azure Deployment Environments y proyectos para los recursos de Dev Box en el mismo centro de desarrollo.

Para obtener más información sobre los componentes comunes a Deployment Environments y Dev Box, consulte Componentes comunes a Microsoft Dev Box y Azure Deployment Environments.