Compartir a través de


Recomendaciones para diseñar una cadena de suministro para el desarrollo de cargas de trabajo

Se aplica a esta recomendación de la lista de verificación de Excelencia Operacional Bien Diseñada: Power Platform

OE:06 Cree una cadena de suministro de cargas de trabajo que impulse los cambios propuestos a través de canalizaciones predecibles y automatizadas. Las canalizaciones prueban y promueven esos cambios en todos los entornos. Optimice un cadena de suministro para que su carga de trabajo sea confiable, segura, rentable y de alto rendimiento.

Esta guía describe las recomendaciones para diseñar una cadena de suministro para el desarrollo de cargas de trabajo basada en canalizaciones de integración continua y entrega continua (CI/CD). En las cargas de trabajo en la nube, una cadena de suministro es un conjunto estandarizado de herramientas y procesos que se utilizan para influir en la configuración y el cambio de carga de trabajo en todos los entornos. Desarrolle una cadena de suministro para garantizar que tenga un método estandarizado y predecible para mantener su carga de trabajo. Las canalizaciones de CI/CD son la manifestación de la cadena de suministro, pero debe tener una única cadena de suministro. Es posible que tenga varias canalizaciones que seguir tengan los mismos procesos y utilicen las mismas herramientas.

Incorpore una cadena de suministro para proteger su carga de trabajo de los daños que pueden ocurrir cuando no administra adecuadamente los cambios en la carga de trabajo. Mantente siempre atento al estado de tu carga de trabajo, para que no corras el riesgo de experimentar un comportamiento impredecible. Este riesgo se agrava si es necesario dedicar un tiempo crítico a rastrear cambios no contabilizados cuando surgen problemas. Para minimizar estos riesgos, estandarice los procesos y las herramientas que definen su cadena de suministro y asegúrese de que su equipo de carga de trabajo se comprometa plenamente con su uso.

Estrategias clave de diseño

Las siguientes recomendaciones pueden ayudarle a definir los principios básicos de su cadena de suministro.

Realice propuestas de cambios en la carga de trabajo a través de procesos y herramientas de la cadena de suministro. Aplique una directiva estricta de implementaciones automatizadas basadas en plantillas. Este método ayuda a garantizar que la configuración de su carga de trabajo en todos los entornos esté estandarizada, bien definida y estrictamente controlada. Para entornos en una cadena de promoción de código, no realice actualizaciones mediante procesos manuales ni interacción humana. Incorpore todos los cambios al entorno a través de una canalización siguiendo las prácticas de implementación que usted defina. Para hacer cumplir esta política, considere limitar el acceso a solo lectura de forma predeterminada y utilizar una puerta de autorización de acceso para permitir el acceso de escritura.

Un aspecto importante de este principio es que todos los cambios son cambios propuestos hasta que se implementen en producción. A través de pruebas automatizadas, como la integración y las pruebas de humo, permite que su cadena de suministro rechace cambios automáticamente.

Utilice un conjunto de recursos y artefactos de código en todos los entornos y canalizaciones. Un problema común para las organizaciones se produce cuando los entornos no de producción son diferentes de los entornos de producción. La creación manual de entornos de producción y no producción puede dar lugar a configuraciones no coincidentes entre los entornos. Este desajuste ralentiza las pruebas y aumenta la probabilidad de que los cambios dañen un sistema de producción.

Refleje su estructura organizativa en los diseños de su cadena de suministro y canalizaciones. Su organización podría estar aislada entre los equipos. Cada equipo podría administrar una parte de la cadena de suministro. Por ejemplo, muchas organizaciones tienen equipos que administran la configuración de seguridad y cumplimiento, o configuraciones del entorno. Estos equipos son independientes de los equipos de desarrollo que administran el desarrollo, las pruebas y las implementaciones de aplicaciones. Hay muchas formas de organizar los equipos que participan en una cadena de suministro. Su cadena de suministro depende de que todos los equipos trabajen juntos a la perfección. Asegúrese de que todos los equipos sigan procesos estándar y utilicen herramientas estándar para que la cadena de suministro sea lo más eficiente posible.

Es posible que su cadena de suministro dependa de proveedores externos si subcontrata partes del ciclo de vida de la carga de trabajo. Estos proveedores son tan fundamentales para el éxito de su cadena de suministro como los recursos internos. Asegúrese de que haya un acuerdo mutuo entre todos los equipos sobre los procesos y herramientas que utiliza.

Estandarice su método de implementación. Hable con el propietario del producto sobre el periodo aceptable de tiempo de inactividad de producción para su carga de trabajo. Dependiendo de cuánto tiempo de inactividad sea aceptable, si corresponde, puede elegir el método de implementación adecuado para sus necesidades. Lo ideal sería realizar implementaciones durante una ventana de mantenimiento para reducir la complejidad y el riesgo.

Planifique una estrategia de prueba integral. Un principio fundamental de la confiabilidad del sistema es el principio de “desplazamiento a la izquierda”. Desarrollar e implementar una aplicación es un proceso que se describe como una serie de pasos que van de izquierda a derecha. No debe limitar las pruebas al final del proceso. En la medida de lo posible, mueva las pruebas al principio o hacia la izquierda. Los errores son más baratos de reparar cuando se detectan a tiempo. Pueden ser costosos o imposibles de solucionar más adelante en el ciclo de vida de la aplicación.

