Update rondes automatiseren met AWX

Update rondes automatiseren met AWX

15 February 2022 door in Development DevOps

Het leven van een engineer gaat niet over rozen. Soms moeten er nu eenmaal ‘s nachts dingen gebeuren. Om de dienstverlening zo min mogelijk of niet te verstoren worden updates en patches vaak ‘s nachts gedaan. Maar engineers bij Cyso zouden geen engineers bij Cyso zijn als er niet constant gekeken wordt hoe dingen beter, sneller of makkelijker kunnen. Zo ook de update rondes in de kleine uurtjes. Oftewel: update rondes automatiseren met AWX.

Gefragmenteerde onderhoudsvensters

Onderhoudsvensters worden steeds gefragmenteerder. De meeste organisaties hebben liever ‘s nachts de updates, maar ook enkele klanten hebben liever andere tijdstippen. Het wordt daarom lastiger planbaar om hiervoor engineers in te roosteren om updates uit te voeren. Hoe bewaak je de kwaliteit van updates en hoe kan je flexibiliteit in onderhoudswindows, wanneer de klant het wil, behouden?

De oude situatie voor updates

Gelukkig gebeurt het al tijden niet meer handmatig per losse server. Updates worden gescript uitgevoerd met behulp van Ansible playbooks, maar moeten nog handmatig gestart en gecontroleerd worden. De handmatige actie en aanwezigheid van een engineer ‘s nachts is nog nodig. Omdat het mensenwerk is, en omdat het laat (of juist heel vroeg is), kan het wel een keer gebeuren dat er een foutje gemaakt wordt.

Het vraagstuk was dan ook hoe de kwaliteit van de updates voor de klant verbeterd kan worden. Vanuit Cyso werd er gekeken hoe kan dit kosteneffectiever, efficiënter en slimmer zonder dat de collega’s bij Operations belast worden met extra nachtwerk en tegelijkertijd de flexibiliteit aan onze klanten kunnen bieden?

Update rondes automatiseren met AWX

Gelukkig heeft het operations team van Cyso onder leiding van lead engineer Jochem een oplossing gemaakt waardoor dit proces geautomatiseerd kan worden. De tooling die hiervoor gebruikt wordt is AWX, een open source, upstream versie van Ansible Tower. Beide tools zijn gemaakt om Ansible playbooks in te plannen. Met AWX kunnen Ansible playbook runs geautomatiseerd worden door deze in te kunnen plannen en de output automatisch te verwerken.

  • Servers groeperen

    Met AWX worden de servers nu per tenant (platform) gegroepeerd. Zo worden de servers gegroepeerd per klant, applicatie of platform.

  • Schaalbaar

    AWX is gedeployed in Kubernetes met gebruik van de AWX operator. Door deze implementatie wordt AWX schaalbaar, elke job wordt opgestart binnen een execution environment die Cyso onder controle heeft.

  • Configuraties

    Na een eerste configuratie door de engineer en een check of alles goed is gegaan, is een engineer in principe niet meer nodig. Als er voor een klant zaterdag half 4 een playbook gestart moet worden, dan kan dat zonder de engineer gestart worden. Zo kunnen we ook beter rekening houden met acties die rond de updates uitgevoerd moeten worden. Bijvoorbeeld applicatieservers tijdelijk uitschakelen, of processen van de applicatie beïnvloeden worden voor, tijdens of na de updates.

  • Controle

    Voorlopig worden de playbooks alsnog nagelopen door een engineer. De final check of alles goed is gegaan en in te grijpen als wanneer nodig blijft handmatig werk. Gaat er iets fout, dan komt er gelijk een notificatie. Daardoor kan er snel iemand aan het werk gezet worden wanneer een afwijkende situatie voorkomt uit een updateronde. Een engineer van Cyso is zo dus altijd in controle van de updates.

  • Zekerheid

    Doordat de playbooks vaste (ingestelde) stappen uitvoeren, kunnen updates vooraf getest worden en is het resultaat reproduceerbaar.

Een mooie stap in verbeteringen van de updaterondes

Kortom, een mooie ontwikkeling op het gebied van automatiseren van updates en onderhoudsvensters met AWX. Het Cyso team zal blijvend monitoren en wie weet komen er nog meer nieuwe features aan. Hou onze blog of social media in de gaten.

Kom jij werken bij Cyso?

Wil jij ook werken met de nieuwste technieken of de vrijheid hebben om nieuwe oplossingen te bedenken? Kom werken als engineer bij Cyso! Bekijk op de website van de Cyso Group alle vacatures!


Bel me terug