Orchestreer je microservices met Docker Compose

Wij zijn dol op tools die het organiseren en onderhouden van onze software makkelijker maken. Docker en de "subtool" Composer zijn bij ons dan ook favoriet. 

 

In het kort; wat precies doet Compose? Compose maakt het mogelijk om meerdere docker containers te definiëren en te beheren met behulp van een enkele YAML file. Voor een applicatie met veel microservices is dit geweldig, geen 5 YAML bestanden hooghouden maar alles in een plek als een universele "source of truth".

 

Daarnaast is het een stuk makkelijker om al deze containers te starten, stoppen en herstarten, en is het zelfs mogelijk om gedeelde environment files, volumes en networks te maken.

 

Onafhankelijke schaalbare microservices 

Microservices zijn kleine, onafhankelijke applicaties die elk een specifieke taak uitvoeren. In een applicatie kunnen er meerdere microservices aanwezig zijn, allemaal met een ander doel, ontwikkelings team en zelfs een andere programmeer taal. Het uitgangspunt is dat microservices onafhankelijk van elkaar opereren en hun eigen levenscyclus doorlopen. Vandaar dat het doel, taal, team en manier van ontwikkeling zoveel mag verschillen. Heeft een microservice meer processor kracht nodig? Geen probleem door de onafhankelijkheid kan je deze service zorgeloos migreren naar een aparte VPS. Daarnaast (indien errors worden gevangen) zal er totaal geen downtime zijn tijdens de migratie omdat elke andere microservice door blijft draaien.

 

Alles in containers plaatsen

Dan de containers. Elke container is eigenlijk een lichtgewicht virtuele machine die een applicatie of een microservice uitvoert, zonder dat deze direct communiceert met de onderliggende hardware of andere containers. Dit betekent dat elke container zijn eigen besturingssysteem, bibliotheken en afhankelijkheden heeft, wat het makkelijker maakt om applicaties te ontwikkelen, testen en deployen, zonder dat er conflicten ontstaan tussen verschillende applicaties of versies.

 

Geen muziek zonder dirigent

Je voelt het misschien al aankomen maar als alles zo onafhankelijk van elkaar is is het een complexe taak om dit allemaal te beheren. Je moet ervoor zorgen dat elke container de juiste afhankelijkheden heeft, dat de poorten correct zijn geconfigureerd en dat de containers met elkaar communiceren. Precies voor dat probleem komt Compose om de hoek komt kijken.

 

Naar onze mening zijn microservices een perfecte match voor containers. Containers hebben in principe ook maar een specifieke taak/ omgeving om "live" te houden. 

 

Echter, het beheer van meerdere containers kan een complexe taak zijn. Daarom is het hebben van een "dirigent" voor je containers essentieel. Compose speelt deze rol perfect, door alle containers te coördineren en te zorgen dat ze samenwerken als een goed geoliede machine. Met Compose kun je al je containers definiëren en beheren in één centrale plek, waardoor je een overzicht hebt over alle onderdelen van je applicatie en gemakkelijk aanpassingen kunt maken. Dit maakt het beheer van meerdere containers een stuk minder complex en geeft je de vrijheid om je te focussen op het ontwikkelen van je applicatie, in plaats van het beheren van je containers.

 

Meerdere containers over meerdere servers installeren? Sinds compose V3 kan je nu ook de YAML file (met een paar aanpassingen zoals een label name) in swarm clusters gebruiken!

 

Indien je dit wilt is er zelfs ruimte voor een extra laag aan versiebeheer door gebruik te maken van je eigen docker images (meer hierover in een volgende post).

 

Conclusie

In conclusie, Docker gecombineert met Compose vormt een krachtige tool voor het beheren van microservices en containers. Door het gebruik van Compose kun je je containers centraal beheren, configureren en coördineren, waardoor je een overzicht hebt over alle onderdelen van je applicatie en gemakkelijk aanpassingen kunt maken. Dit maakt het ontwikkelen en deployen van applicaties een stuk efficiënter en flexibeler, en geeft je de vrijheid om je te focussen op het bouwen van innovatieve en schaalbare softwareoplossingen. Met Docker en Compose ben je klaar voor de toekomst van softwareontwikkeling! Hopelijk snap je na het lezen van deze post waarom wij zulke fans zijn van deze combi.

De digital agency voor doelgerichte, innovatieve
en opvallende websites en webapplicaties.

Meld je aan voor updates

Ik ga akkoord met de privacy policy