Redactie - 12 juli 2018

Containers: de mythes ontkracht

Containers: de mythes ontkracht image

Containers worden steeds populairder onder verschillende soorten technologiegebruikers. Een containerecosysteem is tegenwoordig bij veel bedrijven een kernonderdeel van hun technologie roadmap.

Toch bestaan er nog veel mythes over containers, zoals bij alle opkomende technologieën gebeurt. Om de toepassing van containertechnologie zo makkelijk en veilig mogelijk te maken is het belangrijk dat we deze mythes ontkrachten.

Mythe 1: “Containers zijn in feite lichtgewicht virtual machines”

Tot op bepaalde hoogte klopt dit, maar het is belangrijk om containers meer te beschouwen als een uitvoerbaar bestand dan een virtuele machine (VM). Er is geen belemmering van hardwaresimulatie, het ecosysteem is volledig open source en het beschikt over de tools voor het beheer van installaties en het opzetten van complexe omgevingen. Containers zijn als een Goldilocks abstractie – de juiste maat en snelheid voor snelle projecten en implementaties.

Mythe 2: “Containers zijn onveilig”

Toen containers werden geintroduceerd was dit zeker waar. Maar in de afgelopen jaren hebben Docker, Red Hat en de community in het algemeen veel veiligheidgerelateerde functies toegevoegd aan de Docker runtime. Deze functionaliteiten zijn ontworpen voor beveiliging op enterprise-niveau en omvatten o.a. dropping en integratie met SELinux, AppArmor en Secure Computing Mode (seccomp).

Weten welke gegevens waar zijn opgeslagen en in welke vorm is een fundamenteel aspect van de beveiliging. Een van de beste manieren om te voorkomen dat containers versplinterd raken over meerdere diensten en systemen, is het ontwerpen, bouwen en onderhouden van een standaardcontainer en een implementatieproces. Dit proces moet zich richten op het bouwen van containers, het vastleggen van metadata, het uitvoeren van scans en het vastleggen van containers in een centraal register. 

Dit gemeenschappelijke, gedeelde proces heeft een belangrijke voorwaarde: een standaard proces vereist gestandaardiseerde workloads. Dit betekent dat elke workload in een container moet voldoen aan samenhangende naamgevings- en versieconventies, metagegevens moet afgeven (bijv. uniforme status informatie), en consequent metrische gegevens logt. Elke workload moet ook volgens het twaalf-factorprincipe ontworpen zijn om succesvol te draaien in een pool van containers. Tenslotte mogen gevoelige gegevens nooit als platte tekst worden opgeslagen in het containerbestandssysteem.

Als er een gestandaardiseerd proces en register zijn beschikt men over een controleerbare bron voor alle containters en kunnen veiligheids- en nalevingscontroles plaatsvinden.

Mythe 3: “Ik kan alleen waarde uit containers halen met nieuwe applicaties”

Je hoeft de toepassing van containers niet te beperken tot gloednieuwe applicaties. Sommige organisaties halen veel waarde uit het verplaatsen van verouderde  applicaties naar containers. Een kritieke applicatie geschreven in PHP5 zou bijvoorbeeld in een eigen container kunnen functioneren naast PHP7-applicaties zonder problemen als gevolg van conflicterende afhankelijkheden.

Als je begint met containers hoef je niet direct in te zetten op een volledig end-to-end containerplatform. Zolang er een planning is voor de implementatie van een systeem zoals Kubernetes, zit er veel waarde in het beheren van 'dumb' containers direct op individuele apparaten als een tijdelijke oplossing. Het biedt de waarde van een verenigbaar containerproces, het gemakkelijke beheer van de afhankelijkheid en de capaciteit om dezelfde containers op verschillende plekken uit te rollen. Deze benadering werkt ook goed voor verouderde toepassingen die een beschrijfbaar bestandssysteem vereisen – gebruik een koppeling van bind mounts en je bent van start.

Benut het potentieel

Wij geloven dat containers de toekomst zijn. Niet alleen omdat ze het eenvoudiger maken om applicaties te verplaatsen tussen cloudplatformen en lokale omgevingen. Of omdat  technische teams containers kunnen inzetten om de best passende taal of stack in de container te implementeren. Maar ook de enorme waarde die gehaald wordt uit een gemeenschappelijk platform voor het bouwen en opslaan van applicaties.

Door: Iskandar Najmuddin, architect specialist bij Rackspace

Wil jij dagelijkse updates?

Schrijf je dan in voor onze nieuwsbrief!