Cloudové kladivo | Mňamka #12

Častokrát se v dnešní době dostáváme pod časový press, ať už v práci nebo v osobním životě. V oblasti IS/ICT lze však i ten čas lze leckdy obalamutit.

Píše se rok 2018 a my pro jednoho z našich zákazníků pracujeme na projektu, jehož název kvůli NDA nemohu vyslovit (dopadl úspěšně). V té době potřebujeme pracovat s obrovskou maticí, jejíž velikost se pohybovala v řádech stovek miliard prvků.

Co teď? Optimalizovat nebo úplně přehodnotit?

Ani jedno. Aby jste mohli z takového kolosa vytáhnout, co potřebujete, je zapotřebí nejen skvěle optimalizovaný algoritmus, ale taktéž pořádná dávka výpočetního výkonu (pořádné kladivo čarodějnice). Náš algoritmu, optimalizovaný pro plné využití dostupného hardwaru, by nás k požadovanému výsledku dostal na běžném stolním počítači za 126 dní, a proto jsme začali hledat jiná řešení. Nabízelo se buď optimalizovat nebo úplně přehodnotit přístup kterým data budeme zpracovávat, což by v té době ohrozilo trvání projektu a obecně výsledek optimalizace je vždy nejistý. Proto jsme se rozhodli využít brutální výpočetní síly, který má každý za nějakou tu kačku k dispozici. Ano každý!

Otevřeli jsme projekt v Google Cloud Platform a šli vytvořit onoho golema. Stroji, který nesl pracovní název “mazlík”, trvalo celé řešení vyřešit za méně než 72 hodin. Ptáte se jak je to možné. Odpověď je jednoduchá: 614gb ram, 96vcpus, 7TB SSD.

Leckoho napadne, že to muselo stát fůru peněz. Cena takové mašiny je ale i dnes přibližně 5-6$ za hodinu (dle regionu), v kterém virtuální stroj vytvoříte. Takže když si srovnáte vynaložené náklady na stroj (při 72 hodinách 360$) oproti případné několika denní optimalizaci kódu, máte jasno. 

 

Na závěr teda nezbývá než dodat, lecky je mnohem lepší použít dnes všude dostupnou výpočetní sílu cloudu, než nesmyslně optimalizovat a hledat in-house řešení. Ušetříte tak náklady ať už své nebo vašeho zákazníka. 

Patrik