03/08/2017
Hoe begint u met Microservices en Containers?
Enthousiast over de mogelijkheden en wilt u diensten ombouwen om ook gebruik te maken van de technologie? Hoe start u met microservices en containers?
Blog
Eén van de onderdelen van Cyso’s Professional Services portfolio is Cloud Operations. Met Cloud Operations krijg je de beschikking over een team van technisch experts dat ervoor zorgt dat het beheer over jouw cloud oplossing in goede handen is. Deze professionals zorgen ervoor dat alle onderdelen die uitmaken van jouw platform onderhouden worden, in het datacenter of in de public cloud. Zijn bewaken de veiligheid, de beschikbaarheid en het optimaal functioneren ervan.
Het meest direct zichtbare deel dat onze klanten vaak zien zijn de regelmatige installaties van de nieuwste systeem- en securityupdates. Er zijn echter veel meer werkzaamheden die onderdeel vormen van Cloud Operations, maar waar men vaak niet bij stil staat. Een begrip dat wij bij Cyso vaak gebruiken om het brede scala aan werkzaamheden en verantwoordelijkheden bij Cloud Operations samen te vatten is basishygiëne. Alles wat er nodig is om de basis te kunnen leggen voor het optimaal kunnen laten functioneren van de omgevingen van onze klanten.
Iedere keten is zo sterk als de zwakste schakel. Dat geldt zeker voor internetdiensten. Wij doen ons uiterste best om systemen van onze klanten zo veilig, robuust en snel mogelijk te houden, maar deze systemen zijn afhankelijk van een lange keten aan andere onderdelen om ze online te houden. Alle overige componenten die onderdeel vormen van deze keten hebben dezelfde aandacht nodig. Niet al deze componenten zijn zichtbaar, maar dat betekent niet dat ze minder belangrijk zijn.
Denk bij deze componenten en de werkzaamheden bijvoorbeeld aan:
De inrichting van platformen in de public cloud ziet er volledig anders uit dan traditionele server-gebaseerde architectuur. De klassieke systeembeheerder en diens kennis en vaardigheden zijn ontoereikend voor dit soort omgevingen. Een beheerder in de public cloud is een DevOpser, met een volledig andere skillset. Het speelveld is geheel anders en de focus voor cloud operations is daarmee ook gericht op andere gebieden en vaardigheden.
De focus binnen public clouds is niet op servers, maar op services. Hiermee ontstaat een wezenlijk andere architectuur. Dat dwingt je om op een andere manier na te denken over de inrichting en het onderhoud van het platform en de applicaties die erop draaien. Services en resources zijn niet meer geclusterd, maar communiceren via het netwerk en API’s met elkaar. Cloud Operations richt daarom z’n pijlen op het optimaliseren van deze communicatie, het verhogen van automatisering, schaalbaarheid en performance en het drukken van kosten; met security als integraal onderdeel van het gehele proces.
De architectuur van public cloud omgevingen, en daarmee het beheer ervan, zorgt voor specifieke uitdagingen en keuzes. Laten we een paar voorbeelden noemen:
De traditionele server back-up is maar beperkt relevant voor public cloud omgevingen. Zowel de componenten als de gegevens zelf zijn zodanig anders ingericht dat een andere oplossing voor het veiligstellen en kunnen terugzetten van data vereist is. Het meest effectieve back-up proces is afhankelijk van waar belangrijke data is opgeslagen, hoe veranderlijk die is en wat je recovery objectives zijn. De meeste belangrijke data staat namelijk niet meer zozeer op servers, maar in dataservices. Daarnaast zie je met name in Kubernetes platformen dat het niet de systemen zijn die kritisch zijn, maar juist de (deployment)processen en applicatiecode. De continuïteit hiervan verzorgen is cruciaal, niet het kunnen herstellen van een individuele node.
Hoe lang je gegevens (zoals logfiles) wilt (of moet) bewaren is afhankelijk van vele factoren, zoals wet- en regelgeving, security, opslagkosten en functionele eisen. Als gegevens op servers worden opgeslagen, zijn hier op betrekkelijk eenvoudige wijze instellingen voor te maken en is de opslag over het algemeen niet duur. In een public cloud omgeving staan gegevens gedistribueerd over allerlei verschillende (data) services en ze worden niet direct benaderd via het filesystem, maar vaak via een API. Veel standaardmethodes hoe om te gaan met opslag en logrotatie werken daarom anders en moeten daarin vanaf de grond af aan opgebouwd worden. Als dit niet goed gedaan wordt kan het zowel zijn dat gegevens onbedoeld verloren gaan of dat deze zich juist ophopen en voor enorme kosten zorgen.
Omdat in veel gevallen storage niet lokaal is, zijn er bepaalde configuraties die onverstandig zijn in de public cloud. Denk bijvoorbeeld aan het gebruik van cache- en swapgeheugen. Op een traditionele server waar dit lokaal stond, geeft dat een prima performance. Wil je cachegeheugen gebruiken terwijl je storage op een extern systeem staat, kan dit zorgen voor performance bottlenecks op je systeem of applicatie. Bij de inrichting van de infrastructuur zal je hier dus rekening mee moeten houden. Bij het traceren van performance issues is het namelijk belangrijk om te kijken welke gegevens er binnen je platform over het netwerk worden uitgewisseld. Je zal vaker naar de opbouw en werking van de applicatieomgeving zelf moeten kijken in plaats van de systemen waar deze op draaien.
Containerplatformen beloven de wereld qua schaalbaarheid, maar de kennis om dit goed in te richten en te onderhouden ligt niet voor het oprapen. De wisselwerking tussen auto-healing mechanismes, de wijze waarop schaalbaarheid tot stand komt en hoe dit op betrouwbare wijze qua networking en load balancing moet worden ingericht wordt snel complex. Om grip te houden op je platform, zowel qua werking als kosten, zijn DevOps-engineers nodig met de benodigde kennis.
Cloud Operations is veel meer dan het draaiend en up-to-date houden van systemen in de cloud. Het is een kennisintensief proces, waarbij doorlopend geleerd moet worden hoe om te gaan met nieuwe en steeds veranderende techniek. De wisselwerking en samenwerking tussen de beheerder en de ontwikkelaar vraagt om een DevOps aanpak die wezenlijk verschilt van traditioneel systeembeheer. Kortom: je hebt cloud beheerders nodig; professionals die op een DevOps manier met beheer bezig zijn.
Met onze Cloud Operations dienst zorg je ervoor dat je kan beschikken over een multidisciplinair team om je bij te staan bij de specifieke kenmerken en uitdagingen van jouw applicatie in de cloud. Neem vandaag nog contact met ons op voor een kennismaking.