Pulumi 1.0: IaC con linguaggi di programmazione veri

Pulumi 1.0 (settembre 2019) di Joe Duffy e Eric Rudder: Infrastructure as Code con TypeScript, Python, Go, C#, Java invece di DSL. Multi-cloud, stato gestito, compatibilità provider Terraform. Alternativa moderna a Terraform.

Open Source PulumiIaCTypeScriptPythonMulti-cloudOpen Source

Oltre gli HCL/YAML

Terraform (HCL), CloudFormation (YAML/JSON), ARM templates (JSON) sono DSL dedicati: espressivi ma limitati in astrazione, riuso, testing. Per operazioni complesse serve un linguaggio Turing-completo con loop, condizionali, moduli, test, refactoring.

Il rilascio

Pulumi è fondata nel 2017 da Joe Duffy (ex-Microsoft, architetto .NET Core) e Eric Rudder. Versione 1.0 pubblicata il 4 settembre 2019. Licenza Apache 2.0 per il core. Scritto in Go, runtime per molti linguaggi.

Linguaggi supportati

  • TypeScript / JavaScript
  • Python
  • Go
  • C# / F# / VB (.NET)
  • Java
  • YAML (per chi vuole stile dichiarativo)
import * as aws from "@pulumi/aws";

const bucket = new aws.s3.Bucket("my-bucket", {
    acl: "private",
    tags: { Environment: "prod" }
});

export const bucketName = bucket.id;

Caratteristiche

  • Real code — classi, funzioni, moduli, package manager nativo
  • Type safety — schema-based
  • Multi-cloud — AWS, Azure, GCP, Kubernetes, Cloudflare, Datadog, MongoDB Atlas
  • Terraform provider bridge — riusa tutti i provider Terraform
  • State backend — Pulumi Cloud (managed), S3, Azure Blob, GCS, self-hosted
  • Stacks — ambienti (dev/staging/prod) con config separata
  • Policy as Code — CrossGuard con OPA/Rego o TS
  • Automation API — Pulumi come libreria, non solo CLI

Terraform vs Pulumi

TerraformPulumi
LinguaggioHCLTS/Python/Go/C#/Java
Ecosystem providerOriginaleBridge + nativo
StateTerraform Cloud, locale, S3Pulumi Cloud, S3, etc.
ModularitàModuli HCLPackage del linguaggio
Testingterratest (Go)native unit test + property test
Licenza coreMPL 2.0Apache 2.0

Nel contesto italiano

Pulumi sta entrando nei team italiani full-stack TypeScript/Python come alternativa a Terraform: startup cloud-native, fintech con policy as code, platform engineering di aziende grandi, SaaS B2B con deploy multi-cliente via Automation API.


Riferimenti: Pulumi 1.0 (4 settembre 2019). Joe Duffy, Eric Rudder. Licenza Apache 2.0 (core). Multi-linguaggio: TS, Python, Go, C#, Java. Terraform provider bridge. Automation API.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi