30-04-2019

Containertechnologie: 5 redenen waarom het zorgt voor flexibiliteit en kortere time-to-market

Wat is er frustrerender dan weinig flexibiliteit in de online dienstverlening en een lange time-to-market? Zoals de tijd die het gewoonlijk duurt voordat de code van de machine van een developer op de productieserver draait? En omdat het erop lijkt dat het aantal start-ups en nieuwe businessmodellen jaarlijks groeit, zijn challengers in de markt een meer dan terechte zorg. Maar nu technologie steeds geavanceerder wordt, is er voor gevestigde bedrijven behoorlijk wat slagkracht ter beschikking om een flinke slag te maken in het grotere ‘to become digital’ vraagstuk. We nemen je graag mee in hoe wij zien dat containertechnologie hierbij helpt.

Containers als metafoor voor containertechnologie

Einde ‘lock-in’ als kritische succesfactor

Containertechnologie heeft de laatste jaren een flinke groei doorgemaakt en aan populariteit gewonnen. Maar wat zijn containers en waarvoor kunnen ze worden gebruikt? Een container is een pakketje met een vaste indeling met daarin de applicatie, plus de technische componenten (libraries, utilities en configuratiefiles), die vanuit de cloud zelfstandig kan functioneren. Dankzij de uniforme opzet van containers en de adoptie van deze standaard door alle cloud- en tech providers – vergelijk het maar met uniforme containers op een vrachtschip – is het mogelijk dat een applicatie op deze manier op ieder platform en besturingssysteem werkt. Kortom, ‘build it once, run it anywhere’. 

Docker, Kubernetes en de cloud

Containertechnologie is open source en wordt omarmd door de techreuzen van deze wereld, zoals Amazon, Microsoft, Google en Red Hat. Deze bedrijven ontwikkelen de technologie verder en maken het beschikbaar op diverse platformen. De meest bekende container tool is Docker, dat zorgt voor de packaging van applicaties in containers. Maar er is meer nodig om containertechnologie in te zetten.

Om verschillende containers samen te laten werken, is een containerplatform nodig. Kubernetes is daar een voorbeeld van. Kubernetes laat Docker containers samenwerken. Het platform zorgt voor het starten, stoppen, automatisch herstellen, configureren, beheer en het regelen van resources voor onder andere opslag. Met Kubernetes stel je de workflows in en leg je vast hoe en welke containers moeten werken bij verschillende gebruikersverzoeken. Als Docker containers de individuele musici zijn, dan is Kubernetes de dirigent van het orkest.

"Als Docker containers de individuele musici zijn, dan is Kubernetes de dirigent van het orkest."

Voorbeeld uit de praktijk

Tot zover de techniek achter containertechnologie. Als je de technologie in de online dienstverlening van een bedrijf wil toepassen, dan is containertechnologie in veel verschillende business cases de overweging waard. En om specifiek te zijn, wanneer het aankomt op wensen voor flexibiliteit, schaalbaarheid, waardecreatie voor eindgebruikers en efficiëntere deployments. Bij ISAAC passen we containertechnologie bijvoorbeeld toe bij een bedrijf dat met meerdere multidisciplinaire teams aan één applicatie werkt en online services biedt over de landsgrenzen heen. In dit geval niet alleen in Europa, maar ook in Azië. Dankzij containertechnologie is het mogelijk om eenvoudig uit te breiden naar andere landen, waarbij applicaties juist ook multi-cloud tegelijk kunnen draaien.

5 Businessvoordelen van standaardisatie met containers

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

  • Cloud agnostic en infra agnostic: een applicatie werkt met containertechnologie onafhankelijk van het besturingssysteem en op ieder platform, ook bij verschillende cloudproviders.
  • Portability: containerized applicaties kunnen veel sneller worden gereleased; er kunnen zelfs meerdere (zero downtime) deployments op één dag plaatsvinden. Dat scheel veel tijd en kosten bij de oplevering van software.
  • 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 uitrollen.
  • Agility: containerized applicaties 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.
  • Scalability: hoewel eerdergenoemde voordelen ook met schaalbaarheid te maken hebben, heeft scalability in de context van containertechnologie ook 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, aantal aanvragen en interacties. Kubernetes detecteert geautomatiseerd wanneer het zover is om tijdens die ene belangrijke kerstcampagne serverruimte op te schalen – en weer af te schalen als de piek voorbij is.

Containertechnologie de heilige graal?

Misschien vraag je je nu af waarom jouw bedrijf nog geen gebruikmaakt van containertechnologie of hoe jullie er snel mee kunnen beginnen. We vinden het belangrijk om te benadrukken dat aan de slag gaan met containertechnologie geen kwestie van ‘quick wins’ is. Echt profiteren gaat samen met een cultural shift op IT-vlak. Op hoofdlijnen zien wij de volgende aspecten die erbij komen kijken:

  • De meest passende applicatiearchitectuur is die van microservices. Zo’n architectuur doet aannames over de wijze waarop applicaties omgaan met gegevens, het zogeheten stateless principe, en werkt daardoor optimaal samen met containertechnologie.
  • Hosting van Docker containers, specifiek in combinatie met Kubernetes, vereist kennis bij zowel ontwikkelaars als de beheerorganisatie.
  • De cultuur die het beste past bij de inzet van containertechnologie is die van DevOps. In die structuur pakken ontwikkelaars de verantwoordelijkheid voor goed draaiende applicaties in de productieomgeving.

Kortom, een succesvolle toepassing van containertechnologie is vooral gestoeld op de juiste en een geschikte business case. Vrijblijvend een keer over dit onderwerp sparren met de specialisten van ISAAC? We helpen graag!