How I prepare for Terraform associate exam

Dicen que si algo no está roto, no lo arregles, así que permitidme haced justicia al refrán y reciclar la introducción del artículo How I prepare for CCDAK and CCAAK Exams.

Si vuestro buscador favorito ha tenido a bien traeros hasta aquí, es porque tenéis en mente afrontar la HashiCorp Certified: Terraform Associate, y queréis conocer más detalles de primera mano. No os preocupéis, estáis en el lugar correcto.

Así, en el presente artículo se pretende describir en que consiste esta certificación, los tópicos que abarca, así como el proceso de preparación seguido para poder superar él tan temido examen.

HashiCorp Certified: Terraform Associate

Tal y como señala la página oficial de HashiCorp, Terraform Associate es una certificación orientada aquellos Cloud Engineers especializados en operaciones, IT o desarrollo, con conocimientos básicos de Terraform, para validar las habilidades básicas de automatización de infraestructura.

En concreto, los candidatos deben dominar los siguientes tópicos distribuidos en 9 categorías:

Comprender los conceptos de la infraestructura como código

  • Explica que es IaC
  • Describir las ventajas de los patrones de IaC

Comprender el propósito de Terraform

  • Explicar los beneficios de la multi-nube y los providers agnósticos
  • Explica los beneficios del estado.

Comprender los conceptos básicos de Terraform

  • Dominar la instalación y el sistema de control de versiones de Terraform y los providers
  • Describir la arquitectura basada en plugins
  • Dominar el uso de múltiples providers
  • Describir cómo Terraform encuentra y descarga los providers
  • Explique cuándo usar y cuando no los provisiones, así como el local-exec o remote-exec

Uso del CLI de Terraform

  • Dado un escenario: escoger cuándo usar terraform fmt para formatear el código
  • Dado un escenario: escoger cuándo usar terraform taint para marcar los recursos de Terraform
  • Dado un escenario: escoger cuándo usar terraform import para importar la infraestructura existente en el estado de Terraform
  • Dado un escenario: escoger cuando usar terraform workspace para crear espacios de trabajo
  • Dado un escenario: escoger cuándo usar terraform state para ver el estado de Terraform
  • Dado un escenario: escoger cuándo habilitar el log detallado y cuál es el resultado

Interactuar con los módulos de Terraform

  • Contrastar las opciones del origen/fuente los módulos
  • Interactuar con las entradas y salidas del módulo
  • Describir el alcance de la variable dentro de los módulos y submodulos
  • Descubrir los módulos del registro público de módulos de Terraform
  • Definir la versión del módulo

Navegar por el workflow de Terraform

  • Describir el workflow de Terraform ( Write -> Plan -> Create )
  • Inicializar un workspace de Terraform (terraform init)
  • Validar la configuración de Terraform (terraform validate)
  • Generar y revisar un plan de ejecución para Terraform (terraform plan)
  • Ejecutar cambios en la infraestructura con Terraform (terraform apply)
  • Destruir la infraestructura gestionada de Terraform (terraform destroy)

Implementar y mantener el estado

  • Describir el backend predeterminado
  • Gestionar el bloqueo del estado
  • Gestionar los métodos de autenticación del backend
  • Describir los mecanismos de almacenamiento de estado remoto y los backends admitidos
  • Describir los efectos de refrescar el estado de Terraform
  • Describir el bloque de backend en la configuración y las mejores prácticas para configurarlo
  • Comprender la gestión de los secretos en el estado de Terraform

Leer, generar y modificar la configuración

  • Demostrar el uso de variables de entrada y salida
  • Describir las mejores prácticas para la inyección de secretos de forma segura
  • Comprender el uso de variables de tipo collection y structural
  • Crear y diferenciar la configuración de bloques de tipo resource y data
  • Utilizar el direccionamiento de recursos y los parámetros de recursos para interconectarlos
  • Emplear las funciones integradas de Terraform para escribir la configuración
  • Configurar recursos usando bloques de tipo dynamic
  • Describir la inyección de dependencias para gestionar el orden de ejecución

Comprender las capacidades de Terraform Cloud y Terraform Enterprise

  • Describir los beneficios de Sentinel, el registry y los workspaces
  • Diferenciar los workspaces de tipo OSS y TFE
  • Resumir las características de Terraform Cloud

About the exam

Terraform Associate es un examen teórico de 60 minutos de duración, en el que, a lo largo de 45 preguntas, se mezclan cuestiones tanto de definición de conceptos como de comprensión del funcionamiento de Terraform.

Por ejemplo, dado un escenario, especificar lo ocurre cuando se aplica un determinado comando o al revés, las acciones a ejecutar para alcanzar el resultado deseado. Dado que no es posible entrar en mucho detalle, señalar que el temario descrito previamente es más que preciso.

Al igual que en otras tantas certificaciones, cada cuestión puede tener una o múltiples respuestas correctas posibles, si bien en cada caso está perfectamente delimitado el número a seleccionar.

