El estado es el registro de Terraform de qué recursos reales corresponden a qué direcciones de configuración, más los atributos cacheados que usa para calcular un plan. Para un equipo tiene que vivir en un backend remoto con bloqueo, como S3 con soporte nativo de lockfile o un backend gestionado, para que no se ejecuten dos apply a la vez. Nunca lo subas a git, ya que guarda secretos en texto plano, y divídelo por radio de impacto en vez de mantener un único fichero gigante.
Por qué lo preguntan los entrevistadores
El estado es donde se hacen daño los equipos, así que esta pregunta separa a quien ha llevado Terraform en producción de quien ha seguido un tutorial. El entrevistador quiere oír hablar de bloqueo, backends remotos, secretos en el estado y división de ficheros de estado. Las repreguntas suelen ir hacia la recuperación: qué haces cuando el estado deriva, cuando alguien borra un recurso a mano o cuando un apply se interrumpe a medias.
Cómo estructurar tu respuesta
- Define el estado como el mapeo entre configuración y recursos reales.
- Explica por qué el estado remoto más el bloqueo son obligatorios en equipo.
- Cubre los secretos en el estado y el control de acceso al backend.
- Describe cómo divides el estado y por qué manda el radio de impacto.
Ejemplo de respuesta
El estado es el mapa entre lo que escribí en código y lo que existe de verdad en el proveedor, indexado por dirección de recurso, más una caché de atributos para que un plan no tenga que leerlo todo desde cero. En equipo va en un backend remoto con bloqueo, para que dos personas ejecutando apply a la vez no puedan corromperlo. Lo que sorprende a la gente es que el estado contiene los atributos de los recursos tal cual, así que las contraseñas de base de datos y las claves generadas están ahí en texto plano; eso significa que el bucket va cifrado, versionado y restringido al rol del pipeline, no legible por todo el mundo. Sobre la organización, divido por radio de impacto y por ritmo de cambio. La red y las cuentas cambian poco y tienen su propio estado, cada servicio o entorno tiene el suyo, y se leen entre sí mediante data sources o salidas publicadas en vez de un módulo raíz que lo contenga todo. La razón práctica es que un fichero de estado de quinientos recursos hace lento cada plan y enorme cada error. Para recuperar me apoyo en el versionado del bucket más state mv e import en vez de editar el fichero a mano.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Qué haces si alguien borra un recurso desde la consola?
- ¿Cómo refactorizarías la estructura de módulos sin destruir recursos?
- ¿Cómo te recuperas de un bloqueo de estado que dejó un apply que reventó?
Más preguntas para Ingeniero DevOps
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas