[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-terraform-07":3},{"content":4,"date":5,"image":6,"sideArticles":7},"\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"es\">\r\n\r\n\u003Chead>\r\n    \u003Cmeta charset=\"UTF-8\">\r\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    \u003Cmeta name=\"description\"\r\n        content=\"Módulo 7: Creación de Módulos Reutilizables locales en GCP con Terraform. Aprende a encapsular lógica de infraestructura, organizar directorios y consumir módulos personalizados.\">\r\n    \u003Cmeta name=\"keywords\"\r\n        content=\"Terraform, Google Cloud, GCP, Módulos, Reutilización, Encapsulamiento, Compute Engine, Estructura, Código\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>Laboratorio 7: Creación de Módulos Reutilizables | Curso Terraform GCP\u003C/title>\r\n    \u003Cstyle>\r\n        body {\r\n            font-family: sans-serif;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        h1,\r\n        h2,\r\n        h3 {\r\n            color: #333;\r\n        }\r\n\r\n        ul {\r\n            list-style-type: disc;\r\n            margin-left: 20px;\r\n        }\r\n\r\n        code {\r\n            background-color: #f4f4f4;\r\n            padding: 2px 5px;\r\n            border-radius: 3px;\r\n            font-family: monospace;\r\n        }\r\n    \u003C/style>\r\n\u003C/head>\r\n\r\n\u003Cbody>\r\n    \u003Ch1>Laboratorio 7: Modularización de Código (Creando tu Primer Módulo Reutilizable)\u003C/h1>\r\n\r\n    \u003Cp>\u003Cstrong>Autor:\u003C/strong> \u003Ca href=\"https://www.youtube.com/@EduardoMartinezAgrelo\" target=\"_blank\">Eduardo Martínez\r\n            Agrelo\u003C/a>\u003C/p>\r\n\r\n    \u003Cp>Bienvenidos al séptimo laboratorio del curso de \u003Cstrong>Terraform\u003C/strong>. En este módulo práctico, aprenderemos\r\n        a modularizar nuestra infraestructura. Encapsularemos la lógica compleja de creación de recursos en \u003Cstrong>Google Cloud\u003C/strong>\r\n        para crear planos de arquitectura consistentes y reutilizables.\r\n    \u003C/p>\r\n\r\n    \u003Ch2>La Arquitectura de Módulos: Módulo Raíz versus Módulo Hijo\u003C/h2>\r\n\r\n    \u003Cp>El desarrollo a nivel empresarial requiere evitar la redundancia y simplificar los archivos principales. Los\r\n        módulos actúan de forma similar a las funciones en programación, ocultando la complejidad técnica interna tras\r\n        una interfaz de variables limpia e interactiva:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Módulo Raíz:\u003C/strong> Constituye el punto de entrada principal del proyecto desde donde invocamos\r\n            las llamadas a los diferentes módulos de infraestructura.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Módulo Hijo:\u003C/strong> Contiene el manifiesto detallado de los recursos y define sus propios\r\n            parámetros de variables y salidas correspondientes.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Invocación del Módulo Local mediante Rutas Relativas\u003C/h2>\r\n\r\n    \u003Cp>Para consumir nuestro módulo personalizado de cómputo, debemos declararlo en el archivo raíz. Utilizaremos la\r\n        propiedad de origen para que el motor localice el subdirectorio de forma relativa:\u003C/p>\r\n    \u003Cp>\u003Ccode>source = \"./modules/gce_instance\"\u003C/code>\u003C/p>\r\n    \u003Cp>Al ejecutar la inicialización, Terraform registrará de manera interna el módulo local. Pasaremos atributos\r\n        específicos, como la subred y el script de arranque, abstrayendo así toda la lógica detallada de la máquina\r\n        virtual del plano de vista principal.\u003C/p>\r\n\r\n    \u003Ch2>Abstracción y Consistencia en Arquitecturas Cloud\u003C/h2>\r\n\r\n    \u003Cp>Para mantener políticas consistentes en múltiples entornos como desarrollo o producción, es una práctica\r\n        recomendada modularizar. No copiaremos configuraciones sueltas; utilizaremos \u003Cstrong>Terraform\u003C/strong> para\r\n        encapsular recursos recurrentes y estandarizar despliegues de forma organizada:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>gce_instance:\u003C/strong> Empaquetará de manera unificada la plantilla de disco, la interfaz de red de\r\n            \u003Cstrong>Compute Engine\u003C/strong> y las opciones seguras de \u003Cstrong>GCP\u003C/strong>.\u003C/li>\r\n        \u003Cli>\u003Cstrong>outputs:\u003C/strong> Expondrá el valor de la IP pública hacia la raíz permitiendo acoplar la\r\n            configuración con otros elementos del \u003Cstrong>proyecto\u003C/strong>.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>La Estructura Organizativa del Módulo\u003C/h2>\r\n\r\n    \u003Cp>En este laboratorio, organizarás la estructura física de tu repositorio de forma rigurosa. Crearemos los archivos\r\n        de definición del módulo dentro del directorio dedicado \u003Ccode>modules/gce_instance\u003C/code>, separando limpiamente\r\n        las variables locales del código del módulo hijo.\u003C/p>\r\n\r\n    \u003Ch2>Conclusión: Infraestructura modular y escalable\u003C/h2>\r\n    \u003Cp>Has completado el laboratorio de modularización de código. Has aprendido que el diseño modular consiste en\r\n        encapsular recursos repetitivos bajo rutas relativas, simplificando la legibilidad general y garantizando la\r\n        consistencia en múltiples entornos de despliegue. Ya tienes las bases de la arquitectura limpia listas en Google\r\n        Cloud; el siguiente paso es avanzar al Laboratorio 8 para desplegar bases de datos privadas con Cloud SQL.\u003C/p>\r\n\u003C/body>\r\n\r\n\u003C/html>","July 2, 2026","https://storage.googleapis.com/mp-blog/images/curso-gcp-terraform-07.jpg",[8,14,19,24],{"id":9,"title":10,"description":11,"image":12,"date":13},"curso-gcp-ai-ops-01","Fundamentos de AIOps en Google Cloud | Curso AIOps con Vertex AI","Módulo 1: Fundamentos de AIOps en Google Cloud. Aprende la transición de ITOps a operaciones inteligentes y cómo preparar tu infraestructura base con Terraform.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-01.jpg","May 28, 2026",{"id":15,"title":16,"description":17,"image":18,"date":13},"curso-gcp-ai-ops-02","Vertex AI para AIOps: AutoML y Despliegue | Curso AIOps","Módulo 2: Gestión de modelos con Vertex AI para AIOps. Aprende a utilizar AutoML, gestionar datasets tabulares y desplegar endpoints de predicción.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-02.jpg",{"id":20,"title":21,"description":22,"image":23,"date":13},"curso-gcp-ai-ops-03","Observabilidad Inteligente en GCP | Curso AIOps","Módulo 3: Observabilidad Inteligente en GCP. Configuración de Cloud Monitoring, Cloud Logging y creación de dashboards predictivos correlacionados con BigQuery.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-03.jpg",{"id":25,"title":26,"description":27,"image":28,"date":13},"curso-gcp-ai-ops-04","Automatización Operativa y Remediación | Curso AIOps","Módulo 4: Automatización Operativa en AIOps. Aprende a crear arquitecturas dirigidas por eventos con Cloud Functions y Pub/Sub para la remediación automática.","https://storage.googleapis.com/mp-blog/images/curso-gcp-ai-ops-04.jpg",1783009252494]