Monolitikus vs Microservice architektúra

Napjainkban sok figyelmet fordítanak a microservice architektúrára. Szinte minden informatikai vállalatnál sok vita, beszélgetés folyik róla. A microservice architektúrára könnyen megérthető, ha összehasonlítjuk a hagyományos, monolitikus architektúrával.

Szinte minden vállalati alkalmazásnak hasonló típusú, réteges architektúrája van:


Annak ellenére, hogy az alkalmazások világos, logikailag moduláris felépítésűek, a legtöbb alkalmazás mégis monolitként van összeállítva, telepítve és működtetve. Ez a megoldás is természetesen rendelkezik néhány előnnyel.



A monolitikus architektúra előnyei

A fejlesztése nagyon egyszerű.

A tesztelés is rendkívül könnyű. Az alkalmazás elindításával máris elérhető az end to end, vagyis végpontból végpontba való tesztelés. A tesztmenedzsment automatizálását Selenium segítségével is elvégezhetjük.

A monolitikus alkalmazás használata egyszerű: csak le kell másolni a becsomagolt alkalmazást a szerverről.

A skálázhatóság is könnyen megoldható. Csak egy új példányt kell kérnünk a monolitikus alkalmazásból, és kérjük a terheléselosztót, hogy terjessze az új példányt is. Azonban, ahogy a monolitikus alkalmazás mérete nő, a skálázhatóság egyre komolyabb kérdéssé válik.

A monolitikus architektúra évtizedekig sikeresen működött. Valójában a legtöbb sikeres és nagy alkalmazást is eredetileg egy monolitként fejlesztették ki és telepítették fel. A nagyvállalatok számos nagyvállalati megoldást még mindig monolitként alkalmaznak. De a változó piaccal és az új technológiák kialakulásával paradigmaváltás történt az informatikai iparág működésében. Vannak komoly problémák a monolitikus architektúrával, amelyekkel a legtöbb vállalat egyre komolyabban foglalkozik napjainkban.



A monolitikus architektúra hátrányai


A monolitikus alkalmazások fenti hátrányai miatt a microservice architektúra egyre népszerűbb napról napra. Tehát mi is a microservice alapú architektúra?

Röviden, a microservice architektúra egy olyan alkalmazás fejleszti megközelítés, ami egyetlen alkalmazás fejlesztését javasolja, mint kis szolgáltatások egy csomagja, ahol minden szolgáltatás a saját folyamataiban fut, működik, és könnyű mechanizmusokkal kommunikálnak egymással, rendszerint webes szolgáltatások vagy üzenetküldés útján. Ezek a szolgáltatások üzleti funkciók köré épülnek, és teljesen automatizált telepítési gépekkel önállóan telepíthetők. Ezeknek a szolgáltatásoknak a központosított menedzselése minimális, különböző programozási nyelveken lehet őket kifejleszteni, és különböző adattárolási technológiákat alkalmaznak. A microservice architektúra olyan kicsi, önállóan telepíthető egységekből áll, amelyek felhőalapúak.


Hogyan válaszol a microservice architekrúra a monolitikus architektúra hátrányaira?


Mint korábban említettem, a microservice architektúrára könnyen érthető, ha összehasonlítjuk a hagyományos monolitikus architektúrával, de a microservice előtt is már létezett egy hasonló architektúra, ami a szolgáltatásorientált architektúra. (SOA = Service-Oriented Architecture). A SOA már két évtizede létezik. Ha már dolgoztak a SOA-val és ismerik a fogalmakat, meglehetősen zavaros lehet a SOA és microservice architektúrára közötti különbségek megértése. Valójában a kettő sokkal gyakoribb, mint a különbségek. 


(Forrás


***

Ha Te is kreatív, kihívásokkal teli mérnök állást keresel minõségi munkáltatónál, jó helyen jársz, mert a Schönherz Bázis épp azért jött létre, hogy Neked segítsen.
Gyere, nézz szét aktuális állásaink között!