Cloud Foundations bouwen
Als onderdeel van de digitale reis naar de Cloud, worden wij vaak gevraagd om nieuwe Cloud-omgevingen (Cloud Foundations) te bouwen voor onze klanten. Deze Cloud Foundations worden ingericht met een breed scala aan diensten (of features) die voorzien in het veilig en kosten-efficiënt online houden van de applicaties in de Cloud. Hierin zijn onze engineers essentieel. Echter, zoals menig Cloud engineer zal beamen, is het herhalen van werk een onaantrekkelijke taak in de Cloud. Zodoende leveren wij onze features voor deze Cloud Foundations vanuit een winkel, welke wij de feature-store hebben genoemd. Deze feature store levert ons verschillende voordelen:
Veiligheid: alle features worden uitvoerig getest in onze CICD-straat, alvorens ze bruikbaar zijn voor de klanten
Snelheid: het deployen van features gaat van weken of dagen naar een uurtje
Quality Control: het deployen van IaC templates wordt gedaan met maar een paar regels code, hierdoor is er minder ruimte voor menselijke fouten.
Innovatie: nieuwe aanpassingen worden gedaan aan de source code, zodat alle klanten gebruik kunnen maken van de innovaties opgedaan bij één klant.
Setup voorbereiden
Het uitvoeren van patching is van groot belang voor de applicatie-omgevingen. Geen enkele organisatie zit te wachten op een systeem dat gehackt is, data die wordt gelekt of een melding in de krant. Echter, het up-to-date houden van een omgeving, applicatie, of server is altijd een uitdaging. De vraag “breekt deze update mijn functionaliteit” is altijd een valide vraag. Om die vraag te beantwoorden hanteren we een OTAP-straat. Zo kunnen we functionaliteit blijven testen terwijl we de update op de verschillende omgevingen uitrollen. Door gebruik van deze strategie wordt het beantwoorden van de vraag mogelijk. Een omgeving binnen de OTAP-straat bestaat uit dezelfde componenten. Zo is het mogelijk om er echt een waarde aan te hangen. Voor het isoleren van de OTAP-straat maken we gebruik van een van de AWS Core architecturen, Multi-Account Architectuur. Verdere details zijn terug te vinden op de website van AWS.
Nu we de setup compleet hebben, zijn er meerdere omgevingen waarin verschillende componenten draaien. Deze componenten moeten worden voorzien van verschillende updates. We hoeven geen raketgeleerde te zijn om te zien dat dit redelijk snel redelijk complex wordt. Daarnaast is het natuurlijk zo dat we ook het update-mechanisme moeten updaten, of op z’n minst verbeteringen moeten kunnen doorvoeren. Dus hoe zorgen de we dat we via een “makkelijk” mechanisme deze complexe situatie toch kunnen beheren. Het is natuurlijk niet te doen om elke keer een “copy/paste” actie uit te voeren, laat staat alles handmatig aan te maken.
Randvoorwaarden identificeren
Nu de situatie geschetst is, kunnen gaan kijken naar de vereisten. Vanuit het operationele team, het team welke uiteindelijk de updates doorvoert, hebben we de volgende randvoorwaarden geïdentificeerd:
- De verschillende omgevingen moeten aan elkaar gelijk zijn gesteld.
- Het doorvoeren van wijzigingen moet snel gebeuren, niemand wil te laat zijn met een security update.
- Iedere wijziging betekent een nieuwe versie.
- De klant betaalt alleen voor oplossingen en infrastructuur die ook daadwerkelijk wordt gebruikt.
Vanuit management zijn de volgende eisen geïdentificeerd:
- Het management wil snel een statusoverzicht hebben van alle omgevingen,
- Er dient een abstractie-laag over de data te zitten, zodat deze te begrijpen is voor non-technisch management,
- Het management moet applicaties of applicatiegroepen kunnen isoleren die voor hen van toepassing zijn.
Voor de uiteindelijke oplossing, hebben we gebruik gemaakt van twee verschillende invalshoeken. Allereerst, de technische modules (features) zijn beschikbaar gesteld via de feature store. Binnen deze winkel kunnen de engineers en partners features selecteren, welke voor een bepaalde omgeving gebruikt worden. De features zijn aanpasbaar naar de wensen van de klant of het team, dit gebeurd met verschillende parameters. Daarnaast is deze feature onderhevig aan testen en kwaliteitscontroles op het gebied van terraform, security principes, naam en taggings conventies en architectuur best-practices. Op deze manier hanteren we ons aan het “write once, run anywhere” principe.
De vragen vanuit de operationele- en managementteams pakken we centraal op. Hierdoor hoeft de innovatieve verandering of aanvulling maar een keer te worden verwerkt. Dit voorkomt dat engineers templates gaan kopiëren en er een breed scala aan verschillende versies ontstaat. Daarnaast kunnen we innovaties doorvoeren welke verspreid zijn over de verschillende partners. Ter illustratie: de updates/verbeteringen aan de patching oplossing bij partner A, kunnen direct doorgevoerd worden bij partner B, en vice versa. Door de feature beschikbaar te stellen aan de verschillende teams, kunnen we een aantal van de eisen wegstrepen. De feature dient echter nog wel gebouwd te worden.
Hieronder bieden we een overzicht van onze patching feature:


Het starten van de maintenance binnen AWS Systems Manager, zorgt dat er een check plaatst vindt welke machines nog een update nodig hebben. Afhankelijk van de kwalificatie van de patch zullen we deze aan de hand van de onderstaande tabel installeren.

Uiteindelijk ontstaat er een patching feature, welke gebruikt kan worden over een verschillend aantal accounts. Door het implementeren en innoveren via de feature-store, worden aanpassingen centraal en middels versie-beheer doorgevoerd.
De resultaten van patching
Het patchen van een omgeving is een ontzettend belangrijk proces, en kan op veel verschillende manieren worden uitgevoerd. Binnen Sogeti proberen wij zo dicht mogelijk bij de innovaties te blijven van de hyperscalers, om flexibele en Cloud-native oplossingen door te voeren binnen de omgevingen. De “Sogeti Patching Feature” is een product, waarbij we de kracht van de Cloud combineren met de dienstverlening die wij al vele jaren bieden.
Voor onze teams en klanten, resulteert de patching feature in de volgende kwalitatieve resultaten:
Snelheid: zowel het opzetten van het patching mechanisme, als het uitvoeren van de operationele taken wordt snel en zorgvuldig uitgevoerd. Hierbij maken we gebruik van een gering aantal regels aan code.
Veiligheid: door het patching mechanisme centraal op te zetten, wordt het gemakkelijk voor teams om gebruik te maken van de functionaliteiten. Door deze en andere controle-onderdelen van onze Cloud Foundations, voorkomen we dat machines niet worden meegenomen in de patching-cyclus.
Kwaliteit: de features worden constant verder ontwikkeld door verschillende teams en zijn onderhevig aan een breed scala van testen. Hierdoor is de kwaliteit van iedere nieuwe versie gegarandeerd.
Innovatie: verschillende klanten, markten en teams werken met deze feature. Iedere vernieuwing die leidt tot een beter patching mechanisme, wordt snel verwerkt in de centrale (master) van onze feature.
Uiteindelijk betekent dit voor onze klanten, dat wij ze sneller en goedkoper kunnen helpen met het inrichten van de omgevingen:
- Het opzetten van een patching mechanisme is van 1 tot 2 dagen naar 2 uur verlaagd,
- Het controleren van omgevingen is centraal getrokken, waarbij we tot 12 uur per week besparen van onze operationele beheerteams,
- Het opleveren van management rapportages is van statisch naar near-realtime gegaan en met een druk op de knop beschikbaar voor de stakeholders.
Aanjager van innovatie
Wij zien wij een transitie naar de Cloud niet alleen als een technisch vraagstuk. Hoewel technologie natuurlijk centraal staat, zijn mensen, processen en cultuur minstens net zo nauw betrokken bij een succesvolle transitie. Sogeti is vanuit het clouddomein vooral betrokken als partner en totaalleverancier om onze klanten te ondersteunen in hun reis naar de Cloud. Dit doen wij door het leveren van expertise op het gebied van Cloud en tegelijk ook in de domeinen van development, data, testing en IT-delivery. Hiermee zorgen wij voor een naadloze interactie tussen de diverse technologische, maar zeker ook zakelijke en menselijke lagen.
AWS iets voor jou?
Bij Sogeti zoeken we enthousiastelingen die graag aan de slag gaan met AWS of andere Cloud oplossingen. Ben jij op zoek naar een nieuwe Cloud uitdaging? Bekijk dan de vacatures.