Infrastruktura pro malý tým: kdy platforma a kdy vlastní železo
Malý tým nepotřebuje vlastního administrátora. Potřebuje jasné pravidlo, kdy sáhnout po spravované platformě a kdy po vlastním serveru.
Infrastruktura je oblast, kde malé firmy často platí dvakrát. Buď mají přeplacené řešení, které neumějí využít, nebo levný server, o který se nikdo nestará. Já se snažím rozhodovat podle jednoduchého pravidla: aplikace na spravovanou platformu, těžká data na vlastní hardware.
Aplikace: spravovaná platforma
Pro webové aplikace, API a frontendy používám platformy typu Zerops. Nasazení z Gitu, oddělená prostředí, škálování a zálohy řeší platforma. Tým se nemusí starat o aktualizace systému a nasazení nové verze je otázka commitu. Pro malý tým je to obrovská úspora, protože infrastruktura nepotřebuje vlastního člověka.
Těžká data: dedikovaný server
Jsou ale úlohy, kde se spravovaná platforma nevyplatí. Typicky velká data, která se zpracovávají pořád dokola. Pro jednu platformu s lokalitami po celém světě jsem stavěl vlastní mapový stack nad OpenStreetMap: geokódování přes Nominatim, vyhledávání přes Photon a dotazy přes Overpass, nad daty celé planety. Na to je potřeba dedikovaný server s velkou pamětí a rychlými disky, například od OVH. U běžného cloudu by stejný výkon vyšel výrazně dráž.
CI/CD jako pojistka
Ať aplikace běží kdekoli, nasazování musí být automatické a testované. Pipeline, která pustí testy včetně end-to-end testů a teprve pak nasadí, je pro malý tým důležitější než pro velký. Nemá totiž nikoho, kdo by chyby chytal ručně.
Jak se rozhodnout
- Mění se aplikace často a potřebuje škálovat? Spravovaná platforma.
- Zpracovává obrovská data pořád dokola a zátěž je předvídatelná? Vlastní hardware.
- Nikdo se o server nebude pravidelně starat? Rozhodně spravovaná platforma.
Nejdražší infrastruktura je ta, o kterou se nikdo nestará.