Contenidos y evaluación
Criterios de evaluación
La evaluación de la microcredencial se basa en los siguientes criterios:
- 20% asistencia y participación activa durante las sesiones.
- 30% ejercicios y cuestionarios.
- 50% practica final.
Contenidos
Módulo 1: Fundamentos de la Infraestructura como Código
Contenido
- Introducción Histórica: De la administración de sistemas tradicional a la automatización.
- Definición de IaC: Conceptualización, problemas que resuelve (deriva de configuración, falta de reproducibilidad).
- Principios Fundamentales:
- Idempotencia: Garantizar que el resultado sea siempre el mismo, sin importar cuántas veces se ejecute.
- Inmutabilidad: El concepto de no modificar la infraestructura existente, sino reemplazarla.
- Enfoques de IaC:
- Declarativo (Qué): Definir el estado final deseado (Ej. Terraform, CloudFormation).
- Imperativo (Cómo): Definir los pasos para alcanzar el estado deseado (Ej. Scripts en Bash, Ansible).
- El Ecosistema DevOps: Cómo la IaC se integra como pilar fundamental en los ciclos de CI/CD (Integración Continua / Despliegue Continuo).
- Los distintos sistemas IaC en la actualidad: Terraform, Pulumi, OpenTofu, AWS CloudFormation, GoogleCloud Deployment Manager, Azure Resource Manager
Competencias
- Diferenciar entre la gestión de infraestructura tradicional y la gestión mediante código.
- Articular los beneficios clave de la IaC, como la velocidad, la consistencia y la reducción de riesgos.
- Comprender y explicar los principios de idempotencia e inmutabilidad.
- Distinguir entre un enfoque declarativo y uno imperativo, identificando las herramientas principales de cada uno."
Módulo 2: Fundamentos de Cloud
Contenido
- Conceptos Clave de la Computación en la Nube:
- Modelos de servicio: IaaS (Infraestructura como Servicio), PaaS (Plataforma como Servicio), SaaS (Software como Servicio).
- Modelos de despliegue: Nube Pública, Privada e Híbrida.
- Proveedores Principales: Breve introducción a los líderes del mercado (AWS, Azure, Google Cloud Platform).
- Recursos Fundamentales de Infraestructura en la Nube:
- Cómputo: Máquinas Virtuales (VMs), Instancias.
- Almacenamiento: Almacenamiento de objetos (ej. S3), discos persistentes.
- Redes (Networking): Redes Virtuales Privadas (VPC/VNet), Subredes, Grupos de Seguridad/Reglas de Firewall.
- Modelo de Responsabilidad Compartida: Entender qué parte de la seguridad y gestión corresponde al proveedor de la nube y cuál al cliente.
Competencias
- Identificar los diferentes modelos de servicio y despliegue de la nube.
- Reconocer los componentes básicos de infraestructura (cómputo, almacenamiento, red) que se pueden gestionar en un entorno cloud.
- Comprender el concepto de responsabilidad compartida y su implicación en la gestión de la infraestructura.
Módulo 3 Aprovisionamiento de Infraestructura con Terraform
Contenido
- Introducción a HashiCorp Terraform: Arquitectura y componentes principales.
- Configuración del Entorno: Instalación de Terraform y configuración de las credenciales del proveedor de nube.
- Lenguaje de Configuración HCL (HashiCorp Configuration Language):
- Sintaxis básica: bloques, argumentos y expresiones.
- El Flujo de Trabajo Esencial de Terraform:
terraform init: Inicialización del proyecto y descarga de proveedores.terraform plan: Previsualización de los cambios a realizar.terraform apply: Creación o actualización de la infraestructura.terraform destroy: Eliminación de la infraestructura gestionada.
- Definición de Recursos (Resources):
- Sintaxis para declarar recursos básicos (ej. una máquina virtual, una IP pública).
- Gestión del Estado (State):
- Qué es el fichero
terraform.tfstate, su importancia y por qué debe ser gestionado con cuidado.
- Qué es el fichero
Competencias
- Instalar y configurar Terraform para interactuar con un proveedor de nube.
- Escribir configuraciones básicas en HCL para definir recursos de infraestructura.
- Ejecutar el ciclo de vida completo de Terraform (init, plan, apply, destroy) para gestionar recursos en la nube.
- Comprender la función crítica del fichero de estado de Terraform.
Módulo 4: Construcción de Infraestructura Modular y Reutilizable
Contenido
- Parametrización de Configuraciones:
- Variables de Entrada (Input Variables): Uso de variable para crear configuraciones flexibles y reutilizables.
- Valores de Salida (Output Values): Uso de output para exponer datos de la infraestructura creada.
- Estructuración del Código:
- Módulos (Modules): Concepto de módulo como contenedor de recursos relacionados para fomentar la reutilización.
- Uso de módulos locales y del registro público de Terraform.
- Expresiones y Funciones: Uso de count, bucles for_each, condicionales y funciones integradas para crear configuraciones dinámicas.
- Fuentes de Datos (Data Sources): Cómo obtener información de recursos existentes en la nube para usarla en la configuración.
Competencias
- Utilizar variables y salidas para crear plantillas de infraestructura genéricas y parametrizables.
- Estructurar código de Terraform en módulos reutilizables para mejorar la mantenibilidad y escalabilidad.
- Aplicar expresiones y funciones para construir infraestructuras dinámicas que se adapten a diferentes requisitos.
Módulo 5: Proyecto Práctico y Mejores Prácticas
Contenido
- Deplegar una arquitecrura basada en contenedores autoescalable en un proveedor Cloud.
Competencias
- Aplicar los conocimientos adquiridos a lo largo del curso.