Hoppa till innehåll
MolninfrastrukturTerraformOpenTofuPulumi13 min läsning

Terraform vs Pulumi vs OpenTofu: Migrationsguide efter HashiCorp-licensskiftet

Vad licensbytet till BSL faktiskt innebär, och hur du väljer mellan att stanna på Terraform, gå till OpenTofu eller byta till Pulumi - inklusive när Terraform fortfarande är rätt.

00
Terraform vs Pulumi vs OpenTofu: Migrationsguide efter HashiCorp-licensskiftet
Licensskiftet öppnade fältet - men för de flesta är valet mindre dramatiskt än det låter.Photo: Unsplash

Migrera efter HashiCorp BSL-licensen. Pulumi och OpenTofu som alternativ.

När HashiCorp bytte licens på Terraform till Business Source License gick en våg genom infrastruktursverige. Plötsligt var det inte längre självklart att fortsätta, och OpenTofu föddes som en öppen fork medan Pulumi fick förnyad uppmärksamhet. Frågan jag får är vad man ska göra. Mitt svar är lugnande: för de allra flesta är valet mindre dramatiskt än rubrikerna antyder. Här går jag igenom de tre alternativen ärligt.

Vad licensskiftet faktiskt innebär

BSL är inte en stängd licens i klassisk mening - den tillåter i princip all normal användning. Begränsningen riktar sig mot dem som bygger konkurrerande kommersiella produkter på Terraform. För ett vanligt bolag som använder Terraform för att hantera sin egen infrastruktur ändrar licensen i praktiken ingenting. Det är värt att förstå innan man fattar ett beslut grundat i oro snarare än fakta.

Terraform: stanna om det fungerar

Jag vill säga det rakt ut, eftersom mycket av debatten lutar åt motsatsen: för de flesta är det helt rimligt att stanna på Terraform. Det har det största ekosystemet, flest providers, mest dokumentation och den bredaste kompetenspoolen. Om ert team kan Terraform och ni inte bygger en konkurrerande produkt finns sällan ett tvingande skäl att byta. Att byta verktyg har en kostnad, och den ska motiveras av mer än en princip.

Den kostnaden underskattas ofta. Att byta IaC-verktyg innebär att lära om teamet, skriva om eller migrera state, anpassa pipelines och hantera en period där två verktyg samexisterar. Allt det är genomförbart, men det är arbete som inte levererar något nytt värde till verksamheten - det flyttar bara samma infrastruktur till ett annat verktyg. Om drivkraften enbart är en känsla av obehag inför licensändringen är det sällan värt priset. Är drivkraften ett konkret problem, däremot, är saken en annan.

OpenTofu: den minst smärtsamma vägen bort

Vill ni ändå lämna BSL är OpenTofu det enklaste valet. Det är en öppen fork som startade från Terraform och är i hög grad kompatibelt, så migrationen är ofta odramatisk - samma språk, samma struktur, i många fall bara ett byte av binär. OpenTofu drivs under en öppen stiftelse, vilket är själva poängen för den som värnar om en garanterat öppen licens. För den som vill bort av licensskäl men behålla allt annat är detta vägen.

Pulumi: byt språk, inte bara licens

Pulumi är en annan sak. Här beskriver du infrastrukturen i ett riktigt programmeringsspråk - TypeScript, Python, Go - i stället för ett deklarativt domänspråk. Det ger kraft: loopar, abstraktioner och testbarhet med vanliga verktyg. Men det är ett större skifte, och det passar team som redan tänker som utvecklare och vill ha den uttrycksfullheten. För ett team vant vid deklarativ HCL är steget större än till OpenTofu, och migrationen är inte trivial.

Den största fördelen och den största risken med Pulumi är samma sak: du har ett fullständigt programmeringsspråk till hands. Det betyder att du kan abstrahera och återanvända på sätt som är klumpiga i HCL, men också att du kan bygga något så komplext att ingen utom författaren förstår det. Deklarativ infrastruktur har en disciplinerande enkelhet som ett programmeringsspråk saknar. För team som har vanan att hålla kod ren är Pulumi befriande, för andra blir det ett rep att hänga sig i. Välj utifrån hur ert team faktiskt arbetar, inte utifrån vad som låter mest kraftfullt.

Så väljer jag

  • Fungerar Terraform och ni bygger ingen konkurrerande produkt - stanna.
  • Vill ni bort från BSL med minsta möjliga smärta - OpenTofu.
  • Tänker teamet som utvecklare och vill ha språkets kraft - Pulumi.
  • Osäkra - byt inte av princip; byt när det löser ett konkret problem.

Oavsett verktyg är det som gör skillnad inte vilket av dem du väljer, utan att du designar bra moduler och kör dem genom en disciplinerad pipeline. Vill du ha hjälp att lägga den grunden kan du läsa om min molninfrastruktur.

Relaterat

Vill du ta det vidare?

Funderar ni på ert IaC-val efter licensskiftet hjälper jag er att landa rätt utan att byta i onödan. Läs om min molninfrastruktur, se exempel i casebook, eller boka ett samtal.

Byt inte av princip - byt när det löser ett konkret problem.

- Simon Axelsson

Vanliga frågor

Måste vi lämna Terraform på grund av licensen?
Nej. BSL tillåter normal användning och träffar bara dem som bygger konkurrerande kommersiella produkter. För ett vanligt bolag som hanterar sin egen infrastruktur ändrar licensen i praktiken ingenting.
Hur svårt är det att migrera till OpenTofu?
Ofta odramatiskt. OpenTofu startade som en fork av Terraform och är i hög grad kompatibelt, så det handlar i många fall mest om att byta binär. Det är därför det enklaste valet för den som vill bort från BSL.
När är Pulumi värt bytet?
När ert team tänker som utvecklare och vill ha kraften i ett riktigt programmeringsspråk - loopar, abstraktioner och testbarhet. För ett team vant vid deklarativ HCL är steget större och bör motiveras av konkret nytta.
Simon Axelsson
Simon AxelssonIT-konsult & teknisk rådgivare

Simon Axelsson är senior IT-konsult och grundare av SIAX Technology AB. Han hjälper nordiska företag med molninfrastruktur, dataplattformar och AI-automation.

Fler artiklar