Pulumi Explicado: Infraestructura como Código Moderna para DevOps
El concepto de gestionar infraestructura como código es esencial en entornos DevOps. Además, sería imposible mantener un pipeline DevOps eficiente sin él. Herramientas de infraestructura-como-código como Pulumi ayudan a los equipos DevOps a automatizar sus esquemas de aprovisionamiento de recursos a escala.
Este artículo te presentará el concepto de infraestructura-como-código. También aprenderás por qué Pulumi, una herramienta moderna de infraestructura como código, es popular en la comunidad DevOps.
Infraestructura como Código Explicada
Infraestructura-como-Código (IaC) es el proceso de automatizar esquemas de aprovisionamiento y gestión de recursos usando lenguajes de codificación descriptivos.
Antes de la infraestructura como código (IaC), los administradores de sistemas tenían que configurar, desplegar y gestionar recursos de servidores manualmente. Tenían que configurar máquinas bare metal antes de poder desplegar apps. Gestionar infraestructura manualmente causaba muchos problemas. Era costoso, lento, difícil de escalar y propenso a error humano.
Con la introducción de la computación en la nube, el despliegue de entornos virtualizados se simplificó, pero los administradores aún tenían que desplegar el entorno manualmente. Tenían que entrar al dashboard web del proveedor Cloud y hacer clic en botones para desplegar configuraciones de servidor deseadas.
Sin embargo, cuando necesitas desplegar cientos de servidores a través de múltiples proveedores Cloud y ubicaciones lo más rápido posible, hacerlo todo a mano es impráctico.

IaC permite a los equipos DevOps desplegar y gestionar infraestructura a escala y a través de múltiples proveedores con instrucciones simples. Todo lo que se necesita es escribir un archivo de configuración y ejecutarlo para desplegar los entornos deseados automáticamente. Los algoritmos de código definen el tipo de entorno requerido, y la automatización lo despliega.
¿Qué es Pulumi?
Pulumi es una herramienta de infraestructura como código de código abierto que utiliza los lenguajes de programación más populares para simplificar el aprovisionamiento y gestión de recursos Cloud.
Fundada en 2017, Pulumi ha cambiado fundamentalmente la forma en que los equipos DevOps abordan el concepto de infraestructura-como-código. En lugar de depender de lenguajes específicos de dominio, Pulumi permite a las organizaciones usar lenguajes de programación reales para aprovisionar y desmantelar infraestructura Cloud-nativa.

