Unidad 11 / 11

Verificación de producción, estrategias de lanzamiento y flujo de trabajo de IA de extremo a extremo

Ganancias:

  • Comprender las estrategias de lanzamiento para reducir el riesgo (azul-verde, canario, indicador de características) y la disciplina de verificación del producto (verificación de estado, prueba de humo, monitoreo de señal dorada)
  • Capacidad para implementar el hábito de preparar un plan de reversión claro antes de la implementación y verificar rutas comerciales críticas después de la implementación.
  • Capacidad para combinar todas las partes aprendidas a lo largo del módulo en un flujo de trabajo de extremo a extremo respaldado por IA y aplicar el principio de "La IA produce, los humanos verifican y avalan" en cada paso.

Todo este módulo fluyó hacia un punto: la entrega segura de código e infraestructura a producción (el entorno en vivo utilizado por clientes reales). Ahora estamos en el eslabón más crítico y estresante de la cadena: hacer realidad un cambio y verificar que realmente funciona allí. Un error aquí no es abstracto: afecta directamente al cliente, los ingresos y la reputación. Es por eso que los equipos maduros pasan a producción no con "esperanzas" sino con estrategias de lanzamiento controladas y verificación sistemática.

En esta unidad final combinamos dos cosas: (1) métodos de liberación que reducen el riesgo (canario, azul-verde, bandera de características) y la disciplina de verificación de productos; (2) cómo cada pieza que aprendimos a lo largo del módulo (CI/CD, IaC, contenedor, monitoreo, incidente, costo, secuencia de comandos, seguridad) se combina en un único flujo de trabajo de extremo a extremo impulsado por IA. Repitamos la cita inicial por última vez: la IA genera y acelera borradores en cada paso; Pero eres tú quien presiona el botón "Estoy tomando esto en vivo" y da fe del resultado.

Lanzar estrategias que reduzcan el riesgo.

Impulsar un cambio a todos los usuarios al mismo tiempo es la forma más arriesgada. Métodos maduros:

  • Implementación azul-verde: se mantienen dos entornos idénticos: “azul” (en vivo) y “verde” (nueva versión). La nueva versión se prepara y prueba en verde, luego el tráfico cambia repentinamente a verde. Si hay un problema, el tráfico vuelve inmediatamente a azul. La reversión rápida es su mayor ventaja.
  • Implementación de Canary: la nueva versión se lanza primero a un pequeño porcentaje de usuarios (por ejemplo, 5%); Si las métricas son buenas, aumente gradualmente hasta el 100%. Un problema afecta a una pequeña parte del usuario, no a todo el usuario.
  • Bandera de característica: la nueva característica ingresa el código pero está bloqueada por una bandera; Está abierto a determinados usuarios cuando lo solicitan. Existe una distinción entre implementación y "liberación"; Si hay un problema, la bandera se desactiva sin revertir el código.
Consejo: La red de seguridad más rápida es tener lista una reversión antes de cada implementación. "Si algo sale mal, ¿cómo puedo volver a la versión anterior en 60 segundos?" Si no hay una respuesta clara a la pregunta, no está listo para realizar esa implementación.

Verificación de producción: el trabajo no termina cuando finaliza la implementación

El hecho de que una implementación parezca "verde" no significa que esté funcionando. Verificación sistemática:

  1. Comprobaciones de estado: ¿Está activo el servicio? ¿/healthz está respondiendo?
  2. Pruebas de humo: ¿funcionan realmente las pocas rutas de usuario más críticas (inicio de sesión, pago, búsqueda)? Automático y rápido.
  3. Esté atento a las señales doradas: tasa de error posterior a la implementación, latencia, ¿el tráfico es normal? (Cuatro señales en la unidad 6.)
  4. Expanda gradualmente: observe las métricas en cada paso a medida que aumenta el porcentaje de Canary.
  5. Ventana de observación: supervise de cerca durante un período de tiempo (por ejemplo, 30 minutos) después del despliegue; Los problemas insidiosos no son visibles de inmediato.
Precaución: La IA puede producir una lista de pruebas de humo o verificaciones, pero es su trabajo determinar qué rutas de usuario son "críticas". AI da una lista general; Sólo usted sabe que su flujo de pagos, su vía de mayor generación de ingresos, debe ser puesto a prueba.

Comparación de estrategias de lanzamiento

Estrategia

Ventaja principal

Costo/complejidad

más adecuado

Azul-Verde

Reversión instantánea

Dos entornos = 2x recursos

Si la recuperación rápida es fundamental

canario

Limita el impacto a una porción pequeña

Se requiere gestión del tráfico

Enorme base de usuarios

CaracterísticaFlag

Separa la implementación del lanzamiento

Deuda de gestión de bandera

Apertura gradual/orientada

Actualización continua

Sencillo y amigable con los recursos

retroceso lento

Servicios simples

Flujo de trabajo de extremo a extremo impulsado por IA

Ahora combinemos todo el módulo en un solo flujo. Supongamos que está publicando un nuevo microservicio. La IA produce borradores en cada paso; verificas en cada paso:

  1. Código y contenedor (Unidad 4): la IA produce un Dockerfile seguro y optimizado; Verificas el no secreto y el tamaño.
  2. CI/CD (Unidad 2): escribe la canalización de prueba, construcción e implementación de IA; Reduce los permisos y comprueba las referencias secretas.
  3. Infraestructura (Unidad 3): Define los recursos requeridos con AI Terraform; Lee el resultado del plan y no busca eliminaciones inesperadas.
  4. Orquestación (Unidad 5): la IA produce manifiestos de Kubernetes; verifica el límite de recursos, la sonda y el RBAC.
  5. Seguridad (Unidad 10): Prioriza los resultados del escaneo de IA; Primero tomas los explotables.
  6. Monitoreo (Unidad 6): La IA genera reglas de alarma y panel de control; Pruebas los umbrales con tus datos pasados.
  7. Lanzamiento y validación (esta unidad): describe la prueba de humo de IA y el plan de reversión; inicias canary, miras las métricas, presionas el botón.
  8. Si ocurre un incidente (Unidad 7): la IA genera hipótesis y boceto post mortem; Verificas y aprendes las lecciones.
  9. Costo (Unidad 8): La IA monitorea el desperdicio de nuevos recursos; Tomas las decisiones correctas sobre el tamaño.

En cada paso, la regla común permanece constante: la IA produce y acelera, los humanos verifican y avalan. Esta es la esencia del módulo.

tres mini casos

Caso 1: Canarias limitó un desastre al 5%. Un equipo entregó la nueva versión al 5% de usuarios con canary. El panel que la IA produjo inmediatamente mostró que la tasa de error saltó al 8% en este segmento. El equipo lo recuperó sin aumentarlo al 100%; El problema sólo afectó al 5% de los usuarios, y eso fue por unos minutos. Si hubiera una implementación a gran escala, todos los clientes se verían afectados.

Caso 2: la prueba de humo detectó el camino faltante. AI ofreció un equipo de prueba de humo, pero no tenía un flujo de "pago". El ingeniero lo añadió sabiendo que el flujo de ingresos más importante era el pago. La prueba posterior a la implementación falló justo en el paso de pago: una clave de terceros había caducado. La verificación detectó una pérdida silenciosa de ingresos en cuestión de minutos.

Caso 3: reversión lista guardada en 90 segundos. Un equipo que instaló azul-verde llevó la nueva versión al verde; Después de 2 minutos el retraso se duplicó. Convirtieron el tráfico en azul en 90 segundos con la reversión que prepararon de antemano. Encontraron la causa raíz (una consulta lenta en la nueva versión) no bajo presión, sino con calma. El camino de retroceso listo hizo que la interrupción fuera casi invisible.

Cuatro plantillas copiables

1) Selección de estrategia de lanzamiento:

Impulsaré el siguiente servicio: [SERVICIO/CONTEXTO: número de usuarios, tolerancia a interrupciones, infraestructura]. ¿Cuál recomiendas entre las banderas azul-verde, canaria y característica? Compare las ventajas, los costos y la velocidad de reversión de cada uno en este contexto. Da una sugerencia, pero afirma que yo tomaré la decisión final.

2) Prueba de humo/lista de verificación:

Producir un borrador de prueba de humo y lista de verificación para [SERVICIO] que ejecutaré después de la implementación: verificación de estado, las rutas de usuario más críticas, ¿qué métricas debo monitorear durante cuántos minutos? Supongamos que marcaré las rutas comerciales más críticas y dejaré ese campo en blanco.

