Jak se jeden startup dostal od docker-compose ke Kubernetes

V tomto článku bych chtěl mluvit o tom, jak jsme změnili přístup k orchestraci na našem startupovém projektu, proč jsme to udělali a jaké problémy jsme cestou vyřešili. Tento článek lze stěží tvrdit, že je jedinečný, ale přesto si myslím, že může být pro někoho užitečný, protože v procesu řešení problému jsme materiál shromáždili se slušným vrzáním.  

Co jsme měli a o čem mluvíme? A měli jsme start-up projekt s cca 2letou historií vývoje z reklamní oblasti. Projekt byl původně postaven jako mikroslužba a jeho serverová část byla napsána v Symfony + trochu Laravel, Django a nativní NodeJs. Služby jsou v podstatě API pro mobilní klienty (v projektu jsou 3) a vlastní SDK pro IOS (zabudované do aplikací našich zákazníků), dále webová rozhraní a různé dashboardy těchto stejných zákazníků. Všechny služby byly původně ukotveny a provozovány pomocí docker-compose.

Pravda, docker-compose se nepoužíval všude, ale pouze v lokálním prostředí vývojářů, na testovacím serveru a uvnitř potrubí při budování a testování služeb. Ale v produkčním prostředí byl použit Google Kubernetes Engine (GKE). Navíc jsme konfiguraci GKE na začátku projektu dělali kompletně přes její webové rozhraní, což bylo celkem rychlé a jak se nám tehdy zdálo, i pohodlné. Zde byl automatizován pouze proces vytváření obrazů dockeru pro spouštění služeb v GKE.

Čtěte více