Šiame straipsnyje norėčiau pakalbėti apie tai, kaip pakeitėme požiūrį į orkestravimą savo startuolio projekte, kodėl tai padarėme ir kokias problemas išsprendėme. Šis straipsnis vargu ar gali teigti, kad yra unikalus, bet vis tiek manau, kad jis gali būti kažkam naudingas, nes sprendžiant problemą medžiagą surinkome neblogai girgždėdami.
Ką mes turėjome ir apie ką kalbame? Ir mes turėjome startuolio projektą su maždaug 2 metų plėtros istorija iš reklamos srities. Iš pradžių projektas buvo sukurtas kaip mikro paslauga, o jo serverio dalis buvo parašyta Symfony + šiek tiek Laravel, Django ir vietiniais NodeJ. Paslaugos iš esmės yra mobiliųjų klientų API (projekte jų yra 3) ir mūsų pačių SDK skirtas IOS (įmontuotas į mūsų klientų programas), taip pat žiniatinklio sąsajos ir įvairios tų pačių klientų informacijos suvestinės. Iš pradžių visos paslaugos buvo prijungtos prie doko ir jas valdė docker-compose.
Tiesa, „docker-compose“ nebuvo naudojamas visur, o tik kūrėjų vietinėje aplinkoje, bandymo metu. serveris ir kūrimo bei testavimo etape. Gamybos aplinkoje naudojome „Google Kubernetes Engine“ (GKE). Be to, projekto pradžioje GKE visiškai sukonfigūravome per jo žiniatinklio sąsają, o tai buvo gana greita ir, kaip tuo metu manėme, patogu. Vienintelis automatizuotas procesas buvo „Docker“ atvaizdų kūrimas, skirtas paslaugoms paleisti GKE.
