17 februari 2020
Je kunt je website natuurlijk the oldfashioned way laten hosten, maar waarom niet eens kijken naar nieuwe methodes? Het afgelopen decennium hebben softwarebedrijven zoals Adobe, Netflix, AT&T en serverbeheerders verschillende nieuwe methodieken zoals Jenkins en RabbitMQ in gebruik genomen en verder ontwikkeld. Veel oude servertechnieken worden nog steeds gehanteerd, puur omdat ze werken, maar zelfs servers die nog overeind staan op antieke software kunnen voordeel halen uit de moderne ontwikkelingen. In dit blogartikel vertel ik je iets meer over de voordelen van zo’n nieuwe methodiek: Docker.
Een veel gebruikte methode voor het hosten van meerdere websites op een machine is om dit allemaal in één proces te doen. Dit brengt een aantal nadelen met zich mee, onder andere dat meerdere websites afhankelijk zijn van de uptime van één proces. Als dit proces crasht, om wat voor reden dan ook, zijn alle websites op deze machine hiervan de dupe.
Onze oplossing hiervoor is Docker. Met deze software is het mogelijk om websites op te delen in meerdere aparte processen. Als een website of applicatie weigert, om wat voor reden dan ook, wordt het probleem geïsoleerd tot puur de plek waar het probleem is ontstaan. Hiermee kan één website wegvallen, terwijl vijf tot tien andere websites pagina’s blijven leveren aan klanten.
Als je bij ons je websites laat maken en hosten, hoef jij je geen zorgen te maken om de uptime van andere websites. Als er iets fout gaat bij een andere website (bijv. zware traffic, fouten in hun setup), blijft het geïsoleerd binnen de eigen omgeving. Dankzij Docker hoeven websites zich niets van elkaar aan te trekken zolang het NGINX-proces (het overkoepelend proces) blijft draaien.
Daarnaast is het mogelijk om voor elke website een andere configuratie op te zetten. Met één proces ben je gelimiteerd tot één configuratiebestand, terwijl je met gesplitste processen elke website individueel kan optimaliseren. Geen gemiddelde standaard voor al je websites dus, maar maatwerk.
De voordelen van Docker in een notendop:
Hieronder zie je een simpel voorbeeld. In dit geval gebruiken we een NGINX Reverse Proxy als een soort begeleider voor elke bezoeker op ons IP-adres. Als een websitedomein wordt ingevuld dat bij onze server hoort, dan worden ze eerst doorverwezen naar de proxy.
Als een klant vraagt om Website 2, dan krijgt de klant deze website opgeleverd vanuit de Website 2 containergroep. Welke website de bezoeker krijgt, is puur afhankelijk van de URL die de gebruiker invoert. In dit voorbeeld staat de proxy zo ingesteld dat Website 3 wordt opgeleverd als de gebruiker naar ‘http://website3.nl’ probeert te gaan.
Door middel van Docker is het niet alleen mogelijk om meerdere websites op één server te draaien, maar krijgt de serverdirigent ook meer controle over de individuele websites zelf. Docker heeft veel mogelijkheden om websites meer of minder ruimte en capaciteit te geven van de hoofdserver. Hiermee kunnen zware websites veel krachtiger gemaakt worden, terwijl simpelere websites lichter gestemd zijn.
Voor meer informatie over Docker container orkestratie
Nog vragen? Laat het weten! Neem contact met ons op!