Architektúra mikroservisov - ako ju integrovať do praxe (2. časť)

Development May 14. 2021
microservices architecture

V predchádzajúcej časti sme písali o porovnaní architektúr a o tom, čo nás viedlo k rozhodnutiam, ktoré sme spravili. Teraz sa pozrieme na s tým súvisiace zmeny v operatíve a na to, ako sme tomu prispôsobili naše pracovné postupy.

Deľba zodpovednosti

Je možné alebo skôr dobré riešenie, aby jedna osoba v tíme poznala všetky služby v systéme? Z dlhodobého hľadiska to nie je veľmi udržateľné a mohlo by to priniesť mnoho chýb. Tým, že sme systém rozdelili na viaceré menšie časti, sme pridelili jednotlivé zodpovednosti za mikroslužby jednotlivým vývojárom v našom tíme. Všetky zmeny a diskusie vedie správca danej služby, ktorého úlohou je tiež vytvárať víziu budúceho rozvoja služby i dohľad nad jej nasledovaním pri implementáciách inými členmi tímu.

Vývoj

Diskusia, analýza a špecifikácia pred samotnou implementáciou sú zásadné pre minimalizáciu risku prichádzajúceho z prepoužívania mikroslužieb medzi jednotlivými projektami. Zmeny v rámci jedného projektu môžu ľahko uškodiť inému projektu a preto je prevencia našou prioritou. Z tohto dôvodu musí vývojár hľadieť na funkcionalitu z vyššej perspektívy a zvoliť bezpečný prístup zohľadňujúci fakt, že kód nie je používaný len ním. Cieľom je nielen nepoškodiť aktuálnu funkcionalitu, ale aj implementovať riešenie dostatočne genericky na to, aby nevznikala nutnosť robiť zásadné zmeny pri vylepšeniach a rozšíreniach v budúcnosti a neodrezať si tak nejaké cesty.

Nasadenie

Pri mikroslužbách prichádza práca naviac hlavne pri nasadeniach nových verzií. Keďže nasadenie každej služby osobitne, po jednom, by bolo neefektívne, v rámci DevOps sme Dockerizovali naše riešenia a automatizovali nasadenia na naše servery.

Spätná kompatibilita

Zmeny v nových verziách nesmú poškodiť predošlé verzie. Držať si o nich záznamy sa stalo ešte dôležitejšie. Každá verzia musí mať detailné poznámky k vydaniu (tzv. release notes). Za účelom toho, aby sme sa vždy vedeli vrátiť do stavu systému v akomkoľvek čase, musia poznámky k vydaniu obsahovať informácie o všetkých použitých službách a ich verziách v danom čase. Zmenené verzie od posledného vydania sú ešte dodatočne zvýraznené.

Záver

Konfigurovateľnosť produktu a prepoužiteľnosť jeho častí otvára možnosti nielen šetriť klientom peniaze, ale taktiež šetriť aj náš čas. Umožňuje nám to doručiť výsledky v kratšom čase a byť schopní zameriavať sa viac na biznis požiadavky ako na opakujúce sa technické problémy riešené naprieč viacerými projektami dookola. Škálovateľnosť riešení vytvára viaceré možnosti pre budúci rast biznisu našich klientov. Jednoduchá správa aktualizácií prináša širšie spektrum možných technológií, pretože môžeme nezávisle aktualizovať či meniť technológie v jednej mikroslužbe bez ovplyvnenia ostatných. Na konci tak dostáva zákazník kvalitnejší produkt, za ktorým bola odvedená efektívnejšia práca.

 

Authors: Dávid Ondruš, Richard Roštecký, Tibor Hanesz

Touch4IT redakcia
Touch4IT Redakcia
Značky
Máte projekt?
Porozprávajme sa

Chcete sa aj vy stať našim klientom?

Vyplňte formulár alebo nám pošlite e-mail. V prípade, že sa bojíte o svoj nápad, pošleme vám dohodu o mlčanlivosti a ochrane dôverných informácií a váš nápad bude v bezpečí.