Met container technologie een kortere time-to-market en flexibiliteit realiseren

Datum
2 februari 2022

Structurele IT-beslissingen vragen vandaag vaak om forse investeringen, maar zijn ook meer dan ooit cruciaal in het behalen van je bedrijfsdoelstellingen. Een juiste vendor-keuze is niet enkel belangrijk qua set-up en implementatie, ook intern future proof blijven is essentieel. Schaalbaarheid en voldoende flexibiliteit zijn noodzakelijk voor de continuïteit van je business en structurele IT-beslissingen leggen hier de fundamenten van. Er zijn twee moderne manieren waarop je dit kan realiseren: met serverless en met container technologie. Waarbij je met serverless minder infrastructure en networking kennis nodig hebt. En container technologie minder vendor-afhankelijk is. In deze blog tonen we je graag hoe container technologie je kan helpen.

2 containers

Het concept container technologie

Container technologie won de laatste jaren flink aan populariteit. Maar wat is het nu eigenlijk? Een container is een pakketje met een vaste indeling. Daarin vind je zowel de applicatie als de ondersteunende technische componenten (libraries, utilities en configuratie-files), die vervolgens onafhankelijk van andere componenten kunnen functioneren.

‘Build it once, run it anywhere’

Omdat alle containers uniform zijn en omdat alle cloud- en tech providers deze standaard hanteren (vergelijk het met de gelijkvormige containers op een vrachtschip), werkt zo’n applicatie op ieder platform en besturingssysteem. Kortom: ‘build it once, run it anywhere’.

Container tools en platformen

Container technologie is open source. Het zijn de techreuzen van deze wereld, zoals Amazon, Microsoft, Google en Red Hat, die de technologie verder ontwikkelen en beschikbaar maken op diverse platformen. De meest bekende container tool is Docker. Deze wereldwijde standaard voor container formats zorgt voor de ‘verpakking’ van applicaties in containers. Dockers containers draaien vervolgens op platformen als Kubernetes, managed Kubernetes van AWS (EKS) en Azure (AKS), AWS Container Service (ECS), Azure Container Instances (ACI) of Google Kubernetes Engine (GKE).

“Container technologie wordt gebruikt door de techreuzen van deze wereld”

Deze platformen zorgen voor het starten, stoppen, automatisch herstellen, configureren en beheer van (gedeelde) resources voor onder andere opslag. Via platformen als Kubernetes stel je de gewenste afhankelijkheden, schaal en relaties in, en leg je vast hoe en welke containers moeten werken bij verschillende gebruikersverzoeken. Soms heb je dus meerdere containers in samenhang en achter elkaar nodig.

Een voorbeeld is het regelen van het inloggen, het gebruikersprofiel laden en de data opslag. Terwijl je Docker-containers als de lading van een tanker kunt beschouwen, doen platformen als Kubernetes eerder dienst als de kapitein van het schip.

Snelheid, flexibiliteit en schaalbaarheid

Het gebruik van container technologie is in heel wat business cases de overweging waard. Van start tot livegang verlang je immers voldoende technologische snelheid, flexibiliteit en schaalbaarheid. Omdat een idee dankzij deze technologie sneller in productie kan gaan, creëer je sneller waarde voor de eindgebruiker.

“Met container technologie creëer je sneller waarde voor de eindgebruiker”

iO past container technologie bijvoorbeeld toe in een bedrijf dat met meerdere multidisciplinaire teams aan één applicatie werkt (flexibiliteit) én online services biedt in zowel Europa als Azië (schaalbaarheid). Je kunt je container als het ware in de cloud in Azië oppakken en hem in Europa weer neerzetten, waar de applicatie dan dichtbij de eindgebruiker draait.

Verder is Docker onafhankelijk van de onderliggende public cloud (AWS, Azure, Google) en kun je dus ook per regio, per use case of qua kostenstructuur makkelijk naar een andere cloud verhuizen, al hangt dit ook een beetje af van het platform van je cloud provider. Kubernetes is een standaard over meerdere clouds, ECS en ACI zijn dan weer cloud-specifiek.

Hoe dan ook, dankzij container technologie is het mogelijk om eenvoudig uit te breiden naar andere landen, waarbij applicaties tegelijk ook multi-cloud kunnen draaien.

Ben jij online overal?

De tijd dat een website voldeed voor een goede digitale aanwezigheid ligt achter ons. Onze experts helpen je liever aan een volwaardig digitaal ecosysteem - geoptimaliseerd en on-brand – om écht je doelen mee na te jagen.

