Fase 4 · SE-250 · Clase

Health, readiness y shutdown ordenado

Una clase de la Parte 20 — Backend, APIs y procesamiento asíncrono. Comprende el mecanismo, úsalo para decidir y conserva evidencia revisable.

Texto íntegro publicado para revisión editorial; todavía debe evaluarse junto con toda su parte.
Vienes deCaching, rate limiting y protección
Construyes ahoraHealth, readiness y shutdown ordenado
Conecta conTaller: reparar una API insegura e inconsistente

← SE-249 — Caching, rate limiting y protección · ↑ Parte 20 · 📚 Índice completo · 🌐 Portal · SE-251 — Taller: reparar una API insegura e inconsistente →

Prerrequisitos

  • Haber completado o diagnosticado SE-249 y poder explicar qué evidencia produjo.
  • Manejar archivos de texto, rutas y control de versiones a nivel básico.
  • Disponer de Python 3.11+, servidor HTTP local, curl y cola simulada.

Problema auténtico

Un equipo que trabaja en una comunidad social debe decidir sobre Health, readiness y shutdown ordenado. Tiene información incompleta, restricciones de tiempo y personas afectadas por una decisión incorrecta. El reto no es repetir definiciones: es convertir el tema en un resultado revisable, distinguir observación de supuesto y conservar evidencia para que otra persona pueda continuar o cuestionar el trabajo.

Objetivos observables

Al terminar podrás:

  1. explicar Health y readiness con un ejemplo y un contraejemplo;
  2. comparar al menos dos opciones usando evidencia, riesgo, costo y reversibilidad;
  3. producir el artefacto servicio con contrato y procesamiento recuperable para que otra persona pueda revisarlo;
  4. diagnosticar el fallo «reintentar una operación no idempotente y duplicar efectos» sin ocultar incertidumbre;
  5. transferir la decisión a otra plataforma o dominio sin depender de una marca.

Temas y por qué importan

TemaFunción en la clasePor qué importa
HealthModeloDelimita qué entidad, estado o relación se estudia y qué queda fuera.
ReadinessMecanismoExplica la cadena causal: qué entrada cambia qué estado y mediante qué regla.
ShutdownEvidenciaDefine la señal observable que permite contrastar el modelo sin confundir correlación con causa.
OrdenadoDecisiónConvierte el conocimiento en opciones comparables, límites, riesgos y condiciones de reversión.

Mapa conceptual

Mapa visualRelaciones que debes poder explicar
Problema: Health, readiness y shutdown ordenadoModelo: Health
Modelo: HealthDecisión: readiness
Decisión: readinessEvidencia: shutdown
Evidencia: shutdownRevisión: ordenado
Ver la notación fuente del diagrama
flowchart LR
    P["Problema: Health, readiness y shutdown ordenado"] --> M["Modelo: Health"]
    M --> D["Decisión: readiness"]
    D --> E["Evidencia: shutdown"]
    E --> R["Revisión: ordenado"]
    R -->|nueva información| M

El diagrama se lee de izquierda a derecha: el problema obliga a construir un modelo; el modelo permite decidir; la decisión solo se sostiene con evidencia; y la revisión devuelve nueva información al modelo. No es una secuencia lineal de entrega, sino un ciclo de aprendizaje aplicado a Health, readiness y shutdown ordenado.

Conceptos y decisiones

Un backend coordina contratos, estado y trabajo síncrono o diferido; los límites de tiempo y los reintentos forman parte del comportamiento público.

La pregunta rectora de esta parte es: ¿qué efecto se promete, cuándo se confirma y cómo se evita duplicarlo o perderlo? La respuesta debe apoyarse en contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout.

1. Health: modelo

En esta clase, Health se estudia como modelo. Su función es delimita qué entidad, estado o relación se estudia y qué queda fuera. Debe conectarse con la pregunta «¿qué efecto se promete, cuándo se confirma y cómo se evita duplicarlo o perderlo?» y demostrarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout. Un tratamiento superficial solo lo nombraría; un tratamiento útil identifica precondiciones, transición, resultado observable y caso en que la explicación deja de sostenerse. Aplica esa secuencia a Health, readiness y shutdown ordenado, registra los supuestos y explica qué decisión concreta cambia al comprenderla.

2. Readiness: mecanismo

En esta clase, readiness se estudia como mecanismo. Su función es explica la cadena causal: qué entrada cambia qué estado y mediante qué regla. Debe conectarse con la pregunta «¿qué efecto se promete, cuándo se confirma y cómo se evita duplicarlo o perderlo?» y demostrarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout. Un tratamiento superficial solo lo nombraría; un tratamiento útil identifica precondiciones, transición, resultado observable y caso en que la explicación deja de sostenerse. Aplica esa secuencia a Health, readiness y shutdown ordenado, registra los supuestos y explica qué decisión concreta cambia al comprenderla.