3) Plan de reversión:

Yo uso [MÉTODO DE IMPLEMENTACIÓN]. Escríbame un plan de reversión claro: ¿con qué comando/paso puedo revertir a la versión anterior, cuánto tiempo lleva, cuáles son los riesgos de la reversión en sí (por ejemplo, la migración de la base de datos no se puede revertir), qué debo verificar antes de la reversión?

4) Lista de verificación de lanzamiento de un extremo a otro:

Produzca una lista de verificación de preparación de un extremo a otro para su lanzamiento en un nuevo proyecto de [SERVICIO]: seguridad de código/imagen, canalización, plan de infraestructura, monitoreo y alarmas, escaneo de seguridad, estrategia de lanzamiento, reversión y verificación. Marque cada elemento con la pregunta "¿Estoy listo?" Conviértelo en una pregunta.

Aviso débil / Aviso fuerte

Débil: "¿Cómo puedo introducir esto en el producto?"

Resultado: sin contexto; La IA enumera los pasos generales de implementación, pero no aborda su tolerancia al riesgo, la escala de usuarios ni la necesidad de reversión.

Güçlü: "Promocionaré un servicio de pago con 10 millones de usuarios, mi tolerancia al tiempo de inactividad es muy baja. ¿Recomiendas Canary o Blue-Green, por qué? ¿Qué rutas críticas debo probar después de la implementación, qué métricas debo monitorear durante cuántos minutos y cómo debería ser un plan de reversión de 60 segundos? Yo tomaré la decisión final".

Diferencia: el segundo mensaje proporciona la escala, la tolerancia y la expectativa de reversión; Requiere estrategia + verificación + deshacer y deja la decisión en manos del humano.

Errores comunes

  • Implementación sin un plan de reversión. Si no hay vuelta atrás, cada despliegue es una apuesta.
  • Despliegue a gran escala. Dárselo a todo el usuario a la vez maximiza el riesgo.
  • Suponiendo "verde = funcionando". El servicio que pasó la verificación de estado puede estar roto en la ruta crítica.
  • Pensar que estás dejando caminos comerciales críticos a la IA. Debes marcar los métodos como el pago.
  • No realizar seguimiento después de la implementación. Los problemas insidiosos no aparecen en el primer minuto; Se requiere ventana de observación.
  • Pensar que la migración de bases de datos es reversible. Algunos cambios no se revierten; se planifican por separado.

En resumen

Ir a prod es el eslabón más crítico de la cadena y no se hace con "esperanzas", sino con estrategias controladas: el azul-verde proporciona una reversión inmediata, limitando el efecto canario a una pequeña porción, separando la implementación de indicadores de funciones del lanzamiento. El trabajo no termina cuando finaliza el despliegue; La verificación sistemática mediante controles de salud, pruebas de humo y monitoreo de la señal dorada es esencial. La IA genera y acelera borradores en cada paso a lo largo de todo el módulo: desde Dockerfile hasta pipeline, desde Terraform hasta regla de alarma, desde post mortem hasta análisis de costos. Pero sigue siendo la persona competente la que verifica cada paso, pulsa el botón de puesta en marcha y garantiza el resultado. Esta es la regla de oro de DevOps impulsado por IA de extremo a extremo.

Tarea de aplicación

Elija un servicio (real o ficticio) para publicar. (1) Elija una estrategia que se ajuste a su contexto con la plantilla “Selección de estrategia de lanzamiento” y escriba por qué. (2) Genere una lista de verificación con la plantilla "Prueba de humo/lista de verificación" y agregue usted mismo las rutas comerciales más críticas. (3) Prepare un plan de reversión de 60 segundos con la plantilla "Plan de reversión" y verifique si contiene pasos irreversibles.

lista de verificación

  • [] Elegí una estrategia de lanzamiento (canario/azul-verde/bandera) que se adapta a mi contexto.
  • [] Tengo un plan de reversión claro y rápido listo antes de la implementación.
  • [] Yo mismo agregué las rutas comerciales más críticas (por ejemplo, pago) a mis pruebas de humo.
  • [] Después del despliegue, superviso las señales doradas a través de una ventana de observación.
  • [] También planeé pasos irreversibles (migración de bases de datos, etc.).
  • [] Verifiqué el modelo de IA en cada paso; Tomé la decisión de irme a vivir.

Examen del módulo

1. ¿Cuál de las siguientes opciones es el mejor posicionamiento para DevOps e IA en la nube?

  • A) La inteligencia artificial es una herramienta auxiliar y de apoyo a las decisiones; Las personas son responsables de las decisiones críticas que afectan el producto ✔
  • B) La inteligencia artificial puede finalizar los despliegues de prod y la rotación secreta sin la aprobación humana
  • C) La inteligencia artificial sólo sirve para escribir documentación, no tiene nada que ver con infraestructura
  • D) La auditoría es innecesaria porque la inteligencia artificial siempre produce comandos más confiables que el ingeniero

Descripción: Es una herramienta asistente y de apoyo a la toma de decisiones que acelera las tareas con uso intensivo de texto, como la canalización, la configuración, el script y el registro de inteligencia artificial. La responsabilidad de las decisiones que afectan el tiempo de inactividad, el dinero y la seguridad, como el lanzamiento de producción, la gestión secreta y la aplicación final, recae en el ingeniero competente.

2. ¿Cuál es la expresión más precisa para la disciplina de verificación antes de implementar un comando o configuración DevOps producida por inteligencia artificial?

  • A) Si la salida parece fluida y segura, se puede ejecutar directamente en prod.
  • B) La salida es segura sólo si no hay errores de sintaxis, no se requieren más comprobaciones
  • C) Conecte la salida a la fuente, planifique/ejecute en seco y filtre con el contexto de su sistema; luego aplica ✔
  • D) Hacer el primer intento directamente en el producto y observar el resultado es la verificación más rápida.

Explicación: La verificación de tres pasos es esencial: conectar la salida a la fuente (es el comando/marca en realidad en los documentos oficiales), ejecutarlo en seco (ver qué sucede con el plan/--ejecución en seco) y pasarlo a través del filtro del sistema (si encaja dentro de su contexto arquitectónico y de seguridad). La fluidez no significa precisión.

3. ¿Cuál es el enfoque correcto cuando se pregunta a la inteligencia artificial sobre un error o un problema de implementación con un archivo .env que contiene una contraseña de base de datos real?

  • A) Enmascarar secretos reales con <PLACEHOLDER>; compartir solo error y contexto enmascarados ✔
  • B) Pegar todo el archivo .env tal como está resuelve el problema más rápido
  • C) Dado que los secretos ya son base64, es seguro pegarlos sin formato.
  • D) Pegar la contraseña es seguro porque la inteligencia artificial nunca la almacena

Descripción: No se pegan secretos reales en el mensaje de IA. Valores como contraseñas y tokens se enmascaran con <PLACEHOLDER>; sólo se comparten el mensaje de error y el contexto necesario. Si el Secreto ya se ha filtrado, se debe cancelar y rotar inmediatamente.

4. ¿Cuál de las siguientes es la gestión correcta de secretos (contraseña, token) en una canalización de CI/CD?

  • A) Se guarda en el repositorio secreto de la plataforma y se llama por referencia (por ejemplo, ${{ secrets.X }}), no escrito en texto plano ✔
  • B) Escrito en texto sin formato en YAML canalizado para mayor comodidad
  • C) Se verifica presionando eco y log al inicio de cada trabajo.
  • D) Si se define con el permiso más amplio (escribir todo), la seguridad aumenta

Explicación: Los secretos no se escriben en YAML en texto sin formato; Se guarda en el repositorio secreto de la plataforma y se llama con referencias como ${{ secrets.X }}. Además, con el principio de mínima autoridad, los permisos de los tokens se reducen y el registro secreto no se registra.

5. En la gestión de infraestructura con Terraform, ¿cuál es el paso más crítico a seguir antes de implementar un cambio en vivo?

  • A) Ejecutar 'terraform apply' directamente; el plan es una perdida de tiempo
  • B) Copia de seguridad del archivo estatal en un repositorio público
  • C) Ejecute el 'plan de terraformación' y verifique las líneas de destrucción/reemplazo en la salida, luego aplique ✔
  • D) Desinstale la versión del proveedor y asegúrese de que la versión más reciente llegue automáticamente

Explicación: "terraform plan" debe ejecutarse antes de "terraform apply". El plan muestra qué agregar, qué cambiar y, especialmente, qué eliminar (destruir), sin hacer nada. Si se ve una línea inesperada de destrucción o reemplazo, no se debe aplicar la aplicación.

