Soporte de aplicaciones · Releases

Release de pedidos con verificación de negocio.

Una aplicación puede devolver HTTP 200 en salud y, aun así, no permitir consultar pedidos. Diseñé una promoción que valida la operación principal y revierte si falla; en mi empresa actual aplicamos verificación posterior al despliegue y recuperación de versiones.

Arquitectura de release: bloqueo de cambio, puntero atómico, API de pedidos y smoke test del pedido; ante error se restaura y verifica la versión previa
El smoke test comprueba la transacción de negocio, no solo el estado del servidor.

Valor para operaciones

Protege la consulta de pedidos después de cada cambio. Si la función principal falla aunque la aplicación reporte salud, se recupera la versión anterior y se verifica que el pedido vuelve a estar disponible.

Arquitectura

Un bloqueo impide cambios simultáneos. El controlador registra el inicio, conmuta un puntero atómico y prueba /health, /version y /orders/ORD-101. La respuesta del pedido debe corresponder a la versión candidata; si falla, restaura el puntero anterior, comprueba el pedido otra vez y registra la reversión.

Resultado comprobado

Activé v1, intenté promover una versión que devolvía /health 200 pero /orders/ORD-101 503, y confirmé la reversión a v1 con el pedido otra vez disponible. Después promoví v2. Las pruebas cubren también primer despliegue fallido, identificador inválido, cambios simultáneos y rastro de auditoría.

Decisión de diseño

Un health check técnico no equivale a servicio útil: la consulta de pedido funciona como prueba sintética de negocio. El resultado del cambio queda en eventos de auditoría y la reversión solo se declara verificada tras consultar la versión restaurada.

Ver perfil de GitHub ↗