Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a esta recomendación de lista de comprobación de excelencia operativa de buena arquitectura de Power Platform:
| OE:10 | Defina claramente las prácticas de implementación seguras de su carga de trabajo. Enfatice los ideales de métodos de lanzamiento pequeños, incrementales y con control de calidad. Utilice patrones de implementación modernos para controlar el riesgo. Tenga en cuenta las implementaciones rutinarias y las implementaciones de emergencia o de revisión. |
|---|
Esta guía describe las recomendaciones para utilizar prácticas de implementación seguras. Los procesos y procedimientos de implementación seguros definen cómo realizar e implementar cambios de forma segura en su carga de trabajo. Para implementarlas es necesario pensar en las implementaciones desde la perspectiva de la gestión de riesgos. Puede minimizar el riesgo de error humano en sus implementaciones y limitar los efectos de las implementaciones problemáticas en sus usuarios al implementar estas prácticas.
Estrategias clave de diseño
Hay pautas importantes a tener en cuenta al implementar prácticas de implementación seguras:
- Seguridad y coherencia: todos los cambios en la carga de trabajo de producción conllevan riesgos inherentes y deben realizarse centrándose en la seguridad y la coherencia.
- Modelos de estado: las implementaciones deben pasar controles de estado antes de comenzar cada fase de exposición progresiva.
- Detección de problemas: cuando se detectan problemas, se debe detener inmediatamente la implementación e iniciar la recuperación.
En las siguientes secciones se proporcionan recomendaciones detalladas sobre cada uno de estos puntos.
Seguridad y coherencia
Ya sea que esté implementando una actualización en el código de su aplicación, infraestructura como código (IaC), indicador de característica o configuración, está introduciendo un riesgo en la carga de trabajo. No hay implementaciones de bajo riesgo en producción. Cada implementación debe seguir un patrón estándar y debe automatizarse para imponer coherencia y minimizar el riesgo de error humano. Es fundamental que la cadena de suministro de su carga de trabajo y los canalizaciones de implementación sean fiables, seguros y tengan estándares de implementación claramente definidos. Trate cada implementación como un posible riesgo y someta cada implementación al mismo nivel de administración de riesgos.
A pesar de los riesgos, debe seguir implementando cambios periódicos en su carga de trabajo. No implementar actualizaciones periódicas introduce otros riesgos, como vulnerabilidades de seguridad que deben abordarse mediante implementaciones. Obtenga más información en Recomendaciones para diseñar una cadena de suministro de desarrollo de carga de trabajo.
Las implementaciones pequeñas y frecuentes son preferibles a las implementaciones grandes e infrecuentes. Los pequeños cambios son más fáciles de resolver cuando surgen problemas y las implementaciones frecuentes ayudan a su equipo a generar confianza en el proceso de implementación. También es importante que aprenda de producción revisando sus procesos de carga de trabajo cuando encuentre una anomalía durante la implementación. Es posible que encuentre debilidades en el diseño de su infraestructura o implementación. Cuando se produzcan problemas durante las implementaciones, asegúrese de integrar post mortems sin culpa en su proceso para extraer conclusiones sobre el incidente.
Modelos de estado
Desarrolle un modelo de estado sólido como parte de su plataforma de supervisión de observabilidad y sus estrategias de fiabilidad. Su modelo de estado debe proporcionar visibilidad detallada de los componentes y el estado general de la carga de trabajo. Supervise de cerca las métricas de estado después de una implementación. Si recibe una alerta sobre un cambio de estado durante la implementación, investigue el problema de inmediato y determine el siguiente curso de acción, como la reversión del cambio. Si los usuarios no notifican problemas y todos los indicadores de estado permanecen en verde, la implementación debería continuar. Asegúrese de incluir métricas de uso en su modelo de estado para ayudar a garantizar que la falta de problemas informados por los usuarios y las señales de estado negativas no oculten un problema. Obtenga más información en Recomendaciones para realizar análisis de modo de error.
Detección de problemas
Cuando su implementación produce un problema en uno de los grupos de implementación, la implementación debe detenerse inmediatamente. Investigue la causa del problema y la gravedad de los efectos tan pronto como se reciba la alerta. La recuperación del problema puede incluir:
- Revertir deshaciendo los cambios realizados en la implementación y revirtiendo a la última configuración funcional conocida.
- Seguir adelante abordando el problema durante la implementación. Puede solucionar problemas durante la implementación aplicando una revisión o minimizando el problema.
- Implementar nueva infraestructura utilizando la última configuración de trabajo conocida.
Revertir cambios, especialmente cambios en bases de datos, esquemas u otros componentes con estado, puede resultar complejo. Sus pautas de prácticas de implementación segura deben proporcionar instrucciones claras sobre cómo abordar los cambios de datos de acuerdo con el diseño del patrimonio de datos para su carga de trabajo. De manera similar, el avance debe manejarse con cuidado para garantizar que no se descuiden los procesos de implementación seguros y que las revisiones u otros esfuerzos de minimización se realicen de manera segura.
Recomendaciones generales
Implemente control de versiones en sus artefactos de compilación para ayudar a garantizar que pueda revertir y poner al día cuando sea necesario.
Utilice un flujo de lanzamiento o una estructura de bifurcación basada en ramas, que impone una colaboración estrechamente sincronizada en todo el equipo de desarrollo, en lugar de Gitflow o una estructura de bifurcación basada en entornos.
Automatice la mayor parte posible de sus prácticas de implementación segura. Obtenga más información en Recomendaciones para implementar la automatización.
Utilice prácticas de integración continua (CI) para integrar periódicamente cambios de código en los repositorios. Las prácticas de CI pueden ayudarle a identificar conflictos de integración y reducir la probabilidad de combinaciones grandes y arriesgadas. Obtenga más información en Recomendaciones para la integración continua.
Utilice marcas de características para habilitar o deshabilitar selectivamente nuevas características o cambios en producción. Las marcas de características pueden ayudarle a controlar la exposición de código nuevo y revertir rápidamente la implementación si surgen problemas.
Implemente cambios en entornos de ensayo que reflejen su entorno de producción. Los entornos de práctica le permiten probar los cambios en una configuración controlada antes de implementarlos en el entorno real.
Establezca controles previos a la implementación, incluida la revisión de código, análisis de seguridad y comprobaciones de cumplimiento, para ayudar a garantizar que los cambios sean seguros de implementar.
Implemente disyuntores para detener automáticamente el tráfico a un servicio que esté experimentando problemas y ayudar a prevenir una mayor degradación del sistema.
Protocolos de emergencia
Establezca protocolos prescriptivos que definan cómo se pueden ajustar sus procesos de implementación segura ante una revisión urgente o problemas de emergencia como una infracción de seguridad o exposición a una vulnerabilidad. Por ejemplo, sus protocolos de emergencia podrían incluir:
- Aceleración de fases de promoción y aprobación
- Aceleración de pruebas de humo y pruebas de integración
- Reducción del tiempo de integración
En algunos casos, la emergencia podría limitar los controles de calidad y prueba, pero los controles deben seguir ejecutándose lo más rápido posible como un ejercicio fuera de banda. Asegúrese de definir quién puede aprobar la aceleración de la implementación segura en caso de emergencia y los criterios que deben cumplirse para que se apruebe la aceleración. Alinee sus protocolos de emergencia con su plan de respuesta de emergencia para ayudar a garantizar que todas las emergencias se gestionan de acuerdo con los mismos protocolos.
Consideraciones
Desarrollar y mantener prácticas de implementación seguras es complejo. Su éxito en la implementación total de estándares sólidos depende de la madurez de las prácticas en muchas áreas del desarrollo de software. El uso de automatización, IaC únicamente para cambios de infraestructura, coherencia en las estrategias de ramificación, marcas de características y otras prácticas pueden ayudar a garantizar una implementación segura. Utilice esta guía para optimizar su carga de trabajo y elaborar planes de mejora a medida que evolucionan sus prácticas.
Facilitación de Power Platform
La página Implementación del Centro de administración de Power Platform proporciona una experiencia simplificada para ayudar a los administradores a navegar por las complejidades de administración de cargas de trabajo de administración del ciclo de vida de aplicaciones (ALM) de Power Platform, incluida la administración de implementaciones de canalizaciones a escala empresarial. Los administradores tienen visibilidad sobre todas las implementaciones de su inquilino y pueden aprobar solicitudes de implementación y solucionar problemas.
Las canalizaciones de Power Platform tienen el objetivo de democratizar la administración del ciclo de vida de la aplicación (ALM) para clientes de Power Platform y Dynamics 365 incorporando en el servicio capacidades de automatización de ALM y de integración continua y entrega continua (CI/CD). Las canalizaciones se pueden personalizar para satisfacer las necesidades únicas de una organización, por ejemplo, puede agregar aprobaciones, implementarlas a través de entidades de servicio e integrarse con sistemas internos de registro, Azure DevOps, GitHub, etc. Obtenga más información en Extensión de canalizaciones en Power Platform.
Microsoft Power Platform Build Tools para Azure DevOps se pueden usar para automatizar tareas comunes de compilación e implementación relacionadas con las aplicaciones desarrolladas en Power Platform.
Las Acciones de GitHub para Power Platform permiten a los desarrolladores crear flujos de trabajo de ciclo de vida de desarrollo de software automatizados. 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.
Automatización de pruebas con Azure Pipelines
Las variables de entorno de las soluciones almacenan las claves y los valores de los parámetros, que luego sirven como entrada para otros objetos de la aplicación. Separar los parámetros de los objetos consumidores le permite cambiar los valores dentro del mismo entorno o cuando migra soluciones a otros entornos.
Los entornos de Power Platform proporcionan una funcionalidad de restauración a un momento dado que puede ayudarle a revertir.