El SDK de infraestructura como código de Pulumi es la forma más fácil de construir e implementar infraestructura, de cualquier arquitectura y en cualquier nube, utilizando lenguajes de programación que ya conoce y ama. Codifique y envíe infraestructura más rápido con sus lenguajes y herramientas favoritos, e integre IaC en cualquier lugar con Automation API.
Simplemente escriba código en su idioma favorito y Pulumi aprovisionará y administrará automáticamente sus recursos en AWS, Azure, Google Cloud Platform, Kubernetes y más de 120 proveedores utilizando un enfoque de infraestructura como código. Omita el YAML y utilice funciones de lenguaje estándar como bucles, funciones, clases y administración de paquetes que ya conoce y ama.
Por ejemplo, cree tres servidores web:
const aws = require("@pulumi/aws");const sg = new aws.ec2.SecurityGroup("web-sg", {ingress: [{ protocolo: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"] }],});for (let i = 0; i < 3; i++) {new aws.ec2.Instance(`web-${i}`, {ami: "ami -7172b611", tipo de instancia: "t2.micro", vpcSecurityGroupIds: [sg.id], userData: `#!/bin/bash echo "¡Hola, mundo!" > index.html nohup python -m SimpleHTTPServer 80 &`,} );}
O un simple temporizador sin servidor que archiva Hacker News todos los días a las 8:30 a. m.:
const aws = require("@pulumi/aws");const snapshots = new aws.dynamodb.Table("instantáneas", {atributos: [{ nombre: "id", tipo: "S", }],hashKey: " id", billingMode: "PAY_PER_REQUEST",});aws.cloudwatch.onSchedule("daily-yc-snapshot", "cron(30 8 * * ? *)", () => {require("https"). get("https://news.ycombinator.com", res => {let content = "";res.setEncoding("utf8");res.on("datos", fragmento => contenido += fragmento); res.on("end", () => new aws.sdk.DynamoDB.DocumentClient().put({TableName: snapshots.name.get(),Item: { fecha: Date.now(), contenido }, }).promise());}).end();});
Hay muchos ejemplos disponibles que abarcan contenedores, sin servidor e infraestructura en pulumi/examples.
Pulumi es de código abierto bajo la licencia Apache 2.0, admite muchos idiomas y nubes y es fácil de ampliar. Este repositorio contiene la CLI pulumi
, los SDK de lenguaje y el motor central de Pulumi, y las bibliotecas individuales se encuentran en sus propios repositorios.
Comience con Pulumi : implemente una aplicación sencilla en AWS, Azure, Google Cloud o Kubernetes utilizando Pulumi.
Aprender : siga los caminos de aprendizaje de Pulumi para aprender las mejores prácticas y patrones arquitectónicos a través de ejemplos auténticos.
Ejemplos : explore varios ejemplos en muchos idiomas, nubes y escenarios, incluidos contenedores, sin servidor e infraestructura.
Documentos : conozca los conceptos de Pulumi, siga las guías del usuario y consulte la documentación de referencia.
Registro : Encuentre el Paquete Pulumi con los recursos que necesita. Instale el paquete directamente en su proyecto, explore la documentación de la API y comience a compilar.
Pulumi ESC : gestión y orquestación de secretos centralizadas. Domine los secretos y la complejidad de la configuración de forma segura en toda su infraestructura y aplicaciones en la nube.
Hoja de ruta de Pulumi : revise el trabajo planificado para el próximo trimestre y una selección de temas pendientes que tenemos en mente pero que aún no están programados.
Community Slack : Únase a nosotros en Pulumi Community Slack. Todas las conversaciones y preguntas son bienvenidas.
Discusiones de GitHub : haga preguntas o comparta lo que está creando con Pulumi.
Consulte la guía de introducción para empezar a utilizar Pulumi rápidamente en su plataforma y nube de elección.
De lo contrario, los siguientes pasos demuestran cómo implementar su primer programa Pulumi, utilizando AWS Serverless Lambdas, en minutos:
Instalar :
Para instalar la última versión de Pulumi, ejecute lo siguiente (consulte las instrucciones de instalación completas para conocer opciones de instalación adicionales):
$ curl -fsSL https://get.pulumi.com/ | sh
Crear un proyecto :
Después de la instalación, puede comenzar con el pulumi new
:
$ mkdir pulumi-demo && cd pulumi-demo $ pulumi nuevo hola-aws-javascript
El new
comando ofrece plantillas para todos los idiomas y nubes. Ejecútelo sin argumentos y le indicará los proyectos disponibles. Este comando creó un proyecto AWS Serverless Lambda escrito en JavaScript.
Implementar en la nube :
Ejecute pulumi up
para llevar su código a la nube:
$ pulumi arriba
Esto hace que todos los recursos de la nube sean necesarios para ejecutar su código. Simplemente realice modificaciones en su proyecto y pulumi up
posteriores calcularán la diferencia mínima para implementar sus cambios.
Utilice su programa :
Ahora que su código está implementado, puede interactuar con él. En el ejemplo anterior, podemos curvar el punto final:
$ curl $(URL de salida de la pila Pulumi)
Acceda a los registros :
Si está utilizando contenedores o funciones, el comando de registro unificado de Pulumi mostrará todos sus registros:
$ troncos pulumi -f
Destruye tus recursos :
Una vez que haya terminado, puede eliminar todos los recursos creados por su programa:
$ pulumi destruir -y
Para obtener más información, visite pulumi.com para obtener mucha más información, incluidos tutoriales, ejemplos y detalles de los conceptos básicos del modelo de programación y la CLI de Pulumi.
Pulumi CLI v1 y v2 ya no son compatibles. Si aún no está ejecutando la versión 3, considere migrar a la versión 3 para continuar obteniendo lo último y lo mejor que Pulumi tiene para ofrecer. ?
Para migrar de v2 a v3, consulte nuestra Guía de migración a v3.
Visite el Registro para obtener la lista completa de proveedores de infraestructura y nube compatibles.
Visite CONTRIBUTING.md para obtener información sobre cómo construir Pulumi desde la fuente o contribuir con mejoras.