Gyümölcsöző Együttműködés

 
 

Microservices architektúra

Napjainkban a nagyvállalatok IT szakrendszerei sok esetben heterogének és silószerűen, valós integráció nélkül, nem szolgáltatás orientáltan működnek. Ennek hátrányai tetten érhetők a rendszerek verzióléptetésének, upgrade-elésének (technikai és funkcionális), valamint skálázhatóságak nehézkességében, valamint az üzemeltetés és karbantartás költségszintjében (túlzottan magas TCO szint).

A piacon rohamosan nő azon vállalatok száma, akik a digitális transzformáció keretében a Back-end rendszereikre vonatkozóan konszolidációs projektet kezdeményeznek, mert a Back-end réteg működése már annyira korszerűtlen és hatékonytalan, hogy azt már a Front-end alkalmazások transzformációja, valamint egy szerviz orientált architektúra kialakítása sem tud kiküszöbölni.

Ezen probléma megoldására vonatkozóan a Grape Solutions Zrt. az ún. Microservices architektúrát javasolja annak érdekében, hogy a back-end réteg működése immáron ne szabjon gátat a front-end csatornák hatékonyságának.

A Microservices alkalmazás architektúra segítségével olyan skálázható, önmagukat gyógyító alkalmazások építhetők fel, melyekben a belső üzleti és technológiai folyamatok olyan diszkrét egységekre bonthatók, melyek önmagukban is teljes funkcionalitással bírnak. Ezáltal az alkalmazás könnyen karbantartható, hatékonyan integrálható részekre kerül felosztásra, lehetővé téve a vállalatok számára a meglévő architektúrába való egyszerű, fokozatos beépítést. Microservices alapokon már meglévő, performanciájuk optimumán túlnövő alkalmazásokat (vállalati middleware rendszerek, ESB-k, legacy core rendszerek) is leimplementálhatunk, de a digitális transzformáció során felmerülő új kihívások megvalósítására is megfelelő keretet biztosít. Ilyen például egy valós idejű döntési motor, end-to-end kockázatbírálati rendszer, vagy éppen egy komplex szabályozói előírásnak való megfelelés (pl. PSD2 megfelelés a pénzügyi szektor részére, Solvency II a biztosítótársaságok prudens működésére).

A Microservices architektúra előnyei, kulcs képességei:

  • A javasolt megoldás iparági szabvány tervezési mintákon és keretrendszeren alapul, egyaránt működőképes lokális, virtualizált futtatókörnyezet és felhő (Microsoft Azure) alapon, függően a tranzakciós adatok szenzitivitásától információ-biztonsági szempontból
  • Párhuzamosíthatóság: az egyes szolgáltatás hívások párhuzamos végrehajtásának biztosítása több független példányt engedélyez egyidőben, ami a horizontális skálázhatóság alapja
  • Az egyes szolgáltatások úgy kerülnek megtervezésre és implementációra, hogy azok funkcionalitása a lehető legkisebb mértékű átfedést mutassa. Ez a tervezési minta biztosítja, hogy az egyes szolgáltatáshívások versenykondíciók nélkül futtathatók legyenek, elkerülve ezzel a nagy terhelés során kialakuló blokkolási gócpontokat (Separation of Concerns elv)
  • A tervezés során az egyes modulok egy, jól definiált feladatot látnak el, és azt teljes elkülönültségben végzik. Ez a minta minimalizálja az esetleges regressziót a rendszer fejlesztése és karbantartása során, megkönnyítve ezzel a Continous Development, Integration és Delivery folyamatokat (Single Responsibility elv)
  • A Microsoft Azure Service Fabric publikus felhő alapú keretrendszer biztosítja a mikroszolgáltatás architektúrára épülő alkalmazások elosztott telepítését, üzemeltetését, skálázhatóságát és üzembiztosságát; ezen feladatok generalizálásával és egységbe foglalásával hatékonyabbá teszi a teljes szoftver életciklust, csökkentve ezzel az egyes fejlesztések bevezetéséhez szükséges időt és erőforrásigényt
  • Az Azure Service Fabric erőssége, hogy felügyeli az alkalmazás egyes komponenseinek és gócpontjainak a terheltségét, és automatikusan skálázza az egyes szolgáltatásokat, mielőtt azok kritikus leterheltséget érnének el
  • A szolgáltatásszintű skálázhatóság biztosítja, hogy a rendszer optimálisan használja a rendelkezésre álló erőforrásokat
  • Konténer alapú erőforrás provízió, horizontális skálázhatóság, nagy rendelkezésre állás és hibatűrés heterogén, hektikus tranzakciós terheltség esetére