Xylos brands

Hoe gebruik je een container?

In het IT-landschap speelt virtualisatie een cruciale rol. Zo maakt de installatie van besturingssystemen en -applicaties op fysieke servers plaats voor het gebruik van virtuele machines. Zulke virtuele machines maken het eenvoudig om een volledig besturingssysteem (vb. Linux) te virtualiseren, maar nemen tegelijk veel systeembronnen in beslag. Om dat te vermijden, tonen we hoe je containers gebruikt.
 

De technologie staat nooit stil. Alhoewel virtuele machines het eenvoudig maken om een volledig besturingssysteem (vb. Linux) te virtualiseren, zijn ze niet erg handig om applicaties te verpakken. Een virtuele machine bevat een volledig besturingssysteem en dus heel wat overhead. Als je applicatie uit meerdere, kleinere componenten bestaat (microservices), wordt het alleen maar erger. Met containers heb je een alternatief dat beter geschikt is om applicaties te verpakken en uit te rollen, ook als het om microservices gaat.

Bij Xylos gebruiken onze experts containers zowel voor interne toepassingen en extern beschikbare toepassingen zoals OASE.

1. Wat is een container?

Een container is een efficiënte manier om software te verpakken in een standaardformaat. Naast je eigen applicatiecode bevat een container alle tools, systeembibliotheken, runtimes en instellingen die nodig zijn om je applicatie te laten werken. Niet meer en niet minder. De ontwikkelaar heeft zelf de touwtjes in handen zodat de container slechts het essentiële bevat. Het gevolg is dat een container doorgaans een pak kleiner is dan een virtuele machine, sneller gestart kan worden en sneller vervangen kan worden door een nieuwe versie.

De markt van containers groeit snel en wordt geschat op 2,7 miljard dollar in 2020, 3,5 keer groter dan 2016.

Alhoewel de technologie van containers al heel lang bestaat, werd die pas echt populair in 2013 met de introductie van Docker. Linux-distributeurs en public cloud aanbieders pikten Docker op. Alhoewel Docker initieel enkel op Linux werkte, leidde de samenwerking met Microsoft al snel tot Windows-ondersteuning. Docker is een zogenaamde “container runtime”. Vandaag zijn er tal van alternatieven, maar Docker blijft de meest populaire.

2. Hoe gebruik je een Docker-container?

Laten we het wat praktisch houden en een Docker-container gebruiken. In een latere blogpost bekijken we hoe je deze container bouwt. Stel dat een ontwikkelaar een toepassing gebouwd heeft die gebruikers beelden laat herkennen. Het gaat om een webtoepassing met een uploadfunctie. Na het uploaden van een foto, krijgt de gebruiker het resultaat te zien:

docker_container_Egyptian_cat

De applicatie werd gebouwd met Go en gebruikt TensorFlow, een open source machine learning framework van Google. Omdat de applicatie verpakt werd in een container, is dat eigenlijk niet zo relevant aangezien de container gestart kan worden op elk systeem dat Docker-containers ondersteunt. Dat kan zelfs op je eigen Windows machine als je bijvoorbeeld Docker Desktop installeert. Met Docker Desktop op je machine, kan je dit commando gebruiken:

docker run -p 9090:9090 -d gbaeke/nasnet

Het bovenstaande commando maakt de webtoepassing beschikbaar op poort 9090. De container draait in de achtergrond (-d) en gebruikt de container image met naam gbaeke/nasnet. Merk op dat deze container image bewaard werd in een container registry, een plaats waar je je eigen images kan bewaren. De gebruikte container registry is in dit geval Docker Hub en de image is publiek beschikbaar.

3. Hoe draai je een container in de cloud?

Elke publieke cloud provider biedt de mogelijkheid om Docker containers te draaien. Microsoft Azure biedt o.a. de volgende mogelijkheden:

  • Azure Container Instances (ACI): snelste en meest eenvoudige manier om een container te draaien in Azure
  • Azure Kubernetes Service (AKS): uitgebreide container orkestratie mogelijkheden voor meer complexe toepassingen (o.a. micro-services)

Onze web toepassing is heel eenvoudig op te starten in ACI via het Azure portaal:

De applicatie is nu meteen beschikbaar via een publieke naam.

4. Conclusie

Containers maken het eenvoudig om een toepassing te verpakken in een standaardformaat. In deze post gebruikten we een bestaande Docker-container image. Deze image is eenvoudig te gebruiken op elk systeem dat Docker ondersteunt, zoals je eigen computer of de Azure cloud. In een volgende post bekijken we hoe je een container image kan bouwen.

Wil je meer weten over containers? Kom dan zeker naar ons event “The Azure Migration Fundamentals” op 4 april.

Deel dit blogbericht

Also interesting for you

Laat een antwoord achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd.

Breng jouw kennis en skills naar een hoger niveau

Schrijf nu in voor onze nieuwsbrief en krijg maandelijks:

  • Uitnodigingen voor Xylos' events & webinars
  • De laatste blogposts en cases
  • Nieuwste IT-trends