BVB Media
BVB Media is een e-commerce dienstverlener die gespecialiseerd is in het ontwikkelen van webwinkels. Het bedrijf heeft een eigen headless e-commerce platform ontwikkeld op basis van PHP dat voor uiteenlopende klanten wordt ingezet. Deze webwinkels werden gehost op een traditionele infrastructuur. Deze infrastructuur was niet schaalbaar en bood onvoldoende mogelijkheden voor automatisering. Hierdoor was het lastig om tijdelijk extra capaciteit toe te voegen op piekmomenten met veel bezoekers, zoals op Black Friday. BVB Media heeft ons gevraagd om te helpen met het migreren van een aantal grote webwinkels naar Kubernetes.
Om de migratie naar Kubernetes te realiseren hebben we eerst een aantal randvoorwaarden gecreëerd. Zo hebben we met behulp van GitHub Actions een continuous deployment pipeline opgezet die bij elke commit een nieuwe Docker image bouwt en deze naar een image registry pusht. Hierdoor kunnen wijzigingen aan de applicatie snel en veilig worden uitgerold, zonder dat handmatige handelingen nodig zijn.
Vervolgens hebben we verschillende Kubernetes clusters opgezet: een stagingomgeving, een productieomgeving en een cluster voor een aantal afzonderlijke applicaties. Omdat de verschillende webwinkels als losse instances draaien, maar grotendeels dezelfde configuratie hebben, hebben we gebruik gemaakt van Helm charts om de Kubernetes-configuratie voor de verschillende webwinkels te genereren. Ook dit proces hebben we geautomatiseerd met GitHub Actions zodat wijzigingen eenvoudig kunnen worden doorgevoerd.