Planeamiento de la automatización de la plataforma y DevOps para Red Hat OpenShift en Azure
Obtenga consideraciones y recomendaciones de diseño para la automatización de la plataforma y DevOps para el acelerador de zonas de aterrizaje Red Hat OpenShift en Azure. Confíe en la automatización y los procedimientos recomendados generales de DevOps para planear su plataforma de DevOps altamente automatizada para Red Hat OpenShift en Azure.
Consideraciones de diseño
A medida que planee la automatización de la plataforma y DevOps para el acelerador de zonas de aterrizaje de Red Hat OpenShift en Azure, incluya estas consideraciones de diseño:
Tenga en cuenta las limitaciones del servicio de Azure y su entorno de integración continua y entrega continua (CI/CD) al escoger el enfoque de ingeniería y automatización. Para obtener un ejemplo, vea las limitaciones de uso de GitHub.
Al proteger el acceso a los entornos de desarrollo, pruebas, preguntas y respuestas y entornos de producción, evalúa las opciones de seguridad desde la perspectiva de CI/CD. Las implementaciones se producen automáticamente, por lo que debe asignar el control de acceso en consecuencia.
Considere la posibilidad de usar prefijos y sufijos con convenciones bien definidas para identificar de forma única cada recurso implementado. Las convenciones de nomenclatura evitan conflictos al implementar soluciones extra y ayudan a mejorar la agilidad y el rendimiento generales del equipo.
Realice un inventario de los flujos de trabajo para ayudarle a diseñar, actualizar e implementar la solución tanto en escenarios normales como en escenarios de aprovisionamiento de barras digitales. Para maximizar la familiaridad y la productividad, considere la posibilidad de asignar canalizaciones a flujos de trabajo.
Algunos ejemplos son:
- Implementación y actualizaciones del clúster
- Implementación y actualizaciones de aplicaciones
- Conmutación por error de recuperación ante desastres
- Implementaciones azul-verde
- Mantenimiento de entorno controlado
Considere la posibilidad de implementar una malla de servicio abierta habilitada para Azure Arc para agregar más funcionalidades de seguridad, cifrado y registro a las cargas de trabajo.
Considere la posibilidad de implementar otros recursos, como suscripciones, etiquetado y etiquetas, para admitir la experiencia de DevOps. Use estos recursos para realizar un seguimiento de las implementaciones y realizar un seguimiento de los artefactos relacionados.
Tenga en cuenta el efecto del cambio de paradigma de ganado y mascotas de DevOps. Cabe esperar que los pods y otros aspectos de Kubernetes sean efímeros. Alinee la infraestructura de automatización y canalización en consecuencia. No confíe en que las direcciones IP u otros recursos sean fijos o permanentes.
Recomendaciones de diseño
Use estas recomendaciones de diseño para planear la automatización de la plataforma y DevOps para RedHat OpenShift en Azure:
Use las canalizaciones o las acciones para lo siguiente:
- Maximice las prácticas aplicadas en todo el equipo.
- Quitar gran parte de la carga del nuevo desarrollo.
- Proporcionar capacidad de previsión y conclusiones sobre la calidad y la agilidad generales.
Implemente pronto y con frecuencia mediante canalizaciones programadas y basadas en desencadenador. Desencadenar canalizaciones que aseguren que los cambios pasan por una validación adecuada. Las canalizaciones programadas administran el comportamiento en entornos cambiantes.
Separe las implementaciones de la infraestructura de las implementaciones de aplicaciones. La infraestructura básica cambia con menos frecuencia que las aplicaciones. Trate cada tipo de implementación como un flujo de trabajo y una canalización independientes.
Implemente con opciones nativas de nube. Use la infraestructura como código para implementar la infraestructura. Use Helm y el patrón de operador en Kubernetes para implementar y mantener componentes nativos de Kubernetes.
Use GitOps para implementar y mantener aplicaciones. GitOps usa el repositorio de Git como la única fuente de verdad. Puede evitar el desfase de configuración y aumentar la productividad y la confiabilidad durante las reversiones y los procedimientos relacionados.
Considere también la posibilidad de usar GitOps de Red Hat OpenShift. GitOps de Red Hat OpenShift usa Argo CD para mantener los recursos del clúster y admitir CI/CD de la aplicación.
Use el proveedor de Azure Key Vault para el controlador Secrets Store CSI para proteger secretos, certificados y cadenas de conexión.
Maximice la simultaneidad de implementación maximizada evitando las opciones y los elementos de configuración codificados de forma rígida.
Confíe en convenciones conocidas entre implementaciones relacionadas con la infraestructura y las aplicaciones. Use controladores de admisión con la extensión de la Azure Policy para Kubernetes para Azure Arc para validar y aplicar convenciones entre otras directivas definidas.
Adopte un enfoque de DevOps de desplazamiento a la izquierda de forma coherente a través de la seguridad y la directiva:
- Seguridad: Añada herramientas de exploración de vulnerabilidades, como la exploración contenedores al principio de la canalización.
- Política: Use la directiva como código y aplique directivas como nativas de la nube mediante controladores de admisión.
Trate cada error o fallo como una oportunidad para automatizar y mejorar la calidad general de la solución. Integre este enfoque en el desplazamiento a la izquierda y el marco de trabajo de ingeniería de confiabilidad de sitios.