Opschalen met Kubernetes: hoe pak je het aan en waar moet je op letten?

Kubernetes kan een capaciteitsprobleem relatief eenvoudig oplossen, mits je het op de juiste wijze toepast. In deze blog leggen we uit hoe je bepaalt of Kubernetes geschikt is voor jullie situatie en geven we tips op basis van onze ervaring met het platform. Door deze tips vooraf mee te nemen, bespaar je later veel tijd en onnodig onderhoud.

Dit is deel twee in een reeks van vier blogs over Kubernetes. Kubernetes is een slimme oplossing om applicaties horizontaal te schalen en daarmee capaciteit uit te breiden naar gebruik. Kort samengevat is het een open source containersysteem dat de implementatie, schaalvergroting en het beheer van applicaties orkestreert. In het eerste blog legden we uit hoe de service werkt, in het derde deel beschrijven we een praktijkcase.

Is Kubernetes geschikt voor jouw situatie? Check deze 4 punten

 

1. Stateless requests

Kubernetes is het meest geschikt als aanvragen voor de applicatie zoveel mogelijk stateless zijn. Dat wil zeggen dat requests, ongeacht de context, geïsoleerd afgehandeld kunnen worden. Wanneer je architectuur daarentegen erop is ingericht bij te houden welke gebruiker met welk request in welke applicatie bezig was, dan beperkt dit de flexibiliteit in horizontaal schalen.

2. Opzet applicatie

Een grote monolithische applicatie is minder geschikt om horizontaal te schalen. Bestaat je applicaties uit verschillende microservices of clusters van services, zijn er meer mogelijkheden om de afzondelijke services, toegespitst op de doelgroep, individueel te schalen.

 

Een praktijkvoorbeeld

OCS heeft voor Brand Loyalty de applicatie StorePal ontwikkeld. Deze bestaat uit 3 componenten:

  • het managen van een takenlijst
  • een API om connectie te maken met mobile apps
  • een dashboard

Door deze modulariteit is de applicatie prima te schalen. In onze volgende blog vertellen we je meer over deze client case en hoe we de applicatie met Kubernetes schaalbaar maakten.

3. Onafhankelijk functioneren

Als de microservices stateless en horizontaal schaalbaar zijn, dan is de 3e check of ze ook los van elkaar kunnen functioneren. In het Storepal-voorbeeld is duidelijk dat de services zijn geclusterd per functie. Daardoor kunnen ze onafhankelijk van elkaar functioneren en zijn ze als cluster horizontaal schaalbaar.

4. Geheugengebruik

De laatste check is het geheugengebruik van de applicatie. Heeft deze bijvoorbeeld alleen al 16 gigabyte nodig om op te starten, dan wordt het cluster te groot om op een server te draaien. Virtualisatie is in dat geval een betere optie.

Beginnen met Kubernetes? Wij kunnen je helpen

Heb je met behulp van deze checks vastgesteld dat Kubernetes een geschikte oplossing is? Dan helpen wij je graag om deze in te richten. Daarbij automatiseren we zoveel mogelijk om uniformiteit te realiseren. Dat maakt het eenvoudiger over te stappen naar andere cloudproviders als je dat zou willen. Die uniformiteit helpt ook om ons beter inzicht te bieden in de performance.

Als je applicatie voldoet aan de checks, kunnen we deze binnen enkele weken inrichten met Kubernetes, afhankelijk van de complexiteit van de omgeving en applicatie. Als je niet aan één of meerdere checks voldoet, zal je app een herontwerp met aanpassingen moeten ondergaan en duurt het langer. Denk dan aan één of twee maanden, ook hier afhankelijk van complexiteit. De app blijft naast de oude applicatie draaien, zodat gebruikers minimaal hinder hebben van de transitie.

3 tips voor Kubernetes: waar moet je op letten?

Op basis van onze ervaring met het inrichten van Kubernetes hebben we 3 tips die je veel tijd kunnen besparen. Wanneer je overweegt Kubernetes in te zetten, let dan zeker op deze punten.

1. Out-of-the-box opties besparen veel tijd

De cloud biedt veel kant-en-klare opties die vooraf gecodeerd zijn. Zeker wanneer je werkt met Microsoft is er veel out-of-the-box verkrijgbaar. Het aanbod is zo groot dat het vaak moeilijk is om door de bomen het bos te zien. Laat je daarom goed informeren door een integratiepartner. Zij zijn beter op de hoogte van alle mogelijkheden. Dat scheelt veel tijd in het ontwikkeltraject en beheer. Het beheer (updates/patches) van deze services ligt immers bij de cloudprovider.

2. Automatiseer zoveel mogelijk voor betere reproduceerbaarheid

Als we bouwen voor een Infrastructure-as-a-Service (IaaS)-leverancier zoals Microsoft Azure maken we gebruik van Terraform bij het inrichten van infrastructuur. Deze IaaS stelt zelf de meest optimale infrastructuur samen op basis van onze input (via Terraform). Wanneer je iets aan de applicatie wilt wijzigen, berekent de service of dat direct op de al gemaakte infrastructuur kan, of dat er een nieuw cluster opgemaakt moet worden. Dit nieuwe cluster bouwt Terraform synchroon aan het bestaande cluster, zodat je pas hoeft over te stappen als deze klaar is. Het kopiëren van test-, acceptatie- en productieomgeving doet Terraform ook automatisch.
Met deze automatisering kun je omgevingen beter reproduceren en zorg je voor meer stabiliteit.

3. Naamgevingconventie geeft iedereen duidelijkheid

Spreek van tevoren een naamgevingconventie af. In de naamgeving verwerk je de omgeving, service en applicatie. Bijvoorbeeld: een productiedatabase voor de applicatie “StorePal”: db-prd-storepal; “db” voor databases of “k8s” voor Kubernetes. Zo kun je een database server maken met de naam: storepal-db-prd, of een Kubernetes cluster met de naam: storepal-k8s-acc. Hiermee maak je voor alle betrokken partijen direct duidelijk waar je over praat. Deze naamgeving kun je automatiseren in een service als Terraform.

 

Heb je een applicatie die regelmatig vastloopt bij piekbelasting?

Dan is Kubernetes zeker het overwegen waard. Met de bovenstaande checks kun je nagaan of de applicatie uitgebreid kan worden met Kubernetes. Kom je er niet uit of wil je weten of de applicatie omgebouwd kan worden, zodat deze wel horizontaal schaalbaar is? Laat het ons weten per mail of bel naar +31 40 30 41 330 om eens te sparren. Het zal je verrassen wat er mogelijk is. Wij denken met je mee en geven proactief advies.

omslag-ebook-cloud

e-book

Ontsluit de mogelijkheden van de cloud met cloud-native applicaties

Meer artikelen

De Open Circle Solutions keuzehulp voor cloud providers

De Open Circle Solutions keuzehulp voor cloud providers

Overstappen naar de cloud is kiezen voor een cloud provider. Die keuze is belangrijk, want het bepaalt je mogelijkheden en (licentie)kosten in de toekomst. In deze blog zetten we de drie belangrijkste cloud providers voor je op een rijtje: Digital Ocean, Amazon Web...

Kubernetes: automatiseer de configuratie voor maximaal resultaat

Kubernetes: automatiseer de configuratie voor maximaal resultaat

Met Terraform richt je de beste infrastructuur in voor Kubernetes, die je vervolgens met Application Insights monitort. Die automatisering biedt veel voordelen.  In een reeks van vier blogs vertellen we je over de voordelen en toepassing van Kubernetes. In de...

Nieuwsbrief

Meld je nu aan voor Open Circle Stories en krijg een verzameling artikelen, tips, nieuws en verdiepingen in je mailbox.

Pin It on Pinterest

Share This