Wat je moet weten voordat je begint met container networking

De afgelopen jaren zijn steeds meer bedrijven gebruik gaan maken van containers. Door containers te gebruiken, kunnen bedrijven applicaties op een betrouwbare manier opslaan en opleveren over verschillende computeromgevingen heen. Dankzij containers worden de verschillen tussen besturingssystemen en de onderliggende infrastructuren onttrokken. 

De containertechnologie is in een jaar tijd volwassen geworden. Niet langer is de innovatieve technologie enkel het terrein van ontwikkelaars. Vandaag de dag behoren containers tot de mainstream van enterprise-IT. Bij het invoeren van de containertechnologie binnen een bedrijf, is het belangrijk om de nodige aandacht te besteden aan het containernetwerk. 

Het netwerk is een essentieel onderdeel binnen het container-ecosysteem. Het zorgt voor de verbinding tussen containers die op dezelfde host draaien, maar verbindt ook containers die op verschillende hosts draaien. We bekijken de verschillende opties die er zijn om container networking toe te passen binnen een container-architectuur en waar je op moet letten bij het kiezen van een technologie.

Onderdeel van de virtualisatie-evolutie

Container networking is een onderdeel van de evolutie in de virtualisatie van opslag-, compute- en netwerktechnologieën. Hoewel de containertechnologie relatief nieuw is, is virtualisatie dat zeker niet. In de jaren 80 draaide IBM al een virtualisatielaag over zijn grote mainframes. Dit is de voorloper van wat we nu hyperconverged infrastructuur noemen. Virtualistaie biedt verschillende voordelen en is vandaag volwassen, toegankelijk en betaalbaarder dan ooit. Hierdoor kiezen steeds meer bedrijven ervoor om hun workloads te virtualiseren. 

Bij virtualisatie wordt hardware gedeeld door virtuele machines, afgekort als VM. Elk van deze virtuele machines bevat zowel een applicatie als een compleet besturingssysteem. Ook containers zijn een vorm van virtualisatie. Het werkt alleen net een beetje anders. Een server die drie containerapplicaties ondersteunt, heeft slechts één besturingssysteem nodig.

Een VM met een eigen besturingssysteem neemt al snel meerdere gigabytes aan opslagruimte in beslag. Een container heeft vaak slechts tientallen megabytes aan opslag nodig. Het gebruik van containers kan bedrijven hierdoor veel opleveren. Containers kunnen bijvoorbeeld helpen om datacenters efficiënter te maken en ondertussen de benodigde apparatuur, stroom en het onderhoud zoveel mogelijk terug te dringen. 

De juiste benadering kiezen

Het kiezen van de juiste benadering voor container networking is essentieel voor de lange termijn. Wat voor een bedrijf de beste benadering is om container networking in te zetten, is voor een groot deel afhankelijk van de behoeftes voor applicaties, de manier waarop ze worden ingezet, het gebruik van orchestrators en het onderliggende besturingssysteem. 

De meest populaire containertechnologieën die vandaag de dag gebruikt worden zijn gebaseerd op Docker en Kubernetes. Deze technologieën hebben inplugbare subsystemen voor netwerken op basis van drivers. Gebaseerd op je netwerk- en toepassingstype kun je de meest geschikte driver kiezen voor jouw omgeving. Een goede netwerkoplossing moet voldoen aan de eisen van het bedrijf, potentieel bieden om naar een groot aantal containers op te schalen en ook vluchtige containers beheren.

De keuze voor een containernetwerk wordt niet alleen gedreven door de schaal, maar ook door de functies die nodig zijn.

Traditioneel gezien zou elke container verbonden moeten worden alsof het een normaal netwerkapparaat zou zijn. Deze benadering brengt de nodige problemen met zich mee, bijvoorbeeld met de firewall. Dankzij nieuwe technologie op het gebied van container networking kan men containers met elkaar verbinden alsof ze draaien op dezelfde interface.

Opties voor container networking

Enkele populaire opties voor container networking waaruit je kan kiezen, zijn bridge, overlay, host en Macvlan. 

Bridge-netwerken maken het mogelijk om containers te laten draaien op dezelfde host, zodat ze met elkaar kunnen communiceren. De IP-adressen die zijn toegewezen aan elke container zijn niet toegankelijk vanuit een externe host. 

Overlay-netwerken zijn geschikt voor containers die draaien op verschillende hosts, zoals het geval is bij een Docker-swarm. In een overlay network kunnen containers over verschillende hosts elkaar automatisch vinden en met elkaar communiceren via tunneling network subnets. 

In een host-netwerk laat de driver de containers hun eigen netwerkstacks draaien naast de stack van de host. Het grootste voordeel van deze benadering is de snelheid, maar je levert wel in op de flexibiliteit.

Een Macvlan-netwerk is vooral geschikt voor applicaties die rechtstreeks werken met het onderliggende fysieke netwerk, zoals applicaties voor het monitoren van netwerkverkeer.

Andere opbouw dan legacy-netwerken

Om gebruik te gaan maken van containers, moet de volledige netwerk-architectuur van een bedrijf worden herzien. Je mag er niet vanuit gaan dat een containernetwerk hetzelfde werkt als een legacy-netwerk, want dan verlies je het voordeel om je architectuur op een makkelijk te onderhouden manier te verbinden.

Je mag er niet vanuit gaan dat een containernetwerk hetzelfde werkt als een legacy-netwerk.

Als er een aanpassing nodig is aan een legacy-netwerk, bijvoorbeeld het toevoegen van een nieuwe server, moet dit met de hand gebeuren. Als een verandering niet goed doorgevoerd wordt, kan dit tot uitval leiden. In een container-ecosystem worden veranderingen aan bijvoorbeeld de netwerkconfiguratie routinematig doorgevoerd. Er is geen directe handmatige controle van het netwerk nodig. 

Goede beveiliging van je containernetwerk

Verbonden containers kunnen de beveiliging verbeteren, maar ze kunnen ook de deuren openen voor nieuwe gevaren. Doordat containers dynamisch van aard zijn, is het belangrijk om een beveiligingstool te gebruiken die automatisch leert over het gedrag van het netwerk. Containers zorgen voor grote veranderingen in de technologiestack van bedrijven en het ontwikkelproces van software. Het is daarom aan bedrijven om niet alleen te zorgen dat de systemen goed werken, maar ook te zorgen dat ze veilig zijn.

Het beveiligen van de containernetwerken is iets waar veel bedrijven mee kampen. Zo blijkt uit een onderzoek van Tripwire dat ruim 94 procent van de IT-securityprofessionals zich zorgen maakt over de beveiliging van container-technologie. 60 procent liep het afgelopen jaar tegen een beveiligingsissue aan. 

Constante ontwikkelingen

De technologie van container networking verandert snel. Er komen constant nieuwe technologieën bij. Er komen steeds nieuwe en betere tools bij die het makkelijker maken om over te stappen te stappen op dit nieuwe model en bedrijven helpen om hun eigen container-architectuur op te zetten.