Infrastructure as code
Als we kijken naar de traditionele manier van beheren van systemen, dan zien we daar vaak de volgende manieren van werken terugkomen:
- Ticket gebaseerd
- NOCs (Network Operations Centers)
- Gescheiden rollen (Operations en ontwikkelaars)
- Op grafische schil gebaseerd beheer
- Grote wijzigingen per keer (Waterval principe)
- Moeilijk schaalbaar (alles moet handmatig worden uitgebreid)
Hierin zien we duidelijk uitdagingen naar voren komen. Zo is werken met een GUI lastig te automatiseren en te repeteren. Een keer verkeerd klikken zorgt al voor afwijking. Hoe gaat dat dan veranderen met nieuwe cloud technieken?
- We gaan uitrollen en uitbreiden via een API, niet met een werkbon
- We gaan uitfaseren via een API, niet met een change formulier
- Netwerk connectiviteit word ook uitgerold via een API
- Applicaties worden uitgerold via API, niet aan de hand van Word document
Dit betekend aanzienlijke voordelen:
- Alles is herhaalbaar
- We kunnen snel uitrollen
- De systemen zijn schaalbaar
- Zelf service is nu mogelijk
- Infrastructuur wordt aangeboden als code
Door gebruik te maken van Azure DevOps is het mogelijk om snel applicaties uit te rollen in Azure. De traditionele rol van systeembeheerder en ontwikkelaar zullen naar elkaar toe groeien waarbij we echte DevOps Engineers toe. Belangrijk is om alle gegevens op te slaan in een source control systeem. Via Azure DevOps kan alles in een GitHub project worden opgeslagen. Hierdoor zijn wijzigingen traceerbaar, doorzoekbaar en herbruikbaar.
DevOps zorgt ervoor dat teams gebruik kunnen maken van Agile Planning, Continue integratie, continue delivery, en monitoring van applicaties. Hierdoor kunnen bedrijven met kleinere iteraties gaan werken waardoor de kans op fouten kleiner wordt, hierdoor worden updates sneller en vaker uitgerold waar de gebruiker van kan profiteren.
Een nadeel van Infrastructure as Code is dat mensen moeten leren programmeren en dat dit meer tijd nodig heeft. Mensen zijn dit nog niet gewend, en moeten dit hele proces leren. Nieuwe mensen zullen ingewerkt moeten worden. Maar deze nadelen wegen niet op tegen de nadelen.
Ik kan niet vaak genoeg zeggen: DevOps, DevOps, DevOps, Devops en DevOps.