Cuando sea posible, utilice pruebas automatizadas para garantizar la coherencia. Incluya los siguientes tipos de pruebas en el diseño de su cadena de suministro:

  • Pruebas unitarias: las pruebas unitarias normalmente se ejecutan como parte de una rutina de integración continua. Las pruebas unitarias deben ser extensas y rápidas. Lo ideal es que cubran el 100 % del código. Aplique pruebas unitarias a todos los activos de código, incluidas plantillas y scripts.

  • Prueba de humo: las pruebas de humo verifican que una carga de trabajo pueda soportar una prueba ambiente y funcione como se espera. Las pruebas de humo no verifican la interoperabilidad de los componentes. Las pruebas de humo verifican que la metodología de implementación para la infraestructura y la aplicación funcione y que el sistema responda según lo previsto una vez finalizado el proceso.

  • Pruebas de integración: las pruebas de integración garantizan que los componentes de la aplicación funcionen individualmente y luego determinan si los componentes pueden interactuar entre sí como deberían. Puede llevar un periodo considerable de tiempo ejecutar un gran conjunto de pruebas de integración. Por eso es mejor incorporar el principio de desplazamiento a la izquierda y realizar pruebas temprano en el ciclo de vida del desarrollo de software. Reserve las pruebas de integración para escenarios que no pueda probar con una prueba de humo ni una prueba unitaria. Puede ejecutar procesos de prueba de larga duración en intervalos regulares si es necesario. Un intervalo regular ofrece un buen equilibrio y detecta problemas de interoperabilidad entre los componentes de la aplicación como mucho un día después de su introducción. Algunos escenarios de prueba se benefician de las ejecuciones manuales. Utilice pruebas manuales cuando necesite introducir elementos de interactividad humana en las pruebas.

  • Pruebas de aceptación: según el contexto, puede realizar pruebas de aceptación manualmente. Puede estar parcial o totalmente automatizada. Las pruebas de aceptación determinan si el sistema de software cumple las especificaciones de requisitos. El propósito principal de esta prueba es evaluar el cumplimiento del sistema con los requisitos del negocio y determinar si el sistema cumple con los criterios requeridos para su entrega a los usuarios.

Implemente puertas de calidad a lo largo de su proceso de promoción de código mediante pruebas. Implemente su código en entornos inferiores, como control de calidad y pruebas, y en entornos superiores, como almacenamiento provisional y producción. A medida que su implementación pasa por las puertas de calidad, asegúrese de que cumpla con sus objetivos de calidad antes de que los cambios pasen a producción. Los requisitos empresariales determinan cuál es el enfoque de sus puertas de calidad. Considere también los principios fundamentales de buena arquitectura: seguridad, confiabilidad y eficiencia del rendimiento. Power Platform

Integre también flujos de trabajo de aprobación en las puertas de calidad. Defina claramente y automatice los flujos de trabajo de aprobación cuando sea necesario. Defina criterios de aceptación de calidad en su automatización, para que pueda moverse por sus puertas de manera eficiente y segura.

Facilitación de Power Platform

Los pipelines tienen como objetivo democratizar la gestión del ciclo de vida de las aplicaciones (ALM) para los clientes de Dynamics 365 al incorporar automatización de ALM y capacidades de integración continua y entrega continua (CI/CD) al servicio. Power Platform Power Platform

Microsoft Power Platform Las herramientas de compilación para Azure DevOps se pueden usar para automatizar tareas comunes de compilación e implementación relacionadas con aplicaciones creadas en Power Platform.

Las acciones de GitHub permiten a los desarrolladores crear flujos de trabajo automatizados del ciclo de vida del desarrollo de software. Power Platform Con las Acciones de GitHub para Microsoft Power Platform, puede crear flujos de trabajo en su repositorio para crear, probar, empaquetar, lanzar e implementar aplicaciones, automatizar tareas y administrar bots y otros componentes integrados en Power Platform.

ALM Accelerator es una herramienta de código abierto que consta de un conjunto de aplicaciones, scripts y canales diseñados para automatizar el proceso de integración continua/entrega continua.

Automatice pruebas con Azure Pipelines.

Power Apps La API web del comprobador proporciona un mecanismo para ejecutar comprobaciones de análisis estático frente a personalizaciones y extensiones de la Microsoft Dataverse plataforma.

Microsoft Power Platform CLI(PAC CLI) es una herramienta de línea de comandos que admite la importación y exportación de soluciones, así como el empaquetado y desempaquetado de archivos fuente de soluciones. Power Platform Power Platform PAC CLI está disponible como una herramienta de línea de comandos independiente o como una extensión para Visual Studio Código.

Puede usar Terraform, Bicep y Azure Resource Manager para implementaciones de infraestructura inmutable como código (IaC). En función de sus requisitos y de la familiaridad de su equipo con las herramientas, podría usar una o varias de estas herramientas para sus implementaciones y la administración de los recursos.

Alineación de la organización

Cloud Adoption Framework proporciona orientación para que los equipos centrales proporcionen zonas de aterrizaje de cargas de trabajo. Las zonas de aterrizaje de la carga de trabajo son donde la aplicación personalizada cadena de suministro de la carga de trabajo implementa.

Obtenga más información en ¿Qué es una zona de aterrizaje de Azure? y los Principios de diseño de la zona de aterrizaje de Azure.

Pasos siguientes