Microservices development architecture for PSS

Delivered services

Technologies and platforms

aspecta logo

Client - Prvá stavebná sporiteľňa

Prvá stavebná sporiteľňa was founded in 1992 as the first specialized savings bank of its kind in Central and Eastern Europe. It focuses on building savings and since its foundation has served 2.5 million customers, concluded 5 million contracts and granted 700,000 building loans worth 11.4 billion euros. As a result, it has long held a dominant share of the building society market. PSS is aware that not only high-quality services but also an efficient IT infrastructure will ensure that it maintains its dominant position in the future. This was also the reason why we successfully worked on several projects in the field of digitalization and modernization of IT. One of these projects was the development of a microservice architecture. 

aspecta logo

Issue

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

Solution

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.
We used the ELK stack to manage the logs, with asynchronous logging and the ability to perform analytics and visualisations over the logs. ELK stack, pričom logovanie je asynchrónne a je možné nad logmi robiť analytiku a vizualizácie.
aspecta logo

Results and benefits

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).