Docker

Docker is een Open Source Software voor containervirtualisatie en is tegelijkertijd een term voor een volledig ecosysteem rondom deze techniek.

Containervirtualisatie maakt het mogelijk om meerdere besturingssystemen en toepassingen in geïsoleerde omgevingen (zogenaamde containers) op hetzelfde apparaat uit te voeren.

In vergelijking met klassieke virtualisatieoplossingen zoals VMWare of Virtualbox is deze techniek zeer resource-efficiënt, omdat de isolatie op het niveau van het besturingssysteem plaatsvindt en de ingewikkelde simulatie van hardware kan worden vermeden.

DockerVoordelen

  • Efficiënte benutting van systeembronnen
  • Grote besparing op geheugen
  • Directe kostenbesparing door efficiënte benutting
  • Snelle en flexibele uitbreiding van functies mogelijk
  • Inzetbaar voor microservices

DockerFeiten

01

Als vrije software dient Docker voor de isolatie van toepassingen.

02

Containervirtualisatie stelt in staat om meerdere besturingssystemen en applicaties in geïsoleerde omgevingen (zogenaamde containers) op dezelfde computer uit te voeren.

03

Verschijnend in 2013, is Docker inmiddels niet meer weg te denken uit de programmeerwereld.

Welke toepassingsmogelijkheden zijn er voor Docker?

  • Bij de ontwikkeling
    Voor de ontwikkeling van webapplicaties bouwen we de gehele infrastructuur op Docker-containers.
    Te beginnen met de lokale ontwikkeling richten we Docker-containers in voor iedere technische eenheid van de applicatie (gewoonlijk: Frontend, Backend, database) om deze onafhankelijk en zonder ongewenste neveneffecten op te bouwen. Dit zorgt met name voor een hoge flexibiliteit en onafhankelijkheid ten opzichte van de gebruikte systemen.
    Was het voor de inzet van virtuele systemen heel gebruikelijk dat dezelfde software op verschillende systemen (bijv. Mac OS, Windows, Linux) verschillende gedragingen vertoonde, wordt dit in een Docker-systeem opgevangen, aangezien het vanuit het perspectief van de applicatie overal om hetzelfde systeem gaat.
  • Bij de routinematige controle
    In een volgende stap wordt Docker bij Ambient Innovation ook gebruikt om geautomatiseerde tests en controles van de code uit te voeren. Docker benut hier zijn voordeel als ecosysteem, omdat veel tools voor webontwikkeling al zijn ingericht voor het omgaan hiermee.

    De geprogrammeerde testszenario's draaien op automatisch ingestelde systemen zonder gebruikersdata of in een vooraf gedefinieerde omgeving. Voor elke nieuwe testuitvoering wordt ook een nieuwe omgeving gecreëerd, zonder invloed op de productiesystemen of demoversies.
  • Bij productief gebruik
    Aan het eind van een ontwikkeling/ontwikkelingsfase kan de applicatie in de productiefase ook met Docker worden aangeboden.
    Om de verschillende applicaties van onze klanten te beheren en een duidelijke scheiding van verantwoordelijkheden te waarborgen, maken we bij Ambient Innovation gebruik van het orchestratie-instrument Kubernetes.
    Met Kubernetes worden nieuwe applicaties als containers aangeboden en over één of meerdere servers verdeeld, daarnaast kunnen hiermee ook bronnenlimieten en de schaalbaarheid van applicaties worden beheerd.