Laptop shopping data overview

Zowel technische als operationele voordelen

Het gebruik van container technologie is een krachtig middel om op verschillende vlakken voordelen te boeken. Specifiek de combinatie van Docker en Kubernetes levert zowel technische voordelen als operationele voordelen op. De belangrijkste voordelen op een rij:

1. Cloud agnostic en infra agnostic

Een applicatie met container technologie werkt onafhankelijk van het besturingssysteem en op ieder platform, ook bij verschillende cloud providers.

2. Portability

Applicaties met container technologie kunnen veel sneller worden gereleased. Er kunnen zelfs meerdere deployments op één dag plaatsvinden. Dat scheelt veel tijd en geld bij de oplevering van software.

3. A/B testing en canary releases

Met de inzet van Kubernetes beheer je zelf geen services meer. Dat maakt het heel eenvoudig om meerdere versies van dezelfde applicatie op hetzelfde moment te laten draaien. Je kunt daardoor beter A/B testen en eenvoudiger canary releases naar een beperkter publiek uitrollen.

4. Agility

Applicaties met container technologie kun je sneller itereren. Je weet immers dat de code werkt in alle omgevingen. Ontwikkelaars zijn daardoor minder tijd kwijt aan bugs en kunnen meer tijd besteden aan de ontwikkeling en oplevering van waardevolle functionaliteiten voor gebruikers.

5. Scalability

Hoewel eerder genoemde voordelen ook met schaal te maken hebben, heeft schaalbaarheid in de context van container technologie nog een andere betekenis. Met Kubernetes kun je namelijk makkelijk inspelen op performance en business metrics van applicaties en online services, zoals de hoeveelheid traffic, requests en CPU alsook het aantal aanvragen en interacties. Kubernetes detecteert geautomatiseerd wanneer het zover is om tijdens die ene belangrijke kerstcampagne serverruimte op te schalen en vervolgens weer af te schalen als de piek voorbij is.

Het is ook waardevol om te vermelden dat er met containers minder misverstanden kunnen ontstaan tussen het hosting en development team. Het development team draagt er namelijk zorg voor dat de container in orde is. Het hosting team hoeft zich dan alleen nog maar te richten op schaalbaarheid en hosting. Dit komt doordat er een standaard afgedwongen wordt waardoor er een minder complexe en directe afhankelijkheid is van de onderliggende hardware/service infrastructuur.

Het is wel belangrijk om de veiligheid goed in de gaten te blijven houden. Bij container technologie wordt er namelijk potentieel minder gecheckt op kwetsbaarheden. Dit komt doordat het hosting team minder makkelijk ‘in’ de containers kan kijken. En dus minder makkelijk kan controleren. Het development team moet daarom echt zeker weten dat wat zij hebben ontwikkeld, goed en veilig is.

Is container technologie voor ieder bedrijf geschikt?

Misschien vraag je je nu af waarom jouw bedrijf nog geen gebruik maakt van die geweldige container technologie. De technologie biedt daadwerkelijk tal van voordelen, maar weet dat de implementatie ervan geen kwestie van quick wins is. Het betreft een structurele beleidsbeslissing, waarbij je best niet over één nacht ijs gaat.

Om de vruchten van container technologie ten volle te kunnen plukken is een verregaande cultural shift op IT-vlak nodig. Zo heb je een heel andere security-infrastructuur nodig dan bij traditionele deployments.

Hosting van Docker containers, specifiek in combinatie met Kubernetes, vereist kennis bij zowel de ontwikkelaars als de beheerorganisatie. Wie toch voor Kubernetes kiest, maakt best meteen ook gebruik van de managed varianten van AWS en Azure, zoals EKS en AKS.

Het kan ook aangewezen zijn om te kiezen voor weliswaar cloud-specifieke, maar eenvoudigere platformen als ECS, ACI en GKE. Het komt er in ieder geval op aan goed te onderzoeken welke container technologie het beste bij jouw organisatie past.

Friso Geerlings
Over de auteur

Friso Geerlings

Technology Director

Bij iO besteedt Friso zijn dagen aan de meest complexe tech uitdagingen voor diverse high-profile (financiële diensten) klanten. Deze combineert hij met ondersteunen van iO's tech teams en het bouwen aan verbindingen tussen developers, gebruikers en systemen. Hij kruipt regelmatig in de pen om met diepgaande, informatieve artikels deze banden verder aan te halen.

Gerelateerde artikelen