Openshift – jedna z najlepších platforiem pre moderné aplikácie

<Zadajte anotáciu>

Špeciálny projekt

Škálovanie, mikroservisy, DevOps, Cloud a High availability možno zaradiť medzi často skloňované termíny v IT sfére, ktoré sa snažia nájsť riešenie na už notoricky známy problém:  „Naša appka je stará, nemoderná, nestíha spracovať narastajúce množstvo dát“. Ak sú použité správne a na dobre zvolenej platforme, sú tieto nástroje perfektným riešením na odstránenie vyššie spomínaných problémov.

Základom tohto riešenia je platforma RedHat Openshift Container Platform (komerčná verzia produktu Kubernetes od Google), ktorá prichádza s viacerými výhodami a synergiami s už spomínanými vývojovými praktikami a nástrojmi. Openshift je kontajnerová platforma, ktorej využitie a význam vzrástol poslednú dobu aj vďaka čoraz viac používanejšej architektúre mikroservisov (rozčlenenie aplikácie na samostatné služby zodpovedné primárne za jednu úlohu). Toto riešenie si pri transformácii vybral aj RiBS tím zo spoločnosti T-Systems Slovakia. Vyvíja aplikáciu, ktorá komplexne vyhodnocuje zákazníkov spoločnosti Deutsche Telekom a poskytuje tak finančnému oddeleniu dôležité informácie.

Vlastnosti kontajnerov a jednoduchosť ich automatizovaného nasadenia sú podmienkou pre správne fungujúci DevOps (development - operations, zefektívnenie samotného cyklu vývoja a spravovania aplikácie), a s tým spojený spôsob vývoja CI/CD (continous integration/delivery- kontinuálna integrácia a automatizované nasadzovanie produktu).

Platforma umožňuje vývojárom aplikovať zmeny okamžite na pripravené prostredia, automaticky ich otestovať, poslať na posúdenie zákazníkom a následne ich nasadiť do produkcie, a to dokonca za behu aktuálnej verzie.

Ak je to potrebné, zmeny možno kedykoľvek vrátiť späť a vrátiť do obehu predošlú verziu. Vďaka tomu je napríklad „klonovanie“ alebo presun prostredia hračkou.

Architektúra samotného Openshift-u je založená na tom, že dochádza k spájaniu jednotlivých sieťových uzlov (tzv. nodov) do clustrov. Týmto spôsobom je možné škálovať samotný hardvér, ktorý dokážeme v prípade potreby pridať aj počas činnosti daného clustra. Na nový uzol sa jednoducho nainštalujú komponenty Openshift-u a jeho hardvérové prostriedky budú dynamicky pridelené na rozdelenie pre prebiehajúce služby alebo aplikácie.

Rovnakým spôsobom prebieha aj aktualizácia na novšie verzie platformy v korporátnych komerčných prostrediach, kde sú aktualizované jednotlivé uzly postupne. Kým prebehne aktualizácia na jednom z nich, bežiace služby sú zatiaľ presunuté na iné uzly, kým nedôjde k aktualizácii celého clustra.  Aktualizácia tak prebehne bez jediného výpadku a služby nie sú žiadnym spôsobom obmedzené. To sa však nedá uplatniť na aplikácie, kde je potrebná aktualizácia, ale sú založené na princípe High availibity (vysoká dostupnosť). Ak v tomto prípade platforma zistí, že časť clustra alebo niektorý uzol nie je dostupný, snaží sa ho ihneď nahradiť iným, a tak znížiť výpadok na nutné minimum.

Silným komponentom tejto platformy je automatické horizontálne škálovanie, ktoré podľa definovaných podmienok (napr. prekročenie 80 % využitia CPU) vytvorí novú inštanciu služby a pridelí jej hardvér v rámci nakonfigurovaných možností.

Prakticky to znamená, že napríklad pri RiBS aplikácii, ktorej rozdelenie zaťaženia nie je pravidelné a mení sa počas dňa, sa časť hardvérových prostriedkov rozdeľuje a presúva automaticky podľa potreby medzi mikroservismi v závislosti od toho, ktorý servis je v daný moment vyťaženejší.

Táto platforma poskytuje oveľa viac možností, záleží iba na nápaditosti, ako konkrétny problém vyriešiť - dynamicky sa vytvárajúce a samonasadzujúce mikroservisy konfigurované ako cloudové služby nepredstavujú problém. Samozrejme, existuje mnoho podobných platforiem, rozhodujúca je však konkrétna situácia nasadenia.

Článok pripravil: Peter Kmec