El entorno de ejecución de debajo, reconstruible desde el código fuente.
Aprovisionamiento, contenedores, pipelines y el camino de un commit a un servicio en marcha. Construido para que un entorno pueda recrearse desde el repositorio y no reconstruirse de la memoria de una persona, y para que una mala versión pueda deshacerse.
Las situaciones que encajan.
Suele llegar como un síntoma y no como una petición: los despliegues dan miedo, o nadie sabe reconstruir el entorno de preproducción.
- Una infraestructura montada a mano una vez y que ahora entiende exactamente una persona.
- Un proceso de despliegue tan intimidante que las versiones se agrupan, lo que hace cada una más arriesgada que la anterior.
- Un entorno que no se puede recrear, de modo que preproducción y producción han divergido en silencio.
- Un producto que pronto va a necesitar más que una sola máquina, donde el siguiente paso debería decidirse y no improvisarse.
- Un historial de incidentes cuyo tema recurrente es que nada salió a la luz hasta que lo comunicó un usuario.
Dónde fallan los entornos de ejecución.
La infraestructura se deteriora en silencio. Un cambio hecho en la consola durante un incidente nunca vuelve a la configuración, y la distancia entre lo que está escrito y lo que se ejecuta crece hasta que la versión escrita es ficción. El momento que importa es aquel en que necesitas reconstruir y descubres que no puedes.
El segundo problema es que la reversión suele ser teórica. Un camino de despliegue en el que todos confían casi siempre se ha probado hacia delante y nunca hacia atrás, así que el primer intento real de deshacer una versión ocurre bajo presión, en el peor momento, a cargo de alguien que lee una documentación que nunca ha usado.
El tercero es una observabilidad que informa de la salud y no de la verdad. Paneles que muestran que el proceso está en marcha mientras la cola que hay detrás creció en silencio durante seis horas. Lo que merece instrumentarse es lo que fallaría primero, y eso exige saber cómo falla el sistema, no solo que está en pie.
La pila, y dónde encaja esta categoría.
Esta categoría empieza por debajo del producto y va hacia abajo. Lo que queda por encima también se nombra aquí, para que el límite se vea y no se dé por supuesto.
Una arquitectura de referencia, es decir, la forma sobre la que se diseña el trabajo y no un registro de sistemas entregados. Nombra capas y responsabilidades, nunca productos: lo que se ejecuta en una capa determinada es una decisión que se toma contigo durante el alcance, no aquí por adelantado.
- L5
Superficie de producto
Cobertura: Fuera de alcanceLa superficie de producto se construye en ingeniería de producto. Esta categoría empieza por debajo.
- L4
Servicios y APIs
Cobertura: ParcialCómo se empaquetan, arrancan, limitan y publican los servicios, y no lo que hacen.
- L3
Datos y estado
Cobertura: ParcialDónde vive el estado, y si un entorno que lo contiene puede recrearse desde el repositorio en lugar de reconstruirse de la memoria de una persona.
- L2
Modelos y agentes
Cobertura: Fuera de alcanceEl trabajo de modelos y agentes es IA y automatización. Nada aquí da por supuesto que un producto los tenga.
- L1
Ejecución e infraestructura
Cobertura: A cargoAprovisionamiento como código, configuración de contenedores y del entorno de ejecución, pipelines y el camino del commit al servicio en marcha con una reversión ejercitada. Esto construye la plataforma y la entrega; no es un contrato de soporte.
- L0
La capa de debajo
Cobertura: ParcialComportamiento de los procesos, límites de recursos y modos de fallo leídos donde se deciden, para que el entorno de ejecución se ajuste a los fallos que el producto tiene de verdad y no a los que se esperan.
Qué significan las marcas
- A cargo
- Esta categoría es responsable de la capa. Se diseña, se construye y se entrega dentro del encargo.
- Parcial
- El trabajo llega a la capa hasta donde lo necesita el desarrollo, y la profundidad aquí corresponde a una de las otras categorías.
- Fuera de alcance
- Deliberadamente fuera de esta categoría. La nota del peldaño dice adónde va el trabajo en su lugar.
Lo que produce el encargo.
La infraestructura como un artefacto que te quedas, no como una configuración que alguien recuerda.
- Aprovisionamiento como código, para que un entorno se defina en el repositorio y no en una consola.
- Configuración de contenedores y del entorno de ejecución, con los límites de recursos y el comportamiento ante fallos hechos explícitos.
- Pipelines de CI/CD: qué se ejecuta en cada commit, qué condiciona una versión y qué la detiene.
- Un camino de despliegue y reversión, con la reversión ejercitada y no supuesta.
- Registros, métricas y observabilidad dirigidos a los fallos que este sistema tiene de verdad.
- Una lista de verificación de despliegue y reversión, para que el procedimiento sobreviva a la persona que lo escribió.
A qué ya no estás expuesto.
Cada elemento es un fallo con nombre porque es común.
- Un entorno que nadie puede reconstruir, donde la única copia de la configuración es el sistema en ejecución.
- Descubrir durante un incidente que la vía de reversión era teórica.
- Un proceso de publicación tan arriesgado que las versiones se agrupan, agravando el riesgo que quería evitar.
- El fallo silencioso: un sistema que informa de que está sano mientras el trabajo detrás se acumula.
- Infraestructura que vive en la cuenta de un proveedor y no en la tuya, de modo que el acceso es algo que tienes que pedir.
Trabajo que rechazamos.
Las peticiones de infraestructura que suelen tener la forma equivocada.
- Guardias 24/7 permanentes o un acuerdo de servicio gestionado. Esto construye la plataforma y la entrega; no es un contrato de soporte.
- Una migración a la nube elegida por sí misma, sin un problema que resolver. Se define primero como una decisión, y a menudo la respuesta es no mudarse.
- Kubernetes porque se espera. El entorno de ejecución debe ajustarse a los modos de fallo que el producto tiene de verdad, y con frecuencia lo correcto es algo más pequeño.
- Un proyecto de reducción de costes donde la cifra objetivo se fija antes de que nadie haya mirado lo que está en marcha.
- Trabajo de infraestructura en una cuenta a la que no se nos puede dar un acceso correctamente acotado. Las credenciales amplias y permanentes no son un atajo.
Con qué te quedas.
La infraestructura es lo más fácil de dejar en un estado que solo entiende su autor, así que aquí es donde más importa la entrega.
Todo en tus cuentas
La infraestructura se ejecuta desde el principio en cuentas que son tuyas. Nada se aloja de nuestro lado para migrarse luego, así que no hay corte ni dependencia de que sigamos existiendo.
La configuración en el repositorio
Aprovisionar como código significa que el entorno tiene una definición que tu equipo puede leer, revisar y cambiar. Reconstruir es ejecutar el código, no reconstruir un recuerdo.
Un procedimiento de publicación que se ha ejecutado
El camino del commit a producción, los controles que lo jalonan y los pasos exactos para revertir una versión, ejercitados durante el proyecto en lugar de documentados y esperados.
Las condiciones que disparan una reversión
No solo cómo deshacer una versión sino cuándo hacerlo: qué vigilar tras un despliegue y qué lectura significa parar. Criterio escrito mientras está fresco.
La evidencia detrás de esta página.
El desarrollo, el documento y los textos con los que conecta esta página.
- ProyectoUn gestor de pantalla con separación de privilegiosEl nivel más bajo al que llega un desarrollo: piezas independientes hechas para arrancar como un solo sistema, y seguir arrancando después de una actualización.
- DocumentosEjemplos de entregablesLa lista de verificación de despliegue y reversión, mostrada como el formato con lo que registra y el riesgo que elimina.
- ServicioSeguridad y profundidad de sistemasLos límites de acceso y la gestión de credenciales que acompañan al trabajo sobre el entorno de ejecución.
Empieza por la restricción.
Describe lo que funciona hoy y lo que ahora mismo no puedes reconstruir. Suele bastar para definir la primera etapa.