6. ¿Qué significa y qué se debe hacer si la línea '-/+ reemplazar' para la base de datos de producción aparece en la salida del plan Terraform?

  • A) La fuente simplemente se actualizará en el sitio, no hay ningún riesgo.
  • B) El recurso será eliminado y recreado; Existe riesgo de pérdida de datos; la aplicación debe detenerse si no se espera ✔
  • C) Agregar un nuevo recurso, la base de datos existente no se ve afectada
  • D) Esto es sólo una advertencia, se puede ignorar con seguridad.

Explicación: '-/+ reemplazar' significa que el recurso se eliminará y se volverá a crear; Para una base de datos, esto significa pérdida de datos. Si no se espera, se debe detener la aplicación, el cambio se debe convertir a un método seguro o el campo inmutable se debe dejar intacto.

7. ¿Cuál de las siguientes afirmaciones es cierta para que un Dockerfile esté listo para producción en términos de seguridad y tamaño?

  • A) Por conveniencia, incrustar el secreto en la imagen con ENV y ejecutarlo como root
  • B) Utilice siempre la etiqueta ':latest' y mantenga la imagen base lo más grande posible
  • C) Construcción en una sola etapa y dejando todas las herramientas de construcción en la imagen final.
  • D) No incrustar el Secreto, trabajar con USUARIO no autorizado, utilizar una imagen base pequeña y estable y una compilación de varias etapas ✔

Descripción: una imagen lista para producción: no incorpora el secreto (lo inyecta en tiempo de ejecución), se ejecuta con un USUARIO no autorizado en lugar de root, utiliza una imagen base pequeña y versionada (delgada/alpina, no: más reciente) y se reduce con una compilación de varias etapas. También se analiza en busca de vulnerabilidades antes de su publicación.

8. ¿Cuál es el riesgo más importante de no definir límites de recursos para un Deployment en Kubernetes?

  • A) El pod nunca se inicia porque el límite es un campo obligatorio
  • B) Sólo aparece un aviso en el tablero de monitoreo, el funcionamiento no se ve afectado
  • C) Kubernetes aplica automáticamente límites predeterminados seguros, sin riesgo
  • D) El pod puede crecer ilimitadamente y consumir los recursos del nodo, colapsando así los servicios vecinos ✔

Explicación: Un Pod que no tiene límite de recursos puede crecer ilimitadamente, consumir todos los recursos del nodo en el que se está ejecutando y bloquear los servicios vecinos, por ejemplo, con una pérdida de memoria. Es por eso que definir solicitudes/límites es la base de la solidez.

9. ¿Cómo evitar la "fatiga de alertas" en el monitoreo y configuración de alarmas?

  • A) Establecer alarmas en tantas métricas como sea posible y generar alertas con cada fluctuación.
  • B) Configure todas las alarmas al nivel de gravedad más alto
  • C) Activación de alarmas con valores instantáneos sin fijar tiempo (para)
  • D) Mantener las alarmas orientadas a la acción y con la urgencia adecuada, probando umbrales con datos históricos y fusionando los innecesarios ✔

Descripción: Cada alarma debe ser procesable y tener la urgencia adecuada; La información que no requiere acción se muestra en el tablero, no despierta a nadie. Los umbrales de alarma se prueban con los datos históricos del sistema y se consolidan las alarmas innecesarias/repetitivas. De esta manera la verdadera alarma no se perderá en el ruido.

10. ¿Cuál es el mejor orden de prioridad durante un incidente de producción?

  • A) Primero encuentre la causa raíz exacta y redúzcala solo cuando la causa sea clara.
  • B) Primero escriba el informe post mortem, luego toque el servicio.
  • C) Reducir primero (restaurar/restaurar servicio), dejando el análisis de causa raíz para más adelante ✔
  • D) Primero encontrar al responsable del incidente y denunciarlo.

Explicación: La regla de oro es "reducir primero, investigar después". El objetivo es primero restaurar el servicio o revertirlo a una versión que se sepa que funciona (mitigar); El análisis de la causa raíz se realiza con calma una vez que la presión disminuye. Esperar a encontrar la causa raíz exacta aumenta el tiempo de recuperación (MTTR).

