← Vissza az Eszközökhöz
Weboldal: https://www.pulumi.com/
Áttekintés
A Pulumi egy Infrastructure as Code (IaC) platform, amely lehetővé teszi a felhő infrastruktúra definiálását, telepítését és kezelését ismert programozási nyelvek használatával, mint a TypeScript, Python, Go, C# és Java, domain-specifikus nyelvek helyett.
Cél
- Infrastruktúra definiálása valódi programozási nyelvekkel
- Felhő erőforrások kezelése AWS, Azure, GCP, Kubernetes és más platformokon
- Terraform, CloudFormation, ARM sablonok helyettesítése vagy kiegészítése
- Szoftverfejlesztési legjobb gyakorlatok alkalmazása az infrastruktúrára
- Infrastruktúra telepítések automatizálása CI/CD-vel
Használati esetek
- Multi-cloud infrastruktúra - Telepítés AWS, Azure, GCP, Kubernetes platformokra egy kódbázisból
- Infrastruktúra automatizálás - Programozott kontroll a felhő erőforrások felett
- Kubernetes kezelés - Kubernetes erőforrások definiálása és telepítése
- Szerver nélküli alkalmazások - Lambda, Cloud Functions, Azure Functions telepítése
- Konténer orkesztráció - Docker, ECS, AKS, GKE kezelése
- Adatbázis kiosztás - RDS, CosmosDB, Cloud SQL létrehozása és konfigurálása
- CI/CD folyamatok - Infrastruktúra telepítések automatizálása
- Policy as Code - Megfelelőség és irányítás érvényesítése
Főbb funkciók
Programozási nyelvek
- TypeScript/JavaScript - Népszerű webfejlesztők számára
- Python - Kiváló adat és ML csapatok számára
- Go - Nagy teljesítmény és párhuzamosság
- C#/.NET - Vállalati .NET csapatok
- Java - JVM ökoszisztéma integráció
- YAML - Egyszerű deklaratív opció
Felhő szolgáltatók
- AWS, Azure, Google Cloud
- Kubernetes, Docker
- DigitalOcean, Linode, Hetzner
- Cloudflare, Datadog, GitHub
- 100+ támogatott szolgáltató
Alapvető képességek
- Állapot kezelés - Infrastruktúra állapot követése
- Előnézet/diff - Változások megtekintése alkalmazás előtt
- Titkosítás kezelés - Titkosított konfiguráció
- Komponens modell - Újrafelhasználható infrastruktúra komponensek
- Policy as Code - CrossGuard a megfelelőséghez
- Tesztelés - Unit és integrációs tesztek az infrastruktúrához
- Meglévő erőforrások importálása - Meglévő infrastruktúra átvétele
Pulumi vs Terraform
| Funkció | Pulumi | Terraform |
|---|---|---|
| Nyelv | Valódi programozási nyelvek | HCL (HashiCorp Configuration Language) |
| Logika | Teljes programozási konstrukciók (ciklusok, feltételek) | Korlátozott HCL funkciók |
| Tesztelés | Standard tesztelési keretrendszerek | Terraform tesztelő eszközök |
| IDE támogatás | Teljes IntelliSense, automatikus kiegészítés | HCL-specifikus eszközök |
| Állapot | Pulumi Service vagy saját kezelés | Saját kezelés vagy Terraform Cloud |
Árazás
- Egyéni - Ingyenes egyéni használatra
- Csapat - Csapat együttműködési funkciók
- Vállalati - Fejlett biztonság és megfelelőség
- Saját tárhelyen - Helyszíni állapot backend opció
Példa
// TypeScript példa - AWS S3 bucket telepítése
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const bucket = new aws.s3.Bucket("my-bucket", {
website: {
indexDocument: "index.html",
},
});
export const bucketName = bucket.id;
export const websiteUrl = bucket.websiteEndpoint;Célközönség
- DevOps mérnökök
- Felhő építészek
- Platform mérnökök
- Szoftverfejlesztők, akik infrastruktúrát kezelnek
- SRE (Site Reliability Engineering) csapatok
- Csapatok, amelyek valódi programozási nyelveket szeretnének használni IaC-hez
Miért válaszd a Pulumit?
- Használj ismert programozási nyelveket új DSL-ek tanulása helyett
- Használd ki a meglévő IDE eszközöket, tesztelési keretrendszereket és csomagkezelőket
- Alkalmazd a szoftverfejlesztési legjobb gyakorlatokat az infrastruktúrára
- Gyorsabb fejlesztés ciklusokkal, függvényekkel és absztrakciókkal
- Erős típusosság és fordítási idejű ellenőrzés
Kezdő lépések
# Pulumi CLI telepítése
curl -fsSL https://get.pulumi.com | sh
# Új projekt létrehozása
pulumi new aws-typescript
# Infrastruktúra telepítése
pulumi up