Architektúra mikroslužieb - ako ju integrovať do praxe (2. časť)
V predchádzajúcej časti sme písali o porovnaní architektúr a o tom, čo nás viedlo krozhodnutiam, ktoré sme spravili. Teraz sa pozrieme na stým súvisiace zmeny voperatí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 adiskusie vedie správca danej služby, ktorého úlohou je tiež vytvárať víziu budúceho rozvoja služby idohľad nadjej nasledovanímpri 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 zprepoužívania mikroslužieb medzi jednotlivými projektami. Zmeny v rámci jedného projektu môžu ľahko uškodiť inémuprojektu a preto je prevencia našou prioritou. Z tohto dôvodu musí vývojár hľadieť na funkcionalitu zvyššej perspektívy azvoliť 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 arozšíreniach vbudúcnosti aneodrezať 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, vrámci DevOps sme Dockerizovali naše riešenia aautomatizovali nasadenia na naše servery.
Spätná kompatibilita
Zmeny vnových verziách nesmú poškodiť predošlé verzie. Držať si onich záznamy sa stalo ešte dôležitejšie. Každá verzia musí mať detailné poznámky kvydaniu (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 ovšetkých použitých službách aich verziách vdanom čase. Zmenené verzie od posledného vydania sú ešte dodatočne zvýraznené.
Záver
Konfigurovateľnosť produktu aprepoužiteľnosť jeho častí otvára možnosti nielen šetriť klientom peniaze, ale taktiež šetriť aj náš čas. Umožňuje nám todoručiť výsledky vkratšom čase abyť 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 vjednej 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