11. ¿Cuál es el objetivo principal de la cultura postmortem irreprochable?

  • A) Identificar a la persona que cometió el error y responsabilizarle
  • B) Centrarse en sistemas y procesos y fomentar el aprendizaje; ✔ Aprender lecciones que prevengan la repetición en lugar de culpar
  • C) Nunca reportar el incidente y procurar que quede en el olvido
  • D) Escribir solo detalles técnicos y no agregar elementos procesables

Explicación: La autopsia sin culpa se centra en la pregunta "qué sistema y proceso permitió este error", no en "quién lo cometió". La gente comparte abiertamente el error si sabe que no será castigada; El error oculto se repite. El informe no es un informe de acusación, sino un documento de aprendizaje lleno de elementos orientados a la acción.

12. En la optimización de costos de la nube (FinOps), ¿cuál es el paso más lógico a seguir antes de pasar a descuentos comprometidos (Plan Reservado/Ahorro)?

  • A) Tome el compromiso más largo posible primero, piense en el desperdicio después
  • B) Primero, limpie los desechos (cierre inactivo, ajuste de tamaño), luego comprométase a un uso comprometido ✔
  • C) Mover todos los recursos a la capacidad Spot inmediatamente
  • D) Eliminar el artículo más caro sin revisar los datos de la factura

Explicación: Primero se deben limpiar los desechos (cerrando recursos inactivos, reduciendo recursos sobredimensionados). De lo contrario, bloqueará el uso desperdiciado a un precio con descuento durante 1 a 3 años. El tamaño correcto y la limpieza inactiva no requieren compromiso y están prácticamente libres de riesgos.

13. ¿Cuál es la medida de seguridad más importante si un script sugerido por IA tiene la línea 'rm -rf "$DIR"/'?

  • A) Ejecutar el script directamente en prod sin leerlo acelerará
  • B) Agregue set -euo pipefail y vacíe el control de variable y pruebe primero con el ensayo en seco ✔
  • C) Acortar el nombre de la variable es suficiente
  • D) Usar rm -rf --force en lugar de rm resuelve el problema

Explicación: Si $DIR está vacío, esta declaración puede intentar eliminar el directorio raíz. Detenerse en la variable indefinida con 'set -u' y verificar que la variable no esté vacía antes de eliminarla (por ejemplo, [ -n "$DIR" ] || salida 1) evita el desastre. Además, las operaciones destructivas deben probarse primero con un funcionamiento en seco.

14. ¿Qué es lo primero que se debe hacer si una clave de acceso a la nube se filtra accidentalmente a un repositorio público?

  • A) Cancelar y renovar (rotar) inmediatamente la clave; Eliminar solo no es suficiente ✔
  • B) Simplemente elimine el archivo del almacenamiento y la clave estará segura
  • C) No hacer nada porque nadie lo vio.
  • D) Hacer que el almacenamiento sea privado elimina la necesidad de rotar la clave

Explicación: El secreto filtrado debe cancelarse y rotarse inmediatamente. Simplemente eliminar el archivo no es suficiente porque el secreto permanece en el historial de Git y los bots escanean los repositorios públicos en cuestión de segundos. Después de la cancelación/devolución, se evalúa el impacto y se agrega un escáner secreto para evitar que se repita.

15. ¿Cuál de los siguientes enfoques minimiza el riesgo al lanzar una nueva versión de Prod?

  • A) Dar la nueva versión a todos los usuarios al mismo tiempo (big-bang) y no preparar un plan de reversión
  • B) Considerar que la implementación finalizó tan pronto como aparezca "verde", no realizar verificación adicional
  • C) Uso de una estrategia controlada como indicador canario/azul-verde/función, plan de reversión listo para usar y prueba de humo + monitoreo de métricas después de la implementación ✔
  • D) Dejar la prueba de rutas comerciales críticas completamente a la inteligencia artificial y no determinarlas en absoluto.

Explicación: Las estrategias de lanzamiento controlado (comenzando con un pequeño porcentaje con canary, reversión inmediata con azul-verde, separando la implementación del lanzamiento con un indicador de función) limitan el riesgo. Además, es esencial contar con un plan de reversión claro antes del despliegue y un monitoreo de la señal dorada con pruebas de humo después del despliegue; "verse verde" no significa que funcione.