Dit is een zeer beladen vraag die we in dit artikel slechts gedeeltelijk kunnen beantwoorden. De tijd die we aan deze migratie hebben besteed, illustreert de omvang en complexiteit van wat we moeten realiseren om deze taak te volbrengen en illustreert de enormiteit van wat Guardian360 door de jaren heen heeft ontwikkeld.
Sinds Lighthouse voor het eerst live ging is er veel veranderd, zowel op technologisch gebied als binnen ons bedrijf zelf. Guardian360 is gegroeid tot het bedienen van meer dan 1000 klanten met meer dan 150 partners die ons platform als onderdeel van hun serviceaanbod gebruiken.
We begonnen ons te realiseren dat onze architectuur, hoewel nog steeds geschikt voor de schaal waarop we opereren, een verbeterslag door moet maken om de verwachte groei die we in de toekomst voorzien aan te kunnen.
Niet alleen dat, maar met de opkomst van big data en machine learning en het aanbieden van meer complexe rapportages binnen ons systeem, zorgt ervoor dat ons platform veel complexere queries aan moet kunnen dan het momenteel kan.
Er is veel voorbereiding gedaan om de meest actuele en up-to-date oplossingen te onderzoeken die onze onmiddellijke zorgen zouden wegnemen, wat resulteert in een exponentiële verbetering in:
- Beschikbaarheid – in een monolithische structuur kan een storing in een enkel onderdeel het hele systeem platleggen – door containertechnologie te implementeren kunnen we beter omgaan met verstoring op een manier die de eindgebruiker niet beïnvloedt.
- Betrouwbaarheid – dit is het resultaat van veel kleine dingen die goed gedaan zijn – dingen zoals:
- Het cloud-agnostisch maken van onze applicaties
- Het elimineren van menselijke fouten door verregaande automatisering
- Het gebruik van operationele frameworks zoals GitOps
- Het verspreiden van onze resources over een grote hoeveelheid containers
- Geautomatiseerde en dagelijkse back-ups voor alle services
- Schaalbaarheid – snelle implementatie en het automatiseren van taken betekent dat we met een grotere klantenbasis tegelijk kunnen omgaan, door onze architectuur te vereenvoudigen kunnen we meer tegelijk verwerken
- Automatisering – technologische vooruitgang betekent dat we niet alle taken hoeven uit te voeren die we in het verleden deden – door automatiseringsoplossingen te implementeren kunnen we onze tijd beter besteden aan het leveren van waarde aan onze klanten die de drijvende kracht zijn achter ons hele platform
- Beveiliging – we hebben hardening op elk niveau van het product geïmplementeerd aangezien alle componenten van onze migratie hebben plaatsgevonden
- Observeerbaarheid – hoe kan men verbeteringen aanbrengen als je je succesratio niet kunt meten? Dit is de kern van alles wat we hebben geïmplementeerd – dit geeft ons niet alleen meer inzicht in onze eigen infrastructuur, maar de mogelijkheden die we hieruit zullen halen, zullen waardevolle inzichten opleveren voor het product dat we aanbieden om onze klanten te helpen begrijpen wat er in hun eigen netwerken gebeurt
Deze ideeën en technologieën werken niet onafhankelijk van elkaar, maar vormen een symfonie waarin elk deel het succes van de hele stack ondersteunt.
Een van de oplossingen, Kubernetes, die we hebben geïmplementeerd, is gebaseerd op Google’s Borg-infrastructuur die wordt genoemd in hun SRE-boek, een naslagwerk dat we binnen Guardian360 veel gebruiken, zie: https://sre.google/sre-book/table-of-contents/. Als je diep in Kubernetes wilt duiken, is dit een zeer goede introductie naar waar het vandaan komt.
We begonnen eind 2022 aan deze implementatie en hoewel veel van het live brengen met een spreekwoordelijke druk op de knop zal plaatsvinden, is er veel gedaan in de huidige infrastructuur die momenteel live is en die al enkele grote voordelen oplevert voor wat onze klanten nu ervaren.