logo-web-red

Microservices development architecture pre PSS

Dodané služby

Technológie a platformy

aspecta logo

Klient - Prvá stavebná sporiteľňa

Prvá stavebná sporiteľňa vznikla v roku 1992 ako prvá špecializovaná sporiteľňa svojho druhu v strednej a východnej Európe. Zameriava sa na stavebné sporenie a od svojho vzniku uspokojila 2,5 milióna klientov, uzatvorila 5 miliónov zmlúv a poskytla 700-tisíc úverov na financovanie bývania v hodnote 11,4 miliárd €. Dlhodobo si tak udržiava dominantný podiel na trhu stavebného sporenia. PSS si uvedomuje, že nielen kvalitné služby, ale aj efektívna IT infraštruktúra zabezpečia, že si svoje dominantné postavenie udržia aj do budúcnosti. Aj to bol dôvod, prečo sme nadviazali úspešnú spoluprácu v rámci niekoľkých projektov na poli digitalizácie a modernizácie IT. Jedným z nich bol aj vývoj architektúry mikroslužieb. 

aspecta logo

Problém

S ohľadom na trendy modernizácie IT a digitálnej transformácie sa spoločnosť PSS rozhodla prejsť na novú infraštruktúrnu platformu (kontajnerizačnú platformu, ktorú sme taktiež zabezpečovali my) postavenú na technológii Docker. Existujúce softvérové služby však boli postavené na starých technológiách, boli silne previazané a integrované cez spoločnú databázu. Neboli tak schopné plne využiť možnosti novej platformy, predovšetkým čo sa týka škálovateľnosti a nezávislého nasádzania. Zároveň sa v budúcnosti plánovali rozsiahle rozšírenia core banking systému, ktoré by však bolo náročné integrovať do existujúcej architektúry.
aspecta logo

Riešenie

Ideálnym riešením vzniknutého problému bol prechod na microservices architektúru. Tento typ architektúry (na rozdiel od „tradičnej“ monolitickej) využíva prístup, v ktorom je jedna aplikácia zložená z mnohých voľne spojených a nezávisle nesaditeľných menších komponentov alebo služieb. Tento prístup má množstvo výhod, vrátane rýchlych a nákladovo efektívnych aktualizácií, jednoduchšieho a lacnejšieho škálovania určitých častí aplikácie bez ovplyvnenia zvyšných častí a podobne. Aby sme zabezpečili optimálnu funkčnosť zvoleného riešenia, rozhodli sme sa implementovať novú generáciu REST služieb, postavených na frameworku Spring Boot. Vďaka kontajnerizácii tiež môžu mať služby svoje vlastné inštancie NoSQL databázy, čo prispieva k zníženiu ich vzájomných závislostí. Okrem REST rozhrania využívajú služby aj asynchrónnu komunikáciu cez platformu Apache Kafka.
Na správu logov sme využili ELK stack, pričom logovanie je asynchrónne a je možné nad logmi robiť analytiku a vizualizácie.
aspecta logo

Výsledok a benefity

Výsledkom je škálovateľná a udržiavateľná platforma postavená na moderných technológiách. Nami navrhnutá architektúra sa osvedčuje aj v praxi a až na pár výnimiek sú všetky služby komplexne premigrované. Nové služby, vrátane dodávok externých subjektov, sa vyvíjajú už len pre novú platformu. Asynchrónna komunikácia prispieva k uvoľňovaniu závislostí medzi jednotlivými službami, zrýchľuje sa vývoj a predovšetkým sa zjednodušuje integrácia nových komponentov. Riešenie tiež zabezpečilo, že nasádzanie nových komponentov je bezvýpadkové, čo výrazne zjednodušuje celý proces nasádzania. Služby sú prevádzkované vo viacerých inštanciách, čo taktiež zvyšuje odolnosť proti výpadkom a zároveň umožňuje prispôsobovať kapacitu riešenia zvýšeným potrebám (používa sa napríklad pri migráciách).