Docker implementatie
Klantoverzicht
Onze klant is een toonaangevend Nederlands mediabedrijf dat volledig gespecialiseerd is in sportproducties. Ze produceren dagelijkse sportprogramma's, documentaires, liveverslaggeving, talkshows en sociale media-inhoud voor alle grote (sport)kanalen, streamers en platforms.
Wij hebben de migratie gefaciliteerd van een complexe Kubernetes-cluster naar een eenvoudiger gedockeriseerde omgeving op AWS. De klant maakte gebruik van acht verschillende microservices, waarvan sommige in PHP en andere in Next.js/Node.js. We hebben Docker-images gebouwd voor elk van deze services en de ECS-diensten opgezet.

Ons Proces
Om te beginnen hebben we een uitgebreide analyse uitgevoerd van onze bestaande services en een nieuwe, goed georganiseerde structuur ontwikkeld om efficiëntie en schaalbaarheid te verbeteren. Als onderdeel van dit proces hebben we Docker-images gebouwd voor alle PHP- en Next.js-services, waarbij we ervoor zorgden dat elk image geoptimaliseerd was voor prestaties en compatibiliteit. Deze Docker-images zijn vervolgens geüpload naar AWS Elastic Container Registry (ECR) en ingezet op een nieuw geconfigureerde Amazon ECS-cluster, wat een robuuste en schaalbare basis biedt voor de applicaties van de klant.
Daarnaast hebben we een speciale EC2-server opgezet met Jenkins, die nu dient als geautomatiseerd implementatiehulpmiddel voor de ECS-containers. Deze configuratie biedt de klant een gebruiksvriendelijke webinterface voor het beheren van implementaties, waardoor het proces wordt gestroomlijnd en de operationele complexiteit wordt verminderd.
Technische Hoogtepunten
De technologieën die we hebben gebruikt om de oplossing te realiseren
Docker
AWS ECR / ECS
Jenkins
PHP
Next.JS
Oplossingen
De op maat gemaakte oplossing die we voor de klant hebben ontwikkeld, na het begrijpen van hun unieke behoeften en uitdagingen.
Setting up the clusters in ECS allowed us to scale the containers more efficiently during moments of higher traffic
Belangrijkste Bevindingen
Door te migreren naar AWS kreeg de klant verbeterd inzicht in het gebruik van de middelen voor hun microservices. Deze verbeterde transparantie maakt effectievere monitoring, optimalisatie en schaalbaarheid van hun infrastructuur mogelijk.
Bovendien biedt het gebruik van Docker-images voor specifieke services de klant meer controle over versiebeheer. Dit zorgt ervoor dat elke service onafhankelijk kan worden beheerd, bijgewerkt en indien nodig kan worden teruggedraaid, wat een stabielere en flexibelere ontwikkelomgeving bevordert.
Impact
De servicekosten werden met 30% verlaagd dankzij de implementatie van efficiënter autoscaling. Door gebruik te maken van de dynamische resource-allocatie van AWS ECS, kon de klant de kosten optimaliseren terwijl de hoge prestaties behouden bleven bij wisselende vraag.
Bovendien werd het implementatieproces aanzienlijk eenvoudiger door de introductie van Dockerization. Deze gestroomlijnde aanpak vereenvoudigde niet alleen de implementatiepijplijn, maar bood ook de flexibiliteit om terug te keren naar oudere versies van de applicatie indien nodig. Dit zorgde voor meer stabiliteit en controle in zowel de ontwikkel- als productieomgevingen.