Hur en start kom från docker-compose till Kubernetes

I den här artikeln skulle jag vilja prata om hur vi ändrade inställningen till orkestrering på vårt startup-projekt, varför vi gjorde det och vilka problem vi löste längs vägen. Den här artikeln kan knappast göra anspråk på att vara unik, men jag tror ändå att den kan vara användbar för någon, eftersom vi i processen att lösa problemet samlade in materialet med en anständig mängd ansträngning.  

Vad hade vi och vad pratade vi om? Och vi hade ett startup-projekt med cirka 2 års utvecklingshistoria från reklamområdet. Projektet byggdes från början som en mikrotjänst, och dess serverdel skrevs i Symfony + lite Laravel, Django och infödda NodeJs. Tjänsterna är främst ett API för mobila klienter (det finns 3 av dem i projektet) och vår egen SDK för IOS (inbyggd i våra kunders applikationer), samt webbgränssnitt och olika instrumentpaneler för samma kunder. Alla tjänster var till en början dockeriserade och kördes under docker-compose.

Det är sant att docker-compose inte användes överallt, utan bara i den lokala miljön för utvecklare, på en testserver och inne i pipelinen när man byggde och testade tjänster. Men i produktionsmiljön användes Google Kubernetes Engine (GKE). Dessutom konfigurerade vi GKE i början av projektet helt och hållet genom dess webbgränssnitt, vilket var ganska snabbt och, som det verkade för oss då, bekvämt. Endast processen att bygga docker-bilder för lansering av tjänster i GKE automatiserades här.

Läs mer