Ako zabezpečiť centrálne konfigurovaný chod IT infraštruktúry?

Informatizácia
0

Špeciálny projekt

Každá IT infraštruktúra si vyžaduje pre plynulosť prevádzky a efektívne nasadzovanie zmien. Podporou takejto formy prevádzky je aj nástroj SaltStack, s ktorým pracuje Peter Guspan, senior ICT inžinier.

Salt je open source nástroj, ktorý si môže vyskúšať každý. Samozrejme, má aj enterprise nadstavbu, podľa mňa ktorej hlavnou výhodou je najmä podpora zo strany dodávateľa.  V našom tíme sa momentálne staráme o 2 zákazníkov, u ktorých tento nástroj využívame, z toho jeden má infraštruktúru pozostávajúcu z približne 600 serverov, druhý o niečo menej ako 200,” približuje Peter Guspan zo spoločnosti T-Systems Slovakia.

Infraštruktúra ako kód 

Po prvýkrát sme riešenie vo firme začali nasadzovať u jedného z našich zákazníkov v čase, keď jeho prostredie prechádzalo komplexným prechodom na nové verzie OS a softvéru používaného v jeho prostredí. Košický tím dostal priestor na návrhy zmien v našej infraštruktúre. Ako návrh som vytvoril Proof of Concept (PoC) prostredie a na základe výsledkov dosiahnutých v tomto prostredí sa dvaja naši zákazníci rozhodli nasadiť toto riešenie v ich prostrediach.

Jedným z najväčších zákazníkov spoločnosti SaltStack je profesionálna sociálna sieť Linked In, ďalšími sú Ebay či Trivago. Salt predstavuje prístup k infraštruktúre známy ako Infraštruktúra ako kód (IaC). Využíva Master/Minion architektúru, v ktorej je Minion označením pre Slave. Manažovanie dátových centier je zabezpečené prostredníctvom strojovo čitateľných stavových súborov.

Na rozšírenie zmien v infraštruktúre sa nevyužívajú klasické skriptovacie jazyky, ale jazyk, ktorým sa opisuje cielený stav týchto zmien, v ktorom by sa mal systém ocitnúť. Ten je možné aplikovať naraz na celú infraštruktúru v priebehu pár minút. Najväčším benefitom SaltStacku je jednoznačne štandardizácia IT prostredia, vďaka ktorej pobežia aplikácie v podobných podmienkach.”

Štandardizácia celej infraštruktúry

Salt využíva kombináciu jazyka na serializáciu dát YAML a šablónovacieho jazyka Jinja2. Štandardizáciou infraštruktúry nástroj predchádza ručným zmenám a drobným rozdielom v konfigurácii, ktoré môžu spôsobiť rôzne správanie a poruchy aplikácií. Zoštandardizovaný centrálne konfigurovaný stav šetrí množstvo času pri riešení týchto problémov, je ľahší na údržbu aj aplikovanie zmien, ktoré je možné pomocou Saltu ľahko aplikovať na celom prostredí.

„Zaujímavým príkladom úspory času pri použití Saltstacku bol plánovaný prechod na vyššiu verziu Veritas Clustra. Keďže nešlo o jednoduché aplikovanie záplat, ale o komplexný upgrade, popis stavu sa zmestil na cca 300 riadkov. Na testovacom prostredí sme aplikovali tento stav na 5 systémoch, na ktorých boli rôzne východiskové verzie OS, rovnako ako aj verzie Veritas Clustra. Stav zohľadňoval možnosť výskytu rôznych verzií OS a rôzne východiskové stavy. Jeho aplikovanie trvalo na všetkých 5 systémoch dokopy menej ako 2 minúty. Výsledný stav bol OS s aktuálnou verziou Veritas Clustra. Z tohto pohľadu vidím najväčší prínos v používaní Saltstacku pri mojej práci - ak je raz popis stavu systému napísaný, aplikovanie na ľubovoľnom počte systémov trvá zhruba toľko ako aplikovanie tohto stavu na jednom systéme.”

SaltStack je podporovaný na Unix platforme (Solaris/AIX), Unix-like operačných systémoch (Linux/MacOS) a Windowse. HP-UX platforma žiaľ nie je podporovaná, čo môže byť prekážkou pre niektorých zákazníkov. Jeho najväčším nedostatkom ako IaC nástroja je čas, ktorý je potrebný investovať jeho implementácii v začiatkoch využívania. „Všetko, čo bolo v IT infraštruktúre doposiaľ urobené a napísané, je potrebné prepísať do úplne inej logiky. Dobre napísaný stav by mal byť idempotentný, takže jeho opätovné aplikovanie na systém nespôsobí žiadne zmeny, pokiaľ je systém v popísanom stave. Tento prístup si však vyžaduje zmenu myslenia, preto môžu byť začiatky ťažké. V konečnom dôsledku sa im to však oplatí.”

Na trhu je dostupných viacero IaC nástrojov. „Porovnával som SaltStack s nástrojom Ansible, ku ktorému má Salt najbližšie, čo sa týka použitia jazykov. Ansiblu však chýba možnosť komunikácie smerom z klienta k mastrovi, preto je problematické vytvorenie tzv. selfhealing systému, pri ktorom minion reportuje zmeny mastrovi a ten reaguje na ne aplikovaním stavov, ktoré tieto zmeny odstránia a systém vrátia do predpísaného stavu. Salt túto možnosť ponúka a jeho aktuálna verzia dokonca podporuje aplikovanie stavov napísaných pre nástroj Ansible.

Nástroj Salt a jeho enterprise verzia SaltStack ponúka napriek vstupnej časovej investícii priestor na zlepšenie a predovšetkým úsporu energie do budúcna.

 

 

Zobrazit Galériu

T-Systems Slovakia

Všetky autorove články

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať