Dvě dimenze škálovatelnosti technologií
Každého investora, nás nevyjímaje, zajímá škálovatelnost byznysu. A protože řada firem stojí na technologiích, týká se to mimo jiné i jich.
Na technických konferencích se často mluví o škálovatelnosti systémové – jak stavět weby, které obslouží miliony zákazníků; jak ukládat petabajty dat a hledat v nich; jak prohnat sto tisíc zpráv za vteřinu přes váš Kafka cluster.
Tyto věci jsou pro geeky sexy a i mě baví. A od určité velikosti jsou určitě potřeba. Ale je to jen jedna dimenze škálovatelnosti a troufnu si říct, že ta lehčí. Je totiž už celkem prošlapaná a je k dispozici spousta materiálů a nástrojů, které to pomůžou řešit. Cloudové platformy odbourávají nutnost budovat vlastní datacentrum. Díky nástrojům jako je Kubernetes je jednodušší než kdy dřív provozovat škálovatelné aplikace. Databáze dnes zvládnou neuvěřitelné věci.
Nenechte se mýlit. Neříkám, že to je jednoduché, ale je to jednodušší, než druhá dimenze škálování a tou je škálování vašeho technického týmu.
Je fajn, že váš produkt naprogramoval geniální technický co-founder a je to nejefektivnější kus kódu na světě. Ale co až dostanete investici a budete potřebovat najmout dalších deset programátorů? V tu chvíli začnou hrát roli jiné věci, než to, jestli váš vyhledávací algoritmus je o 10 milisekund rychlejší, než konkurence.
Je kód dobře pochopitelný a čitelný? Jak dlouho vám trvá, než nově příchozí programátor nasadí svůj první úkol do produkce? Je systém rozdělený na logicky uspořádané moduly nebo mikroslužby, aby na něm mohlo pracovat víc lidí? Máte plně automatizovaný build a deploy proces? Je součástí build procesu i kompletní sada testů? Měříte a monitorujete všechny důležité obchodní a technické metriky, abyste mohli okamžitě reagovat na vzniklý problém při nasazení nové funkce?
Toto všechno jsou otázky, nad kterými přemýšlíme, když posuzujeme škálovatelnost technologií. Není to jen o těch tisících požadavků za vteřinu.
Další články na téma