Como no podía ser de otra forma, no está permitido el uso de ningún de tipo de documentación durante toda la prueba, por lo que es imprescindible comprender y dominar bien los conceptos previamente listados. Y no, memorizar definiciones no os servirá de ayuda, ya que se busca que se razone a la hora de dar la respuesta.

Exam Preparation

Antes de describir el proceso de preparación empleado para tratar de superar el examen, comentar que un servidor disponía de un conocimiento previo, tanto teórico como practico, sobre Terraform.

¿Supone esto un factor diferencial a la hora de prepararlas? Sin lugar a dudas, ya que la gran mayoría de cuestiones que se plantean os habrán surgido en vuestro día a día con la herramienta. De hecho, la propia HashiCorp recomienda tener experiencia real en entornos productivos, aunque dejan la puerta a abierta a aquellas personas que hayan hecho sus pruebas en entornos personales. ¡Qué van a decir!

Dicho esto, mi preparación se fundamentó principalmente en la guía de estudios oficial, la cual abarca absolutamente todos los tópicos de los exámenes, con las explicaciones precisas correspondientes. Ahora bien, puede que esto resulte algo escueto o duro para aquellas personas que no dispongan de un extenso bagaje con Terraform, por lo que otros medios como el libro The Terraform Book o el curso HashiCorp Certified: Terraform Associate pueden ser de interés. Comentar que no he tenido el gusto de disfrutar de ninguno de estos medios, pero en general, las valoraciones son muy positivas.

Una vez leída la guía de estudios, opté por comprar dos practise tests en Udemy, que me ayudaran a hacerme a la idea del estilo de preguntas que el examen plantea y poder poner en foco en aquellos tópicos que no dominara tan bien como debería.

No perdáis el tiempo memorizando preguntas, ya que de poco o nada os servirá. Lo importante es conocer el por qué de cada respuesta y por lo general, ambos cursos lo explican de forma más o menos acertada.

Los practise tests adquiridos fueron los siguientes:

No, no es una errata, el título es el mismo pero el enlace es distinto. Y si, ambos me resultaron de lo mas útilles en mi preparación.

Finalmente, antes de realizar el examen, revisé tanto el “General Exam Information”, en el que cómo su propio nombre indica, se contestan las preguntas más frecuentes relacionadas con la certificación, así como las “Sample Questions“, que no son mas que preguntas parecidas a las del examen. No tienen el mismo nivel de complejidad, pero sí que en esencia son similares.

Exam Experience

El examen se lleva a cabo como tantas otras certificaciones, en una pestaña de Chrome a través de PSI Online. Al inicio, el supervisor me solicitó una identificación emitida por el gobierno no vencida, que incluyese una foto y una firma. Posteriormente, una vista de 360 ​​grados de la habitación para verificar que no hubiese nadie más en la misma, ni ningún elemento prohibido sobre la mesa de trabajo: móvil, tablet, papeles, bolígrafos… En mi caso, llevé a cabo el examen haciendo uso de un ordenador portátil, sin ningún tipo de dispositivo externo conectado (teclado, ratón, segunda pantalla). Todas las interacciones con el instructor se realizan mediante el chat que PSI proporciona para ello.

Así, pude completar las pruebas, revisando las respuestas con detenimiento, en unos 45-50 minutos, por lo que podéis estar seguros de que el tiempo no es un problema. En esta ocasión, no había opción de tomarse un descanso para comer/beber algo rápido o ir al baño, por lo que aseguraos de estar en óptimas condiciones antes de iniciar la prueba.

Una vez entregado el examen, se nos comunica instantáneamente el resultado del mismo, y posteriormente vía email, la calificación obtenida, junto al badge de Credly. Por desgracia, se desconoce cuál es el resultado mínimo que debe obtenerse para aprobar, pero la leyenda dice que ronda el 70%.

Conclusiones

En conclusión, HashiCorp Certified: Terraform Associate es una certificación que evalúa los conocimientos y habilidades en Terraform, de forma honesta, sin rizar el rizo más de la cuenta. Es muy recomendable sino imprescindible haberlo utilizado en entornos productivos para tener ciertas garantías de cara al examen, pero con eso, junto al material de estudio comentado, no deberíais tener mayor problema para superarlo.

Espero que el artículo os haya servidor de ayuda, mucha suerte a todos aquellos que vayas a intentarlo y si tenéis alguna duda, dejadla en los comentarios.

Referencias

Se recomienda encarecidamente leer los siguientes artículos que han servido de base para el escrito:

One thought on “How I prepare for Terraform associate exam

  1. Excelente resumen de la visión general y tu experiencia con la certi, Mikel. Empiezas a ser una fuente autoritativa en esto de las preparaciones de exámenes. Y suerte que las badges son digitales, o ya no te cabrían en casa! 😉

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s