prevadzka-serverov

Prevádzka servera nie je komodita

Mnoho vývojárov považuje hosting a server za komoditu. Je to niečo, čo si kúpia od spoločnosti poskytujúcej datacentrum alebo rôzne formy virtualizácie, prípadne platformy ako služby. Majitelia firiem si to predstavujú podobne ako elektrickú energiu alebo iné utility - servery fungujú, nič s nimi netreba robiť a dostanú za ne účet.

Je pravda, že serverová infraštruktúra, či už v reálnej alebo virtuálnej forme, sa stáva čoraz jednoduchšou na prevádzku. Klienti však často narážajú na nepokrytý priestor, ktorý nemajú plne pod kontrolou. Prevádzkovateľ v tomto smere dokáže poskytnúť veľkú pridanú hodnotu, ktorá ušetrí množstvo nákladov, ale najmä stresu na všetkých stranách.

Akú hodnotu má skutočnosť, že prevádzkovateľ spustil niekoľko desiatok aplikácií, ktoré mali s veľkou pravdepodobnosťou ešte vyššie požiadavky na výkon a dostupnosť? Oplatí sa spolupracovať s firmou, ktorá dokáže aplikácie udržať roky v chode a „nezaspať“ technologický vývoj, práve naopak z neho ťažiť a aplikáciu zlepšovať po prevádzkovej stránke?

Realita ostrej prevádzky servera

Škálovanie, redundancia a výkon sú pri vývoji aplikácií často marginalizované alebo sa riešia len na poslednú chvíľu. Pri dolaďovaní odovzdanej aplikácie, ktorá nie je pripravená na ostrú prevádzku, je potom nezriedka potrebne minúť až desiatky dodatočných človekodní.

Priorita developera je dodanie funkčnej aplikácie, ktorá spĺňa požiadavky zákazníka. Po odovzdaní však nie všetko vždy funguje tak ako sa píše v dokumentácii. Zodpovedný vývojár však dokáže krátkou diskusiou s prevádzkovateľom aplikácie o škálovaní, redundancii a výkone predísť možným problémom.

Kľúčovú úlohu majú napríklad záťažové testy, ktoré sú často opomínané. Pomáhajú odhaliť úzke hrdlo a predvídať, kedy bude infraštruktúru potrebné obnoviť. Škálovanie infraštruktúry často prebieha „intuitívne“, keď sa potrebný výkon odhadne podľa očakávaného počtu používateľov na základe minulých skúseností. Pri odhade sa ťažko odhalí úzke hrdlo, ktoré môže byť v aplikácii – ak aplikáciu nikto netestoval pod väčšou záťažou, je veľmi pravdepodobné, že výkon je podstrelený alebo prestrelený.

Je tu však aj otázka škálovateľnosti – ak pridám ďalší server, pomôže to? Aplikácie často neškálujú lineárne, čo znamená, že zdvojnásobením počtu serverov sa nemusí zdvojnásobiť množstvo zákazníkov, ktorých klient dokáže obslúžiť. Dokonca môže existovať úzke hrdlo, kedy pridávanie ďalšieho výkonu nepomôže už vôbec. Viete, ako vaša aplikácia škáluje?

Vývoj, testovanie a dokumentácia

Ďalším častým problémom je to, že vývojári nedodajú dokumentáciu k aplikácii. My to voláme syndróm „Mne to na notebooku funguje!“. Developer má svoje vývojárske prostredie, kde aplikáciu počas vývoja testuje. Potom pošle hostingovej firme alebo platforme „hotový produkt“ a expert zodpovedný za nasadenie týždeň ladí, s akou konfiguráciou servera, s akými modulmi aplikačného frameworku a podobne jeho aplikácia funguje.

Odpoveď vývojára je vždy len na konkrétny problém, prečo aplikácia nefunguje, napríklad „musíte doinštalovať balík ImageMagick“, pričom ani vývojárovi samotnému nie je jasné, aké má aplikácia funkčné požiadavky na prevádzku. To je ale z hľadiska prevádzky dôležité, nie len pre prvotné rozbehanie, ale aj pre prípadné upgrady infraštruktúry, operačného systému, aplikačného servera a podobne.

Pre vyriešenie tohto problému je dobré urobiť dva kroky:

Mať osobitné testovacie prostredie, ktoré sa čo najviac podobá produkčnému prostrediu (a nie je to notebook vývojára ani „server“ v kuchynke pod stolom). Toto testovacie prostredie je dobré udržiavať a všetky zmeny na produkčnej platforme testovať. Na testovacom prostredí môžeme taktiež testovať nové verzie balíkov a bezpečnostné záplaty.

Druhým krokom je primäť vývojárov k tomu, aby aplikáciu odovzdali až s hotovou inštalačnou a prevádzkovou dokumentáciou.

Pridaná hodnota správcu hostingu

DIGMIA sa dlhodobo venuje prevádzke systémov – tento rok sme oslávili desiate narodeniny! Prevádzkujeme veľké slovenské aj zahraničné portály, kriticky dôležité firemné systémy naprieč odvetviami, či sieťovú infraštruktúru pre náročných zákazníkov, napríklad z oblasti terestriálneho vysielania.

Vďaka nášmu sofistikovanému monitoringu a non-stop hotline fungujú aplikácie našich zákazníkov rýchlejšie a nákladovo efektívnejšie. Naši unikátne skúsení experti majú prístup k najnovším technológiám a poznatkom. Okrem toho máme radi open-source softvér, k jeho vývoju aj prispievame a preferujeme ho pri klientských riešeniach.

A rovnako nás baví aj práca s vývojármi. Naše rozsiahle skúsenosti pri nasadzovaní prevádzkovaní a škálovaní redundantných serverových fariem im vedia ušetriť kopu práce a starostí. A v konečnom dôsledku je najdôležitejší spokojný zákazník, ktorému všetko funguje.

- Juraj Bednár

Článok bol uverejnený v PC Revue 11/2016

Podobné blogy