Contenido del curso
Planificación y Gestión del Proyecto
Desarrollo, Versionamiento y Pruebas
- 5

Crea tu primera API con .NET en GitHub
06:38 min - 6

Pruebas unitarias con xUnit en .NET
06:40 min - 7

Blindaje de rama main y gestión de commits en GitHub
07:06 min - 8

GitHub Actions para validar pruebas en pull requests
08:34 min - 9

Dockerfile para API .NET en Docker local
06:51 min - 10

CI/CD para imágenes Docker en GitHub Actions
05:58 min - 11

Publicar imagen Docker en Hub con GitHub Actions
06:21 min
CI/CD
Observabilidad, Mejora Continua
- 15

OpenTelemetry con Azure Application Insights
08:16 min - 16

Variables de ambiente en GitHub Actions y Azure Container App
09:49 min - 17

Creación de paneles personalizados con Azure Workbooks
09:49 min - 18

Creación de método para obtener contactos con pruebas unitarias
04:01 min - 19

Deploy automático con pull request en Azure
04:29 min - 20

Herramientas DevOps que puedes intercambiar
04:05 min - 21

Scrum y DevOps juntos en GitHub Projects
03:31 min - 22

Qué sigue después de tu primer pipeline
02:55 min
Despliegue de infraestructura Azure con Terraform
Resumen
Desplegar infraestructura en Azure con Terraform es el paso que conecta el código de tu API con el entorno real donde vivirá. Aprenderás a crear los archivos base, inicializar el backend remoto y aplicar los recursos necesarios para hospedar una aplicación contenerizada, una habilidad clave para cualquier perfil DevOps moderno.
¿Por qué la parte ops importa tanto como el código?
La parte dev cubre el código, las pruebas y la lógica de la API. La parte ops se encarga del despliegue de la infraestructura donde esa aplicación se va a hospedar. Y aquí viene lo interesante: los roles ya no están tan separados.
Hoy el programador necesita conocer la infraestructura donde correrá su código, y el de infraestructura necesita entender qué tipo de aplicación va a desplegar. Esa mezcla de habilidades dio origen a lo que muchos llaman el ingeniero DevOps especialista, un perfil híbrido que la industria adoptó casi de forma natural.
¿Qué hace un ingeniero DevOps? Combina habilidades de desarrollo y operaciones para automatizar el despliegue, la configuración y el mantenimiento de la infraestructura donde corre una aplicación.
¿Cómo organizar los archivos de Terraform para Azure?
Dentro de tu proyecto vas a crear una carpeta llamada Infra, y ahí dentro irán los archivos que estructuran tu despliegue [01:30].
La configuración base se divide en cuatro archivos:
backends.tf: define dónde se guarda el estado de Terraform. Necesitas tener creada previamente una cuenta de almacenamiento en Azure que hospede ese estado.provider.tf: declara el proveedor de Azure usando Azure RM y agrega el identificador de tu suscripción.variables.tf: contiene las variables que usará tu despliegue. Puedes asignar valores por defecto para ganar tiempo, aunque lo ideal es crear un archivoterraform.tfvarspara sobrescribir ese comportamiento.main.tf: aquí van todos los recursos que se van a desplegar.
¿Qué recursos se despliegan en main.tf?
El archivo main.tf agrupa los recursos que sostienen la API:
- Un grupo de recursos que actúa como contenedor lógico en Azure.
- Una instancia de Application Insights para monitoreo y telemetría.
- Un Log Analytics que comunica los componentes y centraliza los logs.
- Un Container App Environment, que es el entorno donde se hospedarán los contenedores de la aplicación [03:30].
¿Cuál es la secuencia de comandos para desplegar con Terraform?
Una vez que la carpeta Infra está lista, te ubicas en ella desde la terminal y sigues la secuencia documentada.
- Inicializar el backend remoto con el SAS token de tu cuenta de almacenamiento:
bash terraform init -backend-config="sas_token=TU_SAS_TOKEN"
- Generar el plan y guardarlo en un archivo para revisar los cambios antes de aplicarlos:
bash terraform plan -out=plan.out
- Aplicar el plan para crear los recursos en Azure:
bash terraform apply plan.out
Cuando el apply termina, puedes confirmar el despliegue desde el portal de Azure. En la lista de grupos de recursos vas a ver el Rg-warn recién creado con todo lo necesario para trabajar.
¿Para qué sirve el comando terraform plan -out? Genera un archivo con el plan de cambios que Terraform va a ejecutar. Así puedes revisarlo antes de aplicarlo y asegurarte de que solo se modifique lo que esperas.
¿Cuándo usar terraform destroy?
Este despliegue manual es solo una prueba para validar que la configuración funciona como esperas. Por eso, tras confirmar que todo quedó bien, ejecutas:
bash terraform destroy
Terraform pedirá una confirmación, presionas enter y todos los recursos se eliminan. Es la forma limpia de cerrar la prueba antes de pasar al siguiente paso [06:50].
¿Qué sigue después de validar la infraestructura manualmente?
Desplegar la infraestructura a mano sirve para comprobar que cada archivo y cada recurso están bien definidos. Pero lo que realmente quieres es que ese mismo despliegue ocurra de forma automatizada dentro de un proceso de CI/CD.
Con CI/CD configurado, agregar nuevas instancias, nuevos elementos o cualquier cambio que tu arquitectura necesite se desplegará solo, sin intervención manual. Esa es la pieza que convierte un despliegue funcional en un flujo de trabajo profesional.
¿Ya tienes lista tu cuenta de almacenamiento y tu SAS token para inicializar el backend? Cuéntame en los comentarios cómo te fue con tu primer terraform apply.