De scripts a contratos
Lo que el sistema de tipos de Rust me enseñó sobre la composición de infraestructura — RustLab 2026, Bolonia
De scripts a contratos
RustLab 2026 · Bolonia · sala RustLab Deep Space · 3 de noviembre de 2026, 12:15 · 45 minutos con preguntas.
▤ Leer las diapositivas — texto real, no capturas ▶ Versión interactiva (Slidev) ⇩ PDF
Pasé años automatizando infraestructura con scripts que funcionaban hasta que dejaban de hacerlo. Una dependencia que faltaba, un despliegue aplicado a medias, una configuración que parecía correcta y no lo era: la alerta siempre llegaba a las tres de la mañana. Las herramientas que usaba tipaban cada recurso por separado, pero no las relaciones entre ellos. El grafo de dependencias vivía en mi cabeza.
Así que lo reconstruí alrededor de una idea: la infraestructura merece la misma disciplina de tipos que el código de aplicación. No solo validar recursos, sino contratos tipados sobre toda la composición. Cada faceta del despliegue —red, secretos, orquestación, monitorización, un centro de control, un vault criptográfico— es un módulo independiente que se compone mediante contratos, no mediante scripts de pegamento. El despliegue es un DAG tipado con resolución en paralelo, rollback automático y recuperación de estado. Una coordinación dirigida por eventos mantiene sincronizados los servicios. Si no tipa, no toca un servidor.
Lo que no esperaba es cuánto iba a cambiar mi forma de pensar la infraestructura. Añadir un proveedor de nube o una nueva preocupación significa cumplir un contrato, no modificar un núcleo. Los workspaces agregan varias facetas de despliegue en un único pipeline tipado que se valida de extremo a extremo.
El recorrido
- El problema: infraestructura que falla en silencio.
- La idea: tipar la composición, no solo los recursos.
- La implementación: lo que aportan el modelo de ownership y el sistema de traits de Rust, y dónde se rompe la analogía.
- Los límites honestos: el estado externo y las APIs de la nube no respetan tu sistema de tipos.
Con un recorrido en directo por un clúster real que funciona sobre esta pila. Para desarrolladores Rust de nivel intermedio con algo de experiencia en infraestructura o despliegue; no hace falta conocer ninguna herramienta de IaC concreta.
Foto de portada: Piazza Maggiore, Bolonia — Max Nayman, Unsplash.
· lecturas