A diferencia de Terraform, que tiene su lenguaje propietario y sintaxis para definir infraestructura como código, Pulumi usa lenguajes reales. Puedes escribir archivos de configuración en Python, JavaScript o TypeScript. En otras palabras, no estás obligado a aprender un nuevo lenguaje de programación solo para gestionar infraestructura.
Para ver cómo Pulumi se compara con otras soluciones similares, lee nuestro artículo Pulumi vs Terraform
Como plataforma Cloud-nativa, Pulumi te permite desplegar cualquier tipo de infraestructura Cloud: servidores virtuales, contenedores, aplicaciones o funciones serverless. También puedes desplegar y gestionar recursos a través de múltiples proveedores Cloud como AWS, Microsoft Azure o PNAP Bare Metal Cloud.
El enfoque único de Pulumi hacia IaC permite a los equipos DevOps gestionar su infraestructura como una aplicación escrita en su lenguaje elegido. Usando Pulumi, puedes aprovechar funciones, bucles y condicionales para crear entornos Cloud dinámicos. Pulumi ayuda a los desarrolladores a crear componentes reutilizables, eliminando la molestia de copiar y pegar miles de líneas de código.
Pulumi soporta los siguientes lenguajes de programación:
- Python
- JavaScript
- Go
- TypeScript
- Lenguajes .NET (C#, F# y VB)
¿Cómo Funciona Pulumi?
Pulumi se ha convertido en la herramienta favorita de infraestructura-como-código en entornos DevOps debido a su naturaleza multi-lenguaje y multi-Cloud. Proporciona a los ingenieros DevOps un método familiar de gestionar recursos.
Pulumi hace esto a través de su modelo de objetos Cloud y runtime de evaluación. Toma tu programa escrito en cualquier lenguaje, averigua qué recursos Cloud quieres gestionar y ejecuta tu programa. Todo esto es posible porque es inherentemente neutral en lenguaje y neutral en Cloud.
Tres componentes componen el sistema central de Pulumi:
- Host de lenguaje. El host de lenguaje ejecuta tu programa Pulumi para crear un entorno y registrar recursos con el motor de despliegue.
- Motor de despliegue. Ejecuta numerosas comprobaciones y computaciones para determinar si debe crear, actualizar, eliminar o replicar recursos.
- Proveedores de recursos. Pulumi descarga automáticamente paquetes y plugins en segundo plano según tus especificaciones de lenguaje y proveedor Cloud.
Pulumi te permite gestionar tu infraestructura a través de una app web o interfaz de línea de comandos (CLI).
Para empezar a usar Pulumi, primero tienes que registrarte y crear una cuenta. Una vez registrado, debes especificar el lenguaje de programación y el proveedor de servicio Cloud.
Si prefieres usar la CLI, necesitarás instalarla en tu máquina local y autenticarla con tu cuenta y proporcionar credenciales secretas que obtienes de tu proveedor Cloud.
Para una explicación detallada de cómo funciona Pulumi, echa un vistazo a este tutorial rápido.
8 Características y Ventajas de Pulumi
1. Código abierto: Pulumi es gratuito para uso individual ilimitado. Sin embargo, si quieres usarlo en equipo, tendrás que pagar una pequeña tarifa anual.
2. Multi-lenguaje: Usa tu lenguaje de programación favorito para escribir archivos de configuración de infraestructura. Como plataforma IaC neutral en lenguaje, Pulumi no te obliga a aprender un nuevo lenguaje de programación, ni usa lenguajes específicos de dominio. No tienes que escribir una sola línea de código YAML con Pulumi.
3. Multi-Cloud: Aprovisiona, escala y desmantela infraestructura y recursos a través de numerosos proveedores de servicios Cloud. Entre ellos, la plataforma Bare Metal Cloud de phoenixNAP, Google Cloud, AWS, Microsoft Azure.
4. CLI rica en características: La fuerza impulsora que hace a Pulumi tan versátil es su interfaz de línea de comandos (CLI) simple pero potente. A través de la CLI, el despliegue y desmantelamiento de infraestructura y servidores Cloud se realiza con un conjunto de comandos emitidos en la terminal. Puedes usar Pulumi en Linux, Windows y OS X.
5. Modelo de objetos Cloud: El modelo de objetos Cloud subyacente ofrece una visión detallada de cómo se construyen tus programas. Entrega un modelo de programación unificado que te permite gestionar software Cloud en cualquier lugar y a través de cualquier proveedor Cloud.
6. Stacks: Los Stacks son instancias aisladas de tu programa Cloud que difieren de tus otros programas. Con Pulumi, puedes desplegar numerosos stacks para diversos propósitos. Por ejemplo, puedes desplegar y desmantelar stacks de staging, testing o un stack de producción.
7. Componentes reutilizables: No hay necesidad de copiar y pegar miles de líneas de código. Pulumi te ayuda a seguir las mejores prácticas de codificación permitiéndote reutilizar código existente a través de diferentes proyectos. El código no define solo una instancia; define toda la arquitectura.
8. Arquitectura unificada: Las organizaciones DevOps pueden usar y reutilizar componentes para gestionar infraestructura y construir una arquitectura única y política de testing. Tal libertad permite a los equipos construir una plataforma interna.
Conclusión
El soporte de Pulumi para los lenguajes de programación más populares ayuda a DevOps a mantenerse productivo sin perder tiempo gestionando infraestructura. Aunque Pulumi podría no ser la única herramienta de infraestructura-como-código que no impone un lenguaje propietario, es sin duda la más flexible porque es Cloud-agnóstica.
Puedes aprovechar el poder de Pulumi a través de múltiples proveedores Cloud escribiendo archivos de configuración en lenguajes que ya usas para ejecutar tus apps.
Computación en la nube
- Bombas Industriales: Tipos, Funcionamiento y Características Clave
- Fundamentos y Avances de la Tecnología de Motores de CA
- Dominar la edición de postprocesadores: Guía profesional para mecanizado de precisión
- Códigos G CNC Explicados: Guía Esencial para Programadores
- Tornillos de punta (toe clamps) explicados: características, beneficios y cómo elegir el adecuado
- Entendiendo el sensor de oxígeno (O2): función, ubicación y señales de fallo
- Código HS para Bomba Hidráulica: Clasificación y Uso
- ¿Qué es Programar? Guía Práctica de Lenguajes, Flujos de Trabajo y Desafíos Comunes
- Infraestructura como Código: beneficios, desafíos y mejores prácticas
- ¿Qué es el acero A2? Un grado de acero para herramientas versátil y rentable para aplicaciones industriales y de carpintería
- Fundamentos de Verilog: Diseñando tu primera compuerta AND