Your web browser is out of date. Update your browser for more security, speed and the best experience on this site.

Zo gebruik je Pulumi om je cloud infrastructuur te beheren

Je infrastructuur in de cloud beheren heeft voordelen, maar zorgt tegelijkertijd voor heel wat complexe problemen. Axxes-developer Lode Kennes legt uit hoe Pulumi een deel van die vraagstukken kan oplossen.

Bedrijven en organisaties die hun infrastructuur naar de cloud migreren, doen dat voor de meest uiteenlopende redenen. Het is schaalbaar, er worden automatisch backups gemaakt, in veel gevallen is het goedkoper… Allemaal handig, maar wanneer je manueel te werk gaat kan het al snel onoverzichtelijk worden.

Vraag dat maar aan Lode Kennes, die als .NET developer bij Axxes vooral focust op cloud first applicaties in Azure en daarnaast een voorliefde voor React en React Native heeft. Lode werkt in Azure-omgevingen die al snel meer dan 300 resources bevatten, wat voor problemen kan zorgen. Je weet nooit wat iemand concreet veranderde, wanneer en waarom dat gebeurde en wat de vorige instellingen waren. Er zijn wel activity logs, maar die zijn beperkt.

Infrastructure as a Code, kortweg IaC, biedt een oplossing. Deze manier laat toe om je infrastructuur in cloud providers als AWS en Azure niet manueel bij elkaar te klikken, maar dezelfde filosofie te hanteren als bij het schrijven van code. Het is een handige manier om CI/CD toe te passen en je development, acceptance en production omgeving gelijk te houden.

Deel dit artikel
Infrastructure
Services cloud smal

De voordelen van IaC

Dankzij IaC kun je precies definiëren hoe je infrastructuur eruit ziet, wat het doet en hoe het functioneert. Dit maakt het gemakkelijker om de infrastructuur te reproduceren als dat nodig is. Je gesukkel bij wijzigingen is voortaan verleden tijd, want IaC komt met versiebeheer. Zo kun je in bijvoorbeeld Git alle wijzigingen in de infrastructuur gemakkelijk bijhouden en teruggaan naar eerdere versies als dat nodig is.
Omdat de infrastructuur in code is gedefinieerd, kun je deze eenvoudig testen om ervoor te zorgen dat alles werkt zoals verwacht. Dat hoef je niet alleen te doen, want met IaC kun je vlot samenwerken met anderen aan de infrastructuur, omdat alle configuraties in code zijn opgeslagen.
IaC maakt het mogelijk om infrastructuurtaken te automatiseren, wat tijd en moeite bespaart en fouten kan verminderen. Zo kan je je infrastructuur samen met je code deployen, en wordt het veel makkelijker om verschillende omgevingen gelijk te houden. Je draait overal dezelfde code, waardoor alles altijd synchroon is.

Pulumi

Er zijn verschillende tools om met IaC aan de slag te gaan, waaronder Terraform en Ansible. In dit artikel bekijken we Pulumi, dat vlot samenwerkt met cloud providers als Amazon Web Services (AWS), Azure en het Google Cloud Platform (GCP). Wat het vooral onderscheidt van de concurrentie is dat het meerdere programmeertalen ondersteunt, waaronder JavaScript, TypeScript, Python en Go. Dat maakt het zeer laagdrempelig, omdat je dezelfde taal kan gebruiken die je sowieso al voor je project gebruikt. Pulumi is gratis voor één gebruiker en heeft daarna verschillende prijscategorieën naargelang de grootte van je team en ambities.

Een van de belangrijkste tips is om alles, waaronder je configurations en secrets, in Pulumi te steken. Als je dit niet doet wordt het verwarrend om na te gaan wat door code beheerd wordt, en wat je nog manueel doet. Maak werk van een duidelijke naam voor je resources, en vermijd dat je zomaar dingen uit een tutorial kopieert.

Kijk naar micro stacks voor gedistribueerde applicaties: gebruik een stack per microservice, houd alles wat deployable is gescheiden en gebruik een service principal om manueel wijzigen goed te keuren, zodat gebruikers zaken niet zomaar kunnen wijzigen of verwijderen.

Misschien wel de belangrijkste tip is om vandaag al met Pulumi te experimenteren. Het kan nu misschien niet nuttig lijken, maar je maakt de switch liever aan het begin van een project dan halverwege. Voor je het weet zit je anders met 300 resources die je manueel moet bijhouden - met alle risico’s vandien.

Onze Insights meteen in je mailbox? Schrijf je dan in!

Lode Kennes

Lode Kennes

.NET consultant

Altijd al willen weten hoe een hacker denkt?

Lorenzo legt uit hoe je dit het beste doet!

Denk als een hacker
Axxes