3. Shutdown: evidencia

En esta clase, shutdown se estudia como evidencia. Su función es define la señal observable que permite contrastar el modelo sin confundir correlación con causa. Debe conectarse con la pregunta «¿qué efecto se promete, cuándo se confirma y cómo se evita duplicarlo o perderlo?» y demostrarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout. Un tratamiento superficial solo lo nombraría; un tratamiento útil identifica precondiciones, transición, resultado observable y caso en que la explicación deja de sostenerse. Aplica esa secuencia a Health, readiness y shutdown ordenado, registra los supuestos y explica qué decisión concreta cambia al comprenderla.

4. Ordenado: decisión

En esta clase, ordenado se estudia como decisión. Su función es convierte el conocimiento en opciones comparables, límites, riesgos y condiciones de reversión. Debe conectarse con la pregunta «¿qué efecto se promete, cuándo se confirma y cómo se evita duplicarlo o perderlo?» y demostrarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout. Un tratamiento superficial solo lo nombraría; un tratamiento útil identifica precondiciones, transición, resultado observable y caso en que la explicación deja de sostenerse. Aplica esa secuencia a Health, readiness y shutdown ordenado, registra los supuestos y explica qué decisión concreta cambia al comprenderla.

La regla de trabajo es conservar trazabilidad: problema → supuesto → opción → decisión → evidencia → revisión. Una solución técnicamente posible puede seguir siendo inadecuada si excluye personas, desplaza riesgos o no puede mantenerse. La herramienta concreta se elige después de fijar el comportamiento y el criterio de aceptación.

Definiciones de trabajo

  • Health: concepto usado aquí como modelo; se acepta solo si puede observarse o justificarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout.
  • Readiness: concepto usado aquí como mecanismo; se acepta solo si puede observarse o justificarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout.
  • Shutdown: concepto usado aquí como evidencia; se acepta solo si puede observarse o justificarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout.
  • Ordenado: concepto usado aquí como decisión; se acepta solo si puede observarse o justificarse mediante contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout.

Estas definiciones son operativas para el borrador: deberán sustituirse o precisarse con terminología de las fuentes de la clase durante la revisión cualitativa. No son un glosario normativo.

Ejemplo mínimo

Registra una sola decisión sobre Health, readiness y shutdown ordenado:

ElementoEjemplo contrastable
Contextoel equipo necesita una decisión en una iteración y carece de una medición directa
Supuestola opción elegida reduce el riesgo principal sin crear uno mayor
Evidenciaejemplo, medición o revisión que una segunda persona puede repetir
Límiteel resultado no representa producción ni todas las poblaciones usuarias
Próxima señalun dato que confirmaría, refutaría o modificaría la decisión

El valor del ejemplo no está en “tener razón”, sino en que el razonamiento pueda ser inspeccionado.

Ejemplo profesional

En la comunidad social, el equipo prepara un cambio relacionado con Health, readiness y shutdown ordenado. Parte de esta pregunta: ¿qué efecto se promete, cuándo se confirma y cómo se evita duplicarlo o perderlo? Antes de implementarlo, registra personas afectadas, estados normales y degradados, datos utilizados, costo de reversión y señales de éxito. Dos opciones se comparan con la misma tabla y se contrastan usando contrato validado, pruebas de idempotencia, trazas correlacionadas y recuperación tras timeout. La alternativa ganadora queda condicionada a una prueba pequeña. La revisión incluye a producto, ingeniería y una persona que no participó en la propuesta. El resultado se archiva como openapi.yaml y enlaza la evidencia, no solo la conclusión.

Práctica guiada

  1. Crea work/SE-250/ sin copiar datos personales ni secretos.
  2. Formula el problema en una frase que incluya actor, necesidad y consecuencia.
  3. Separa en una tabla hechos observados, inferencias, incógnitas y restricciones.
  4. Propón dos opciones y una opción de no actuar; explicita costos y riesgos.
  5. Construye el servicio con contrato y procesamiento recuperable con los archivos indicados abajo.
  6. Introduce deliberadamente el fallo controlado y registra síntomas antes de corregirlo.
  7. Pide una revisión: la otra persona debe reconstruir la decisión solo con el artefacto.
  8. Actualiza la conclusión y anota qué evidencia cambiaría la decisión.

Ejercicios

  1. Fundamental: define Health y readiness con un ejemplo propio, un contraejemplo y un criterio que permita distinguirlos.
  2. Aplicado: resuelve el caso de la comunidad social, compara tres opciones y entrega openapi.yaml con trazabilidad completa.
  3. Avanzado: cambia una restricción crítica —plataforma, escala, conectividad, regulación o capacidad del equipo— y demuestra qué partes de la decisión se conservan y cuáles deben revisarse.

Reto verificable

Entrega el servicio con contrato y procesamiento recuperable de forma que una persona que no participó en la clase pueda reconstruir problema, supuestos, opciones, decisión y evidencia. El reto se acepta únicamente si esa persona puede señalar una condición concreta que cambiaría la decisión y reproducir al menos una comprobación sin pedir contexto oral adicional.

Fallo controlado y diagnóstico

Provoca de forma segura este fallo: reintentar una operación no idempotente y duplicar efectos. No lo ejecutes sobre producción ni datos reales. Captura la decisión inicial, el síntoma observable y la primera hipótesis. Después reduce el caso, busca evidencia que pueda refutar tu hipótesis y corrige la causa, no solo el síntoma. Cierra con una medida preventiva y un procedimiento de recuperación.

Entorno y archivos clave

Entorno de referencia: Python 3.11+, servidor HTTP local, curl y cola simulada. La actividad es documental y portable; cualquier comando adicional debe declarar sistema operativo y versión.

work/SE-250/
├── README.md
│   ├── openapi.yaml
│   ├── service.py
│   ├── recovery.md
├── activity.yaml
└── rubric.json

README.md explica cómo reproducir la actividad; openapi.yaml contiene el resultado principal; los demás archivos separan evidencia y revisión. activity.yaml y rubric.json son contratos generados junto a esta guía.

Seguridad, ética y accesibilidad

  • usa datos sintéticos o anonimizados y aplica minimización;
  • no incluyas tokens, rutas privadas ni información personal en evidencias;
  • identifica personas que reciben beneficios, cargas o riesgo de exclusión;
  • ofrece una alternativa textual a diagramas y no uses color como única señal;
  • verifica navegación por teclado y lenguaje comprensible cuando exista interfaz;
  • detén la práctica si requiere acceso no autorizado o puede afectar sistemas reales.

Transferencia

Repite la decisión en un segundo contexto: cambia la comunidad social por otro de los dominios persistentes, o cambia Windows por Linux/macOS cuando aplique. Conserva problema, criterios y evidencia; modifica únicamente los supuestos dependientes del entorno. Explica por escrito qué conocimiento fue transferible y qué parte pertenecía a la herramienta.

Evaluación y evidencia

CriterioEvidencia para aprobar
Comprensiónconceptos explicados con ejemplo, contraejemplo y límites
Decisiónopciones comparadas con criterios explícitos y alternativa de no actuar
Reproducibilidadarchivos, pasos y entorno permiten repetir la revisión
Diagnósticofallo controlado conserva síntomas, hipótesis, causa y recuperación
Responsabilidadseguridad, privacidad, accesibilidad y personas afectadas fueron consideradas

Entrega el directorio work/SE-250/ y una reflexión de máximo 300 palabras. La rúbrica machine-readable está en rubric.json; no se aprueba solo por completar pasos.

Fuentes

Fuentes verificadas el 2026-09-30:

Preguntas frecuentes

¿Basta con definir los términos del título?

No. Debes mostrar cómo se relacionan, qué mecanismo explican, qué evidencia los contrasta y qué decisión profesional cambia gracias a esa comprensión.

¿La herramienta recomendada es obligatoria?

No. El entorno de referencia hace reproducible la práctica, pero puedes usar otro si documentas equivalencias, versiones, diferencias y procedimiento de recuperación.

¿Completar los archivos aprueba automáticamente la clase?

No. Los archivos son contenedores de evidencia. La aprobación depende de la calidad del razonamiento, la reproducibilidad, el diagnóstico y la revisión contra las fuentes.

Límites y siguiente paso

Esta guía enseña a razonar y producir evidencia sobre Health, readiness y shutdown ordenado; no certifica dominio profesional ni valida una implementación productiva. El siguiente enlace curricular es SE-251. Si la actividad necesita código o infraestructura real, debe añadir pruebas y documentar versiones, limpieza, resultados y recuperación antes de afirmar que fue ejecutada.


← SE-249 — Caching, rate limiting y protección · ↑ Parte 20 · 📚 Índice completo · 🌐 Portal · SE-251 — Taller: reparar una API insegura e inconsistente →