docker Vacatures

Banen van June 2020 voor docker recent bijgewerkt!

Docker
Docker is een opensource-techniek waarmee veel applicaties op één server gedraaid kunnen worden zonder al te veel poespas. Bij open source wordt vaak gedacht aan Linux en ook hier is Linux de drijvende kracht achter de technologie. Het principe van Docker is bedacht door Solomon Hykes, die op zoek was naar een andere manier om verschillende applicaties op één server te draaien.
De virtual machines (VM’s) zoals die door VMWare en andere virtualisatieproducten worden gemaakt, hebben allemaal een eigen verwerkings­omgeving met een eigen OS. Software moet ervoor zorgen dat de VM’s met elkaar in de pas blijven lopen. Dit kost tijd en het zorgt er ook voor dat het aantal VM’s beperkt is.

Hykes maakt gebruik van de ingebouwde eigenschappen van Linux, die het mogelijk maakt om met zogeheten containers te werken. Elke container drijft als het ware op Linux en krijgt uit die onderlaag ook alle ondersteuning die nodig is. Binnenin de container draait een applicatie. De opzet is zodanig dat alle containers strikt van elkaar gescheiden zijn. Pas als daar expliciet opdracht voor wordt gegeven, kunnen twee containers met elkaar communiceren – via Linux.

Veel belangstelling
Docker is ooit begonnen als een intern project voor het bedrijf dotCloud, dat zich bezighoudt met de levering van PaaS (Platform-as-a-Service). Via Docker wordt het veel makkelijker om de klanten het platform te geven dat ze wilden hebben. Opmerkelijk is dat Docker is begonnen als een pure proprietary oplossing voor virtualisatie. In maart vorig jaar kwam daar verandering in, toen de code werd overgeheveld naar het opensourcedomein.

Op 13 maart 2013 zag Docker versie 0.9 het levenslicht en de open-sourcegemeenschap dook er vrijwel meteen bovenop, vooral via de developerswebsite GitHub. In iets meer dan een jaar tijd had Docker 10.700 waarderingspunten – de zogeheten GitHub Stars – verzameld. Daarmee stond het project meteen op de 34ste plaats van de ranglijst van de ontwikkelaars.

Docker stond in het spotlight en trok veel partijen van buiten aan. Daaronder ook Red Hat, dat met Docker ging samenwerken op basis van het Fedora-programma. Fedora is een soort sneltrein binnen de Linux-gemeenschap. Elke 2 maanden wordt een nieuwe versie van Fedora bedacht en periodiek worden de nieuwe modules van Fedora overgeheveld naar de grote release van Red Hat Linux.

Om van Docker een succes te maken is geld nodig en daarvoor heeft dotCloud een beroep gedaan op extern kapitaal. Via een aantal financieringsrondes zijn ettelijke miljoenen dollars binnengehaald, zodat de waarde van het bedrijf nu op zo’n 400 miljoen dollar ligt. De belangstelling wordt nog eens aangewakkerd door de steun van grote partijen zoals Google, Red Hat, VMWare, Pivotal en zelfs Microsoft.

Het is de bedoeling om van Docker een tool te maken voor de enterprise, gericht op datacentra van klein tot groot. Daarnaast biedt Docker veel gemak voor de programmeurs van apps. Zij hoeven zich geen zorgen te maken over de hardware waarop hun code eventueel komt te draaien. Alles wat een programma nodig heeft, wordt in de container gezet. “Op die manier wordt het heel eenvoudig om je code naar de hardware te transporteren”, zegt Hykes.

Wat zijn de voordelen?
Gebruik van Docker levert een aantal voordelen op. Computerwetenschapper Zef Hemel, Developer Evangelist en directielid van het Amerikaanse bedrijf LogicBlox, heeft ze op een rij gezet.

Prijs: Wie een nieuw proces wil laten lopen op zijn serverpark en daarvoor een extra Virtual Machine inricht, krijgt meteen een rekening. Bij gebruik van Docker zijn VM’s niet meer nodig en als ze toch worden gebruikt is er vaak nog wel ruimte om een extra container te laten werken. Daarvoor hoeft niet betaald te worden.
Snelheid: Containers starten vrijwel meteen op. Een VM heeft doorgaans een paar seconden nodig voor allerlei administratieve taken voordat een applicatie aan de gang kan gaan.
Geen overspraak: De processen in een container beïnvloeden de rest van het systeem niet, in een container lijkt het alsof de taken door privé hardware worden uitgevoerd.
Hoge veiligheid: Containers gedragen zich als sandbox; wat in de container gebeurt, blijft daar en heeft geen repercussies voor de rest van het systeem.
Besparen op resources: Met Docker kunnen de hoeveelheid geheugen en het aantal klokcycli eenvoudig begrensd worden. Een proces dat op hol slaat – bijvoorbeeld een webwinkel die plotseling duizenden klanten trekt – legt zo niet de hele server stil.
Eenvoudig upgrades beheren: Een nieuwe versie van een applicatie wordt in een eigen container gezet, inclusief alle nieuwe drivers, hulpsoftware en dergelijke. Bevalt de app niet? Dan kan het oude image in no-time worden teruggezet, bij een VM moet voor zoiets heel veel werk worden verzet.
Makkelijk een applicatie verwijderen: Bij Docker is het een kwestie van de betreffende container selecteren en met één commando is de applicatie te verwijderen, zonder losse eindjes.