DevOps & Automatisering

De Einde van het ‘ClickOps’ Tijdperk

In de begindagen van cloud computing beheerden systeembeheerders hun infrastructuur door handmatig in te loggen op webportalen (zoals de AWS Management Console) en met de muis virtuele machines, netwerken en databases bij elkaar te klikken. Dit proces, vaak gekscherend ‘ClickOps’ genoemd, is traag, onmogelijk te auditen en niet reproduceerbaar. Als een datacenter uitvalt, duurt het weken om de infrastructuur handmatig na te bouwen. Infrastructure as Code (IaC) veranderde dit voorgoed door infrastructuur te benaderen als software. U schrijft configuratiebestanden, slaat ze op in Git, en tools provisioneren exact de beschreven cloud-resources. Hoewel HashiCorp Terraform jarenlang de onbetwiste koning was van dit domein, rommelt het momenteel flink in de IaC-markt door licentiewijzigingen en opkomende concurrenten.

HashiCorp Terraform vs. OpenTofu (De Open Source Fork)

Terraform maakt gebruik van HCL (HashiCorp Configuration Language), een declaratieve taal waarmee u beschrijft *wat* u wilt (bijv. “Ik wil 3 AWS EC2 instances”), waarna Terraform uitzoekt *hoe* dat moet gebeuren via de cloud-API’s. Het geheim van Terraform zit in de ‘State’ file: een lokaal (of cloud) bestand dat exact bijhoudt wat er daadwerkelijk is aangemaakt. Bij een volgende run vergelijkt Terraform uw code met de State en voert het alleen de verschillen (diffs) uit.

In 2023 besloot HashiCorp de licentie van Terraform te wijzigen van open-source (MPL) naar de restrictievere Business Source License (BSL). Dit stuitte op enorme weerstand in de community en bij concurrenten. Als reactie hierop werd ‘OpenTofu’ opgericht, een directe open-source fork van Terraform, beheerd door de Linux Foundation. OpenTofu belooft 100% drop-in compatibiliteit met Terraform, waardoor veel open-source puristen en grote ondernemingen hun migratie richting OpenTofu hebben ingezet om ‘vendor lock-in’ te voorkomen.

Pulumi: Echte Programmeertalen voor Infrastructuur

Ondertussen wint een heel andere benadering enorm aan populariteit: Pulumi. Waar Terraform u dwingt om een domeinspecifieke taal (HCL) te leren, laat Pulumi u uw infrastructuur programmeren in ‘echte’ talen zoals TypeScript, Python, Go of C#. Dit is een gamechanger voor software developers die nu hun vertrouwde IDE’s, for-loops, if-statements, unit-tests en package managers (npm, pip) kunnen gebruiken om cloud-resources uit te rollen.

Als u bijvoorbeeld 10 subnets wilt aanmaken, schrijft u in Pulumi een simpele TypeScript map() functie in plaats van complexe HCL-constructies. Pulumi overbrugt de kloof tussen softwareontwikkelaars en systeembeheerders, waardoor ‘Infrastructure as Code’ verandert in ‘Infrastructure as Software’.

Drift Detection en FinOps Integratie

Moderne IaC-tools gaan verder dan alleen het uitrollen van servers. ‘Drift Detection’ wordt steeds belangrijker: tools die continu monitoren of iemand handmatig een beveiligingspoort in de cloud heeft opengezet die niet in de Terraform-code staat, en direct alarm slaan. Ook integreert IaC steeds meer met FinOps (zoals Infracost), waarbij ontwikkelaars tijdens het aanmaken van een Pull Request in GitHub direct een schatting krijgen van hoeveel de nieuwe Terraform-code extra gaat kosten op de maandelijkse AWS-factuur. Lees meer over geavanceerde DevOps implementaties op AG Connect.

Volgende: eBPF: De Stille Revolutie in Linux Networking en Observability

Inhoudsopgave

Geverifieerd door MonsterInsights