Kako je jedan startup stigao od docker-compose do Kubernetesa

U ovom članku želio bih govoriti o tome kako smo promijenili pristup orkestraciji na našem startup projektu, zašto smo to učinili i koje smo probleme usput riješili. Ovaj članak teško može tvrditi da je jedinstven, ali ipak mislim da nekome može biti od koristi, jer smo u procesu rješavanja problema materijal prikupili uz pristojan trud.  

Što smo imali i o čemu smo razgovarali? I imali smo startup projekt s otprilike 2 godine povijesti razvoja iz područja oglašavanja. Projekt je inicijalno izgrađen kao mikroservis, a njegov serverski dio je napisan u Symfonyju + malo Laravela, Djanga i nativnog NodeJsa. Usluge su uglavnom API za mobilne klijente (ima ih 3 u projektu) i naš vlastiti SDK za IOS (ugrađen u aplikacije naših korisnika), kao i web sučelja i razne nadzorne ploče tih istih korisnika. Sve su usluge u početku bile dokerizirane i izvodile su se pod docker-compose.

Istina, docker-compose se nije koristio svugdje, već samo u lokalnom okruženju programera, na testnom poslužitelju i unutar cjevovoda prilikom izgradnje i testiranja servisa. Ali u proizvodnom okruženju korišten je Google Kubernetes Engine (GKE). Štoviše, na početku projekta konfigurirali smo GKE u potpunosti preko njegovog web sučelja, što je bilo prilično brzo i, kako nam se tada činilo, praktično. Ovdje je automatiziran samo proces izgradnje docker slika za pokretanje servisa u GKE-u.

Opširnije