Conceptos básicos de ALM con Microsoft Power Platform

Este artículo describe los componentes, herramientas y procesos necesarios para implementar la administración del ciclo de vida de la aplicación (ALM).

Entornos

Los entornos son un espacio para almacenar, administrar y compartir datos profesionales, aplicaciones y procesos empresariales de su organización. También sirven como contenedor para separar las aplicaciones que pueden tener distintos roles, requisitos de seguridad o públicos objetivos. Cada entorno puede tener solo una base de datos de Microsoft Dataverse. Más información: Información general sobre los entornos

Importante

Cuando crea un entorno, puede elegir instalar aplicaciones de Dynamics 365, como Dynamics 365 Sales y Dynamics 365 Marketing. Es importante determinar en ese momento si estas aplicaciones son necesarias o no porque no se podrán desinstalar o instalar más adelante. Si no va a crear estas aplicaciones y no las necesitará en el futuro, le recomendamos que no las instale en sus entornos. Esto ayudará a evitar complicaciones de dependencia cuando distribuya soluciones entre entornos.

Tipos de entornos utilizados en ALM

Si usa el centro de administración de Power Platform, puede crear estos tipos de entornos de Power Platform:

  • Espacio aislado: un entorno de espacio aislado es cualquier entorno de Dataverse que no sea de producción. Aislada de producción, un entorno de espacio aislado es el lugar para desarrollar y probar cambios en la aplicación con bajo riesgo. Los entornos de espacio aislado incluyen funciones que serían perjudiciales en un entorno de producción, como operaciones de restablecimiento, eliminación y copia. Más información: Administrar entornos de espacio aislado

  • Producción: el entorno donde las aplicaciones y otro software se ponen en funcionamiento para su uso previsto.

  • Desarrollador (formalmente llamado Comunidad). El plan de desarrollador de Power Apps le da acceso a la funcionalidad premium de Power Apps, Dataverse y Power Automate para uso individual. Este plan está diseñado principalmente para crear y hacer pruebas con Power Apps, Power Automate y Microsoft Dataverse o con fines de aprendizaje. Un entorno de desarrollador es un entorno de usuario único y no se puede usar para ejecutar o compartir aplicaciones de producción.

  • Predeterminado: se crea automáticamente un único entorno predeterminado para cada inquilino y todos los usuarios de ese inquilino lo comparten. El inquilino identifica al cliente, que puede tener una o más suscripciones y servicios de Microsoft asociados. Cada vez que un nuevo usuario se registra en Power Apps, se le agrega automáticamente al rol Creador de entornos del entorno predeterminado. El entorno predeterminado se crea en la región más cercana a la región predeterminada del inquilino de Microsoft Entra y se llama: "{Nombre del inquilino de Microsoft Entra} (predeterminado)"

Cree y use el entorno correcto para un propósito específico, como el desarrollo, las pruebas o la producción.

Para obtener más información sobre los entornos, consulte Información general de entornos.

¿Quién debería tener acceso?

Defina y administre la seguridad de sus recursos y datos en Microsoft Dataverse. Microsoft Power Platform proporciona roles de administrador a nivel de entorno para realizar tareas. Dataverse incluye roles de seguridad que definen el nivel de acceso a aplicaciones, componentes de aplicaciones y los recursos que los fabricantes y usuarios de aplicaciones tienen dentro de Dataverse.

Finalidad del entorno Roles que tienen acceso Comentarios
Desarrollo Creadores y desarrolladores de aplicaciones. Los usuarios de la aplicación no deberían tener acceso. Los desarrolladores requieren al menos el rol de seguridad de Creador de entornos para crear recursos.
Probar Administradores y personas que están realizando pruebas. Los creadores de aplicaciones, los desarrolladores y los usuarios de aplicaciones de producción no deberían tener acceso. Los usuarios de las pruebas deben tener los privilegios suficientes para realizar las pruebas.
Producción Administradores y usuario de la aplicación. Los usuarios deben tener suficiente acceso para realizar sus tareas para las aplicaciones que usan. Los creadores y los desarrolladores de aplicaciones no deberían tener acceso, o solo deberían tener privilegios a nivel de usuario.
Predeterminada De forma predeterminada, cada usuario en el inquilino puede crear y editar aplicaciones en un entorno de Dataverse predeterminado que tiene una base de datos. Se recomienda encarecidamente que cree entornos para un propósito específico y otorgue los roles y privilegios apropiados solo a aquellas personas que los necesitan.

Más información:

Soluciones

Las soluciones se usan para transportar aplicaciones y componentes desde un entorno a otro o para aplicar un conjunto de personalizaciones a aplicaciones existentes.

Las soluciones tienen estas características:

  • Incluyen metadatos y ciertas entidades con datos de configuración. Las soluciones no contienen ningún dato comercial.

  • Pueden contener muchos componentes diferentes de Microsoft Power Platform, como aplicaciones basadas en modelo, aplicaciones de lienzo, mapas del sitio, flujos, entidades, formularios, conectores personalizados, recursos web, conjuntos de opciones, gráficos y campos. Tenga en cuenta que no todas las entidades se pueden incluir en una solución. Por ejemplo, las tablas del sistema Usuario de la aplicación, API personalizada y Configuración de la organización no se pueden agregar a una solución.

  • Se empaquetan como una unidad para exportar e importar a otros entornos, o se deshacen y se registran en el control de origen como código fuente de los activos. Las soluciones también se utilizan para aplicar cambios a las soluciones existentes.

  • Las soluciones gestionadas se utilizan para implementar en cualquier entorno que no sea un entorno de desarrollo para esa solución. Esto incluye pruebas, pruebas de aceptación de usuario (UAT), pruebas de integración de sistemas (SIT) y entornos de producción. Las soluciones administradas se pueden reparar (actualizar, eliminar y se les pueden aplicar parches) independientemente de otras soluciones administradas en un entorno. Como práctica recomendada de ALM, un servidor de compilación debe generar soluciones administradas y considerarlas como un artefacto de compilación.

  • Las actualizaciones de una solución administrada se implementan en la versión anterior de solución administrada. Esto no crea una capa de solución adicional. No puede eliminar componentes mediante una actualización.

  • Un parche contiene solo los cambios para una solución administrada principal. Solo debe usar parches cuando realice pequeñas actualizaciones (similar a una revisión) y posiblemente deba desinstalarlo. Cuando se importan revisiones, se colocan en capas sobre la solución principal. No puede eliminar componentes mediante un parche.

  • La actualización de una solución instala una nueva capa de solución inmediatamente sobre la capa base y cualquier parche existente.

    • La aplicación de actualizaciones a la solución implica eliminar todos los parches existentes y la capa base.

    • Las actualizaciones de la solución eliminarán los componentes que existían pero que ya no se incluyen en la versión actualizada.

Más información: Conceptos de solución

Control de código fuente

El control de código fuente, también conocido como control de versiones, es un sistema que mantiene y almacena de forma segura los activos de desarrollo de software y realiza un seguimiento de los cambios en esos activos. El seguimiento de cambios es especialmente importante cuando varios fabricantes y desarrolladores de aplicaciones trabajan en el mismo conjunto de archivos. Un sistema de control de código fuente también le brinda la capacidad de revertir los cambios o restaurar los archivos eliminados.

Un sistema de control de código fuente ayuda a las organizaciones a lograr una ALM saludable porque los activos mantenidos en el sistema de control de código fuente son la "única fuente de verdadera" o, en otras palabras, el único punto de acceso y modificación para sus soluciones.

Estrategia de bifurcación y combinación

Casi todos los sistemas de control de código fuente tienen algún tipo de soporte de ramificación y fusión. Ramificar significa que diverge de la línea principal de desarrollo y continúa trabajando sin cambiar la línea principal. El proceso de combinación consiste en combinar una rama con otra, como una rama de desarrollo con una rama de línea principal. Algunas estrategias de bifurcación comunes son la bifurcación basada en ramas, la bifurcación de publicación y la bifurcación de características. Más información: Adoptar una estrategia de rama de Git

Proceso de control de código fuente usando una solución

Hay dos rutas principales que puede usar al trabajar con soluciones en un sistema de control de código fuente:

  • Exporte la solución no administrada y colóquela como desempaquetada en el sistema de control de código fuente. El proceso de compilación importa la solución empaquetada como no administrada en un entorno de compilación temporal (entorno de espacio aislado). Luego, exporte la solución como se administrada y almacénela como un artefacto de compilación en su sistema de control de código fuente.
  • Exporte la solución como no administrada y también exporte la solución como administrada, y colóquelas en el sistema de control de código fuente. Aunque este método no requiere un entorno de compilación, requiere mantener dos copias de todos los componentes (una copia de todos los componentes no administrados de la solución no administrada y una copia de todos los componentes administrados de solución administrada).

Control de código fuente usando una solución.

Más información: Construir tareas de herramienta

Automatización

La automatización es una parte clave del ciclo de vida de la aplicación que mejora la productividad, la confiabilidad, la calidad y la eficiencia de ALM. Las herramientas y tareas de automatización se utilizan para validar, exportar, empacar, desempaquetar y exportar soluciones, además de crear y restablecer entornos sandbox.

Más información: ¿Qué son las herramientas de compilación de Microsoft Power Platform?

Desarrollo de equipo usando control de código fuente compartido

Es importante considerar cómo usted y su equipo de desarrollo trabajarán juntos para compilar el proyecto. Desglosar los silos y fomentar las vistas y las conversaciones puede permitir a su equipo ofrecer un mejor software. Algunas herramientas y flujos de trabajo, como los proporcionados en Git, GitHub y Azure DevOps, fueron diseñados con el propósito expreso de mejorar la comunicación y la calidad del software. Tenga en cuenta que trabajar con configuraciones en un sistema de soluciones puede crear desafíos para el desarrollo del equipo. Las organizaciones deben organizar los cambios de múltiples desarrolladores para evitar conflictos de combinación al máximo posible, porque los sistemas de control de código fuente tienen limitaciones sobre cómo ocurren las combinaciones. Se recomienda que evite situaciones en las que varias personas realizan cambios en componentes complejos, como formularios, flujos y aplicaciones de lienzo, al mismo tiempo.

Más información: Escenario 5: Apoyo al desarrollo del equipo

Integración e implementación continuas

Puede usar cualquier sistema de control de código fuente y crear una canalización para comenzar con una integración continua y una implementación continua (CI/CD). Sin embargo, esta guía se centra en GitHub y Azure DevOps. GitHub es una plataforma de desarrollo utilizada por millones de desarrolladores. Azure DevOps proporciona servicios de desarrollador para equipos de soporte para planificar el trabajo, colaborar en el desarrollo de código y crear e implementar aplicaciones.

Para empezar, necesita lo siguiente:

Más información: Crear su primera canalización

Licencias

Para crear o editar aplicaciones y flujos utilizando Power Apps y Power Automate, respectivamente, los usuarios deberán tener una licencia por usuario para Power Apps o Power Automate o una licencia de aplicación de Dynamics 365 adecuada. Para obtener más información, vea Descripción general de licencias para Microsoft Power Platform. También recomendamos contactar a su representante de cuenta Microsoft para discutir sus necesidades de licencia.

Consideraciones de ALM

Cuando considere un ALM como parte integral de la compilación de aplicaciones en Microsoft Power Platform, puede mejorar drásticamente la velocidad, la confiabilidad y la experiencia del usuario de la aplicación. También garantiza que múltiples desarrolladores, tanto desarrolladores tradicionales que escriben código como desarrolladores ciudadanos, puedan contribuir conjuntamente a la aplicación que se está creando.

Consulte los siguientes artículos que analizan varios elementos a tener en cuenta al comienzo del desarrollo de cualquier aplicación: