Tema

Infraestructura como código

Templates y operaciones de stacks en CloudFormation, diagnóstico de despliegues fallidos, el AWS CDK, y Terraform con Git dentro de un flujo de trabajo de CloudOps.

La infraestructura que solo existe en la consola no se puede revisar, no se puede reconstruir y no se puede explicar seis meses después. Este tema la reemplaza por un archivo: un template que describe el estado final, un servicio que lo alcanza, y un flujo de trabajo que te muestra qué va a hacer un cambio antes de que lo haga. Es la habilidad más grande del dominio de despliegue, y ahí vive la mayoría de las preguntas de escenario.

Qué cubre este tema

  • Qué contiene un template de CloudFormation: las secciones, parámetros con guardarraíles reales, funciones intrínsecas, el grafo de dependencias que CloudFormation arma con tus referencias, y los atributos de recurso que deciden qué sobrevive a un delete
  • Compartir valores entre stacks con exports, Fn::GetStackOutput y nested stacks, y mantener las credenciales fuera de los templates con dynamic references
  • Operar un stack en marcha: los tres comportamientos de update, change sets, stack policies, señales y updates rodados de Auto Scaling, opciones y triggers de rollback, detección de drift, e importación de recursos existentes
  • Un método para despliegues fallidos: leer los eventos desde la primera falla, mapear el estado del stack a la recuperación que permite, y diagnosticar errores de permisos, agotamiento de direcciones en subnets, service quotas, señales que faltan, y rollbacks que también fallan
  • El AWS CDK: niveles de constructs, apps y stacks, bootstrapping, el flujo synth-diff-deploy, y qué cambia para quien opera cuando el template se genera en vez de escribirse
  • Terraform para CloudOps: el state y por qué necesita un backend remoto con locking en AWS, el flujo write-plan-apply, en qué difiere de CloudFormation ante un rollback y ante el drift, y la práctica de branch y pull request en Git que vuelve segura cualquiera de estas herramientas en equipo

Por qué importa

Las habilidades 3.1.2 y 3.1.3 del blueprint de SOA-C03 cubren crear recursos con CloudFormation y el CDK y remediar problemas de despliegue, y la 3.1.6 nombra a Terraform y Git directo. Las preguntas de esta área casi nunca son definiciones. Te dan un stack en ROLLBACK_COMPLETE, un update que reemplazó una base de datos en silencio, una wait condition que venció, o una subnet que se quedó sin direcciones, y te piden la siguiente acción.

En el trabajo estas mismas habilidades deciden cuánto cuesta una mala tarde. Quien lee un change set antes de ejecutarlo no pierde una base de datos de producción por el cambio de una palabra en una property, y quien sabe qué estados de stack permiten qué operaciones recupera un despliegue roto en minutos en vez de escalarlo.

Lecciones de este tema

  1. 1Fundamentos de CloudFormationGratis
  2. 2Operaciones de stacks en CloudFormation
  3. 3Diagnóstico de despliegues de CloudFormation
  4. 4Fundamentos del AWS CDK
  5. 5Terraform y Git para CloudOps