Pán Tomáš Madliak inštaloval v bart-e úplne prvý server, ktorý bol položený v kartónovej škatuli, aby až tak veľmi nehučal. O 25 rokov neskôr sa k nám vrátil. Tentokrát preto, aby nám pomohol nastaviť efektívny monitoring dát zo všetkých serverov a cloudov, na ktorých beží projekt Crossuite.
Dnes rezonuje svetom IT pojem SRE – site reliability engineering. Táto disciplína je na Slovensku relatívne nová a zameriava sa, ako napovedá názov, na budovanie a udržiavanie spoľahlivých služieb. V praxi ide najmä o zber a vyhodnocovanie údajov, ktoré nám pomôžu lepšie pochopiť, ako používatelia v rámci služieb fungujú, a hĺbkovo zanalyzovať príčinu prípadných chýb.
Ide teda o tzv. vyšší monitoring, v ktorom môžeme merať systémové informácie, ako napríklad vyťaženie procesorov, spotrebu pamäte (RAM aj disk), IO operácie prebiehajúce nad diskom, počet dotazov na jednotlivé služby a pod. Tieto dáta nám umožňujú získať komplexný prehľad o “zdravotnom” stave aplikácie a zefektívniť fungovanie databáz, API či jednotlivých služieb.
Navyše môžeme vďaka tomuto monitoringu presne zmapovať cestu k akémukoľvek problému, ktorý sa na projekte objaví – kam používateľ klikol, akú funkciu to vyvolalo, čo táto funkcia spôsobila, kde presne sa to zaseklo a čo bolo dôvodom. Človek, ktorý týmto dátam rozumie, môže prakticky okamžite navrhnúť zlepšenia projektov a v spolupráci s tímom developerov ich ihneď zaviesť do produkcie.
Na projekte Crossuite je týmto človekom Erik, ktorý spolu s pánom Madliakom navrhol infraštruktúru zberu dát z približne 40 serverových úložísk a cloudových služieb, kde projekt beží. Toto riešenie funguje priamo na Amazon Cloude (AWS – Amazon Web Services) sčasti v serverless podobe. To zabezpečuje vysokú dostupnosť služieb, jednoduchšiu aj automatickú škálovateľnosť, predinštalované služby a čiastočnú správu AWS-kom.
Všetky metriky sa ukladajú cez open-source nástroj Prometheus. Následne sa posielajú do platformy Grafana, kde je možné zobraziť si ich v štruktúrovanej podobe, napríklad ako grafy či tabuľky.
„Takýto monitoring nám dáva možnosť riešiť možné problémy s aplikáciou ešte predtým, ako vôbec nastanú. Namiesto krízového riešenia problémovej situácie jej teda vieme efektívne predchádzať. Ďalším benefitom je, že vieme vyhodnotiť správanie používateľov (ktoré funkcie používajú najčastejšie, kedy sa prihlasujú do systému a pod.) a vďaka tomu lepšie navrhovať samotnú aplikáciu. To by sa malo odraziť najmä na jej rýchlosti, bezpečnosti a, samozrejme, aj na spokojnosti klientov.” – Erik |
A aké nové optimalizácie pripravené na základe získaných dát do Crossuitu pribudnú? Určite sa o tom dozviete z nášho blogu.