Principios de diseño de excelencia operativa
En el núcleo del pilar de excelencia operativa se encuentran las prácticas de DevOps que garantizan la calidad de la carga de trabajo a través de flujos de trabajo estandarizados y la cohesión del equipo. Este pilar define los procedimientos operativos para las prácticas de desarrollo, la observabilidad y la administración de versiones. El objetivo es minimizar la varianza del proceso, las posibilidades de error humano y la interrupción experimentada por los clientes. Para evaluar el estado operativo, comience con estas preguntas:
- ¿Ejecuta operaciones con disciplina?
- ¿Los clientes usan la carga de trabajo con una previsibilidad máxima?
- ¿Cómo aprende de la experiencia y los datos recopilados para impulsar la mejora continua?
Las operaciones de carga de trabajo pueden convertirse en prácticas caóticas cuando no existe un sentido de compromiso ni liderazgo claro. En este tipo de entorno, los equipos suelen recurrir a métodos que se ejecutan con un alto esfuerzo y producen resultados bajos, lo que conduce a una experiencia de usuario deficiente. Estos enfoques solo cumplen los objetivos a corto plazo. Las ventajas a largo plazo se realizan mediante la evaluación continua y las inversiones estratégicas.
Los principios de diseño proporcionan directrices para las estrategias operativas que se deben considerar para abordar las causas subyacentes y no solo tratar los síntomas. Comience con los enfoques recomendados y observe lo que funciona y lo que no identifica áreas de mejora. Después de establecer la estrategia, continúe impulsando la acción mediante la lista de comprobación de excelencia operativa.
Los requisitos operativos de una carga de trabajo son tan importantes como sus requisitos empresariales. Los procesos eficaces garantizan que la carga de trabajo logre resultados empresariales dentro de las restricciones de cumplimiento, tanto si ese cumplimiento es organizativo como externo. La clave es buscar repetibilidad con coherencia.
Los objetivos del pilar de excelencia operativa son hacer lo correcto, hacerlo de la manera correcta y resolver los problemas correctos como equipo.
Si cumple estos objetivos, las cargas de trabajo se ejecutarán de forma confiable y predecible incluso durante momentos de cambio. La incapacidad de cumplir los requisitos operativos puede provocar implementaciones con errores, una experiencia de usuario incoherente y costos adicionales que podrían haberse evitado mediante la planeación adecuada y la ejecución simplificada.
Adopción de la referencia cultural de DevOps
Permita a los equipos de desarrollo y operaciones mejorar continuamente el diseño y los procesos del sistema trabajando junto con una mentalidad de colaboración, responsabilidad compartida y propiedad. |
---|
DevOps es una comunidad de prácticas en la que la diversidad de perspectivas y aptitudes impulsa una misión. Los equipos deben fomentar un entorno colaborativo de conocimiento compartido en lugar de aprendizaje aislado. Use funciones compartidas para esforzarse por superar las restricciones de recursos.
Una buena referencia cultural de DevOps se basa en la responsabilidad compartida. Los equipos de desarrollo y operaciones deben alinear sus objetivos y prioridades con las expectativas de sus clientes y tener el enfoque empresarial en mente. El equipo de desarrollo debe implicar al equipo de operaciones en el bucle de comentarios para que las mejoras se impulsen en sentido ascendente y los demás equipos se beneficien por igual. Por su parte, los equipos de operaciones son responsables de que el equipo de desarrollo obtenga buenos resultados empresariales compartiendo recursos y comentarios que sean relevantes para la carga de trabajo.
Al mismo tiempo, las prácticas de DevOps aplican líneas claras de propiedad y responsabilidad a cada equipo. Independientemente de dónde se ejecute la aplicación, el equipo de carga de trabajo es responsable de esa aplicación.
DevOps optimiza las tareas operativas para que sean eficaces pero no pesadas. Para aprovechar todas las ventajas de DevOps, la referencia cultural debe optimizar los procesos a través de la tecnología y contar con procesos para que las personas de la organización promuevan una comunicación transparente.
Enfoque | Ventajas |
---|---|
Use sistemas y herramientas comunes que promuevan un entorno colaborativo para la comunicación y el seguimiento del progreso. | Las herramientas y los procesos comunes permiten la comunicación transparente. Tanto los equipos de desarrollo como los de operaciones se benefician del conocimiento de la situación en distintos entornos, de los problemas comunes de asistencia y de los retos y victorias generales. Los equipos ya estarán familiarizados con las rutas de escalación existentes si hay un incidente. Un trabajo pendiente compartido deja claras las prioridades, como trabajar en nuevas funciones o corregir errores. |
Cree una mentalidad de aprendizaje continuo y experimentación a lo largo del ciclo de desarrollo. Admitir el uso compartido de conocimientos entre equipos y mantener la documentación para su reutilización. Realice análisis sin culpa y debrief revisiones posteriores a la publicación o posteriores a los incidentes. |
Mediante mecanismos de experimentación, como las pruebas A/B y el desarrollo de pruebas de concepto, puede fomentar la innovación manteniendo los costes bajos. Comparta conocimientos mediante una colaboración que haga al equipo competente en enfoques de diseño, herramientas y procesos. Realizar retrospectivas después de un proyecto ayuda a identificar áreas para mejorar y celebrar el éxito. |
Adopte prácticas ágiles probadas del sector que se centren en la optimización de acciones. Busque oportunidades para "desplazarse a la izquierda" en operaciones para procesos manuales y automatizados, prácticas de implementación y control de calidad y observabilidad. |
Las prácticas de desarrollo ágiles conducen a ciclos de vida de versión más cortos, que son un indicador del valor empresarial. La detección, resolución y, por tanto, la prevención de problemas anteriores suele ser menos intrusiva para el proceso. |
Establezca estándares para todos los procedimientos operativos y de desarrollo y revise y valide los mismos con una cadencia regular. Estos procedimientos incluyen tareas rutinarias, procesos fuera de banda, simulacros y situaciones de emergencia, elección de herramientas, procedimientos de supervisión, planes de aptitudes e incluso comunicación con las partes interesadas y divulgaciones de clientes. Sea intencional y explícito sobre sus decisiones. |
Los estándares agregan predictibilidad a las operaciones y hacen que los procesos y prácticas sean escalables. Validar estándares es una excelente manera de dibujar puntos de mejora. Prepárese para situaciones de emergencia y recuperación mediante la realización de simulacros regulares. Ejecute con precisión y habilite la gobernanza para evitar anomalías que conducen a riesgos. |
Aproveche las ventajas de los equipos de operaciones centralizados con aptitudes especializadas y amplitud de experiencia. | Hay una ventaja de costo para usar recursos compartidos tanto para operaciones como para recursos. Aunque posee su carga de trabajo, el equipo centralizado le ayuda con aptitudes entre funciones, como la administración de incidentes, una perspectiva proactiva de la supervisión y la subcontratación de la experiencia con confianza. |
Establecimiento de estándares de desarrollo
Optimice la productividad mediante la estandarización de las prácticas de desarrollo, la aplicación de puertas de calidad y el seguimiento del progreso y el éxito mediante la administración sistemática de cambios. |
---|
El equipo de desarrollo es responsable de solucionar los problemas de carga de trabajo antes de liberarse con una fricción mínima. Tenga en cuenta la eficacia del desarrollador y optimice los ciclos de respuesta rápidos, desde la codificación hasta los resultados de las pruebas. Implemente procesos efectivos y de tamaño adecuado que planeen y normalicen las actividades técnicas y también impulsen el consenso dentro del equipo y las partes interesadas.
Enfoque | Ventajas |
---|---|
Documente las características de la carga de trabajo y capture las ventajas del cliente. Derive el ámbito y los requisitos funcionales y no funcionales detallados de la arquitectura. Cree modelos de estimación de tamaño para informar sobre el ámbito y el costo de las tareas implicadas. |
Las buenas especificaciones reducen los costos operativos y las posibilidades de error al admitir ciclos de desarrollo más productivos y optimizados. Los desarrolladores comprenden el diseño técnico, los objetivos y los criterios de finalización antes de iniciar el ciclo de codificación. Una buena documentación facilita la comunicación repetible y la incorporación de nuevos miembros del equipo. |
Use una metodología de desarrollo de software estándar del sector que se ajuste adecuadamente a las necesidades de la carga de trabajo y el tamaño del equipo. Mantenga un trabajo pendiente compartido entre todos los roles. |
La adopción de una metodología conocida establece el ritmo del proyecto. Elimina las ambigüedades del proceso al proporcionar a los miembros del equipo expectativas y responsabilidades claras. Mediante el seguimiento de una lista común, las tareas se pueden refinar y priorizar con prácticas estándar. El proyecto tendrá más posibilidades de entregarse a tiempo. Las metodologías estándar ayudan con la administración de riesgos. Con las revisiones de hitos pormenorizadas, los desarrolladores pueden abordar posibles problemas antes de convertirse en programadores. |
Use el control de código fuente unificado para todo el código, scripts, plantillas de implementación, definiciones de canalización y documentación relacionada. La estrategia de bifurcación debe admitir la liberación sin fricción de características independientes e interdependientes, correcciones de errores y revisiones. Use conocimientos compartidos en toda la organización para crear la estrategia de bifurcación y los procesos de implementación. |
El uso adecuado del control de código fuente es fundamental para admitir cambios simultáneos y control de versiones. Mantenga un flujo de trabajo repetible para liberar cambios de varios tamaños y riesgos, realizar revisiones del mismo nivel como parte del proceso y mantener una pista de auditoría. |
Tener procesos de control de calidad que resalten las pruebas al principio del ciclo de vida de desarrollo. Incluya todos los artefactos para los procedimientos de prueba planeados, incluidos los componentes de la aplicación, la infraestructura y las operaciones del plano de datos que forman parte de una versión o actualización de características. Trate los artefactos como inmutables cuando se promueven a través de entornos, ganando confianza cada vez que pasan a través de una puerta de calidad. En la medida de lo posible, automatice los controles rutinarios. |
La garantía de calidad garantiza que se cumplan los requisitos funcionales y no funcionales con confianza, lo que tiene un impacto positivo en el cliente. Tener planes de prueba garantiza la calidad y la integridad y toma en consideración posibles casos de error. Con las puertas de calidad, puede aplicar procedimientos recomendados para reducir los riesgos. La inmutabilidad aporta confianza porque garantiza que el sistema que pruebe es exactamente lo que libera. Los ciclos de prueba bloquean eficazmente el progreso a menos que se cumplan los criterios de calidad. |
Impulsar la coherencia mediante guías de estilo y herramientas, que aplican convenciones y adoptan una cadena de herramientas común para el desarrollo, las pruebas y la comunicación con las partes interesadas. Los estándares tecnológicos para desarrolladores deben requerir la implementación de patrones, diseño de API, registro, control de excepciones y otros procesos. |
La coherencia en el código impulsa la legibilidad y un mantenimiento más sencillo. También reduce la complejidad y habilita la reutilización del código. Las herramientas y convenciones comunes también ayudan a los equipos a optimizar los procesos sin necesidad de abordar las opciones puntuales. |
De forma coherente e deliberada insiste en la documentación del desarrollador del código como se escribe. | La documentación de código no cifrado garantiza que la lógica y la funcionalidad se comprendan fácilmente cuando se debe volver a consultar el código antiguo o cuando los equipos de desarrollo rotan. |
Informe del progreso y las tendencias para medir la eficacia. | Se publican tendencias en errores, actualizaciones con errores, tiempo de implementación, bucles de comentarios y otras métricas, y que impulsa mejoras. |
Evolución de las operaciones con observabilidad
Obtenga visibilidad del sistema, derive información y tome decisiones basadas en datos. |
---|
Cree una referencia cultural que mejore continuamente la calidad mediante la supervisión de la carga de trabajo y tomando en consideración todos los pilares del marco de trabajo de Azure Well-Architected. Permita que el equipo y las partes interesadas tomen decisiones a corto y largo plazo en muchas facetas al proporcionarles los datos, estadísticas y tendencias necesarios. Obtenga información sobre sus datos e impulse las mejoras.
Las operaciones creadas con fines de observabilidad son clave para el mantenimiento proactivo de la aplicación, la calidad y la seguridad, la planificación de la capacidad y la administración de productos.
Un aspecto fundamental de la supervisión es la aplicación que usa el modelado de estado para ayudarle a anticipar problemas antes de que se conviertan en incidentes y afecten a la experiencia del cliente. La supervisión eficaz reduce los ciclos reactivos invertidos en la administración de incidentes.
Enfoque | Ventajas |
---|---|
Cree un sistema de supervisión con su propia pila y flujos. Trate el sistema de supervisión como una dimensión de la carga de trabajo que se desacopla de su utilidad. La pila debe cubrir todas las capas, incluidos los procesos de infraestructura, estado de la aplicación y compilación y versión. La captura o el muestreo de datos empresariales están fuera del ámbito de las implementaciones de observabilidad. |
Desacoplar la supervisión y las pilas de cargas de trabajo para separar los requisitos funcionales y los requisitos de observabilidad y hacer posible la evolución independiente. Los cambios en el código no deben afectar a la supervisión y viceversa. Dado que los requisitos de observabilidad son independientes de los requisitos funcionales, los datos empresariales no se interrumpirán mediante la supervisión de cambios o interrupciones de configuración. |
Impulsar la coherencia en el proceso de recopilación para cada tipo de origen de datos. Normalice la instrumentación en el código mediante estándares del sector para la telemetría, la recopilación de métricas de infraestructura y las herramientas. |
La coherencia evita la varianza en la detección y medición porque la familiaridad entre recursos similares reduce el tiempo invertido en correlacionar y analizar los datos. Tiene una perspectiva holística para anticipar problemas. |
Emita telemetría a partir del código de aplicación que correlaciona los puntos clave del flujo de ejecución y proporciona una vista de un extremo a otro en distintos niveles de granularidad. | Priorice las acciones en función del nivel de gravedad y comprenda el contexto según su detalle. Esta información es fundamental para solucionar problemas. |
Posee la responsabilidad de emitir y recopilar datos, incluso cuando varios equipos comparten los receptores de datos y los administran los equipos centrales. | Al localizar los datos de supervisión en el entorno de carga de trabajo, el equipo puede acceder a los registros y las métricas para abordar los problemas de la carga de trabajo. |
Recopile solo los datos suficientes y retendelo durante un tiempo suficiente. Tenga en cuenta los inconvenientes de costos asociados con el registro y el almacenamiento de datos. |
La recopilación intencionada de datos le ayuda a optimizar los costos financieros y operativos asociados con la recopilación de más datos de los que necesita. Minimice el ruido y evite un cálculo intensivo durante el análisis y reduzca el costo de almacenar los datos que ya no necesite. |
Distinga entre las distintas señales de supervisión: perfiles, registros, métricas y seguimientos. Use cada señal para el propósito correcto. Priorice el uso de métricas para desencadenar acciones que dependen de medidas numéricas. Use perfiles para obtener visibilidad de nivel inferior, como la asignación de memoria, en el sistema. Reserve el uso de registros y seguimientos para proporcionar contexto para flujos y dependencias. |
Mediante el uso de las señales para los fines adecuados, puede evitar la implementación ineficaz del sistema de supervisión. Por ejemplo, el uso de registros para acciones requiere el análisis. Es posible que pueda lograr los mismos objetivos más rápido con las métricas. |
Agregue y visualice los datos en los paneles para presentar los datos de supervisión que se adaptan a las audiencias y mantiene el contexto empresarial en mente. Use paneles situacionales para exponer datos para impulsar la concienciación entre las partes interesadas. Use paneles operativos y libros con funcionalidades de exploración en profundidad para actividades de operador como la respuesta a incidentes. Actualice con frecuencia los paneles y proporcione datos pormenorizados. |
Con las visualizaciones, puede analizar tendencias, realizar un seguimiento de los objetivos empresariales y administrar incidentes. Los paneles que se adaptan al interés del cliente hacen que la interpretación sea relevante y acelere el tiempo de detección y acción. |
Haga que las alertas sean accionables mediante la notificación a los roles responsable con descripciones estandarizadas y niveles de gravedad. Proporcione información que se intercala de varios orígenes y realice un seguimiento de las desviaciones de los objetivos empresariales. Desencadenar alertas solo para incidentes que requieren acción. Se esfuerzan por alertas proactivas y pensando que inician acciones antes de que un estado degradado se convierta en un error. |
Las alertas ponen la atención en eventos significativos definidos por la organización. Un buen sistema de alertas identifica las acciones y la gravedad y proporciona datos suficientes para impulsar la claridad y el propósito. Los operadores pueden iniciarse en la corrección sin demora. |
Implemente con confianza
Alcance el estado deseado de la implementación con predictibilidad. |
---|
Cree una cadena de suministro de cargas de trabajo que le permita alcanzar de forma coherente el objetivo de previsibilidad en todos los entornos, en las plataformas de hospedaje, las aplicaciones, los datos y los recursos de configuración de la carga de trabajo. El mecanismo de implementación debe ser capaz de automatización, pruebas, supervisión y control de versiones. Debe modularizarse y estar listo para ejecutarse a petición. No debe representarse como un proceso monolítico de un extremo a otro. La cadena de suministro no sirve necesariamente para una ejecución más rápida, sino para lograr coherencia y autodocumentación en varias iteraciones.
El equipo de carga de trabajo es responsable de la cadena de suministro en relación con su propia carga de trabajo.
Enfoque | Ventajas |
---|---|
Use infraestructura como código (IaC) para definir los aspectos repetibles de la cadena de suministro que están listas para producción. Opte por enfoques declarativos en lugar de métodos imperativos. |
Las tecnologías de IaC declarativa están diseñadas teniendo en cuenta la automatización y la reutilización. Puede descargar implementaciones de infraestructura de usuarios en herramientas y lograr una calidad coherente. Desde una perspectiva de la infraestructura, tener menos opciones tecnológicas elimina la varianza en las herramientas y facilita la detección del desfase de configuración. El mantenimiento también será más fácil. Si alinea opciones con el conjunto de aptitudes existente del equipo, el equipo puede adoptarlas fácilmente. |
Prepare al equipo para usar la tecnología iaC elegida. Obtenga información sobre su modelo de extensibilidad, funcionalidades y limitaciones. Aproveche la especialización dentro del equipo y los conocimientos compartidos dentro de la organización. |
La capacidad de desarrollo aumenta la productividad y fomenta un entorno de colaboración a través del aprendizaje compartido. Puede llenar huecos con formación en lugar de contratar. |
Siga las recomendaciones de software para el desarrollo y el mantenimiento de IaC. Modularizar con moderación. Evite abstracciones personalizadas o de bajo valor. Siga un enfoque en capas para reflejar diferentes ciclos de vida. Forme capas fundamentales en las que las capas inferiores permanecen constantes y las capas superiores cambian según sea necesario. Los artefactos de implementación, como archivos binarios de aplicación, plantillas de IaC y parámetros, forman parte de la superficie expuesta a ataques. Aplique garantías, como la administración de secretos, el control de acceso y otros principios del pilar seguridad. |
Los artefactos experimentan el mismo nivel de rigor de ingeniería que el código de aplicación. Los controles de calidad a través de revisiones y pruebas del mismo nivel le proporcionan confianza en la implementación. Un enfoque en capas facilita el mantenimiento y crea límites que establecen líneas claras de responsabilidad. Agregar controles de seguridad a artefactos ayuda a proteger el sistema durante el proceso de implementación. |
Desarrolle un manifiesto de implementación común que se use en todos los entornos. Use ese manifiesto como mecanismo predeterminado para proyectos de tipo greenfield, actualizaciones incrementales de cargas de trabajo o recuperación ante desastres. | Quite la sobrecarga de mantener varios recursos. Si hay un desastre, la recuperación será rápida y confiable porque puede implementar un manifiesto probado y probado en lugar de crear un entorno improvisado. |
Se esfuerza por la infraestructura inmutable y efímera que se implementa a través de la automatización de IaC. | Prohibir el desfase de configuración y hacer que la implementación sea idempotente. Este tipo de infraestructura elimina importantes cargas operativas, como la aplicación de revisiones. También beneficia a los escenarios de validación principales, como las implementaciones de infraestructura azul-verde. |
Nota:
Reduzca el ámbito de uso del portal solo a tareas de investigación que no se repitan.
Automatización de la eficiencia
Reemplace las tareas manuales repetitivas por la automatización de software que las completa más rápido, con mayor coherencia y precisión, y reduce los riesgos. |
---|
Es posible que la carga de trabajo tenga flujos de trabajo con procesos que impliquen a los miembros del equipo que realizan tareas rutinarias, repetitivas y lentas que realmente no necesitan intelecto humano. En función de la frecuencia, puede dedicar mucho tiempo a estos esfuerzos, invertir más tiempo a medida que crece la carga de trabajo. Además, estos procesos suelen ser propensos a errores debido a la involucración humana.
A través de la automatización, se ahorra tiempo, esfuerzo y dinero, y se evitan errores.
Enfoque | Ventajas |
---|---|
Evalúe todos los flujos de trabajo con respecto a los criterios que están en el nivel correcto de complejidad, esfuerzo, frecuencia, precisión, escalas de tiempo y duración. Automatice los flujos de trabajo en función de esa evaluación y priorice los flujos de trabajo con los resultados más altos esperados. Quite flujos de trabajo redundantes o agregue valor para justificar el esfuerzo humano. |
Puede reinvertir la capacidad del equipo en un trabajo de mayor valor y aumentar la productividad y la coherencia. La creación de un inventario de flujos de trabajo garantiza la automatización de las tareas adecuadas. La eliminación de tareas redundantes reduce la complejidad y los errores. |
Sea explícito sobre su decisión al evaluar si va a crear herramientas personalizadas o comprar software. Reserva la automatización de edificios para trabajos altamente especializados y de alto valor. |
Al comprar software fuera del estante y aprovechar el contrato de soporte técnico, ahorra costos de mantenimiento. Al compilar software, tiene más control y puede atender los casos de uso que son exclusivos de su equipo y carga de trabajo. Sin embargo, hay un impacto en el costo. La elección de herramientas aporta un nivel de normalización a las operaciones. Con el entrenamiento, puede lograr un nivel uniforme de preparación para la adopción. |
Diseñe los componentes de carga de trabajo para admitir las funcionalidades de automatización. | Evite la situación en la que la falta de automatización en el diseño del sistema promueve el antipatrón de tareas repetitivas, ralentiza el crecimiento y comienza a acumular deuda técnica. |
Trate toda la automatización como una dependencia crítica de la carga de trabajo. Adáptese al crecimiento esperado de la carga de trabajo. Las herramientas de automatización son una parte integral de la carga de trabajo, y deben cumplir los cinco pilares del marco de buena arquitectura. |
Diseñe el componente de automatización para resistir riesgos, como las amenazas de seguridad. Con los procedimientos recomendados aplicados, puede evitar la expansión de la implementación. La carga de trabajo seguirá funcionando con una garantía de alto nivel si esta dependencia se mantiene funcional y segura. |
Automatice a escala mediante la exploración de opciones más allá de la carga de trabajo. Favorece un modelo de "diseño una vez, se ejecuta en todas partes" proporcionando plantillas y marcos para incorporar nuevos proyectos y promover la reutilización de diseños e implementaciones existentes. |
Emplee métodos probados y probados y reduzca las posibilidades de error. |
Adopción de prácticas de implementación seguras
Implemente límites de protección en el proceso de implementación para minimizar el efecto de errores o condiciones inesperadas. |
---|
Durante el ciclo de desarrollo, los artefactos de carga de trabajo pasan por muchos cambios a medida que se implementan y prueban y a medida que se corrigen los errores.
El proceso de implementación debe seguir un procedimiento operativo estándar. Cualquier cambio debe implementarse con el mismo nivel de rigor. Este principio se aplica del mismo modo al código, la configuración y todos los artefactos relacionados. La clave es aplicar prácticas seguras lo antes posible para que tenga previsibilidad en producción. Incluso si los errores llegan a los clientes, debería poder implementar los cambios de recuperación lo antes posible.
Enfoque | Ventajas |
---|---|
Normalice el proceso para implementar cualquier cambio mediante procesos de implementación automatizados, como canalizaciones. Todos los entornos deben usar canalizaciones. Clasifique los recursos y las versiones por entorno para que sean fácilmente rastreables e identificables. |
Los métodos de implementación coherentes reducen los problemas causados por errores de proceso y varianza y permiten centrar su esfuerzo en los problemas de la carga de trabajo. La estandarización garantiza que la implementación se complete de forma segura, confiable y con repetibilidad. La clasificación facilita la visualización de registros de implementaciones y problemas anteriores que se han producido. Es posible que pueda usar esa información para acelerar las operaciones de reversión y puesta al día. |
Implemente pequeñas actualizaciones incrementales con una cadencia regular. | Las actualizaciones frecuentes, bien probadas y pequeñas facilitan la validación de la versión. Solucione problemas más rápidos con un impacto mínimo en el cliente debido a una superficie más pequeña. |
Pruebe las actualizaciones rigurosamente mediante diferentes mecanismos durante el ciclo de vida de desarrollo. | Detectar problemas en las primeras fases del desarrollo. Las correcciones iterativas y las prácticas de implementación coherentes hacen que los problemas se desactiven en el momento en que la actualización esté lista para producción. |
Implementar actualizaciones gradualmente, con diligencia debida. Use modelos de implementación que le proporcionen el control para aumentar progresivamente el número de instancias y clientes hasta que todos adopten la actualización de forma segura. |
Pruebe cada actualización de forma controlada para que los problemas se solucionen en una fase temprana de la producción. Evite implementar una actualización errónea que afecte a toda la base de clientes. Compruebe si la actualización es compatible con versiones anteriores y posteriores. |
Tener una estrategia de mitigación para recuperarse rápidamente de errores de implementación. La estrategia debe abarcar la toma de decisiones para revertir o avanzar en función de la importancia del problema. Tener procesos bien definidos y sistemas automatizados que pueden implementar rápidamente correcciones mediante las canalizaciones de implementación estándar. |
Reduzca la duración del posible impacto. Restaure el sistema a la versión de trabajo anterior o revierte a una versión que tenga correcciones que se hayan probado exhaustivamente. |
Tener un plan de reserva que restablezca el sistema a un estado de trabajo en caso de emergencia y para recuperarse de errores inesperados. Use esta estrategia solo cuando sea necesario y con aprobación. Esfuércese por mejorar el plan con el tiempo. |
Puede realizar un seguimiento rápido de las correcciones de alta prioridad, como la corrección de seguridad. Es posible que la canalización acelerada no tenga todas las comprobaciones de los procedimientos operativos estándar, pero obtendrá a los clientes una versión segura de la manera más rápida posible, lo que supera los errores de menor impacto. |
Pasos siguientes
Se recomienda revisar la lista de comprobación de excelencia operativa para explorar otros conceptos.