Miért olyan divatos ma a microservices architektúra?
A fejlesztők számára manapság talán az egyik legcsábítóbb lehetőség, ha egy újonnan induló zöldmezős projektben vehetnek részt. Mindenki szeretne megtervezni egy új alkalmazást, lerakni az alapjait, új technológiákat és módszertanokat alkalmazni.
Sok esetben talán nem is az újdonság varázsa a vonzó, hanem inkább a menekülés a régitől. Ma már szinte szitokszó a monolitikus alkalmazás. Hiszen ki szeret karbantartani egy olyan rendszert, amely magán viseli több év munkáját, az előre nem kiszámítható üzleti igények miatti foltozgatásokat. Egy ilyen rendszer fejlesztése során jöttek-mentek a fejlesztők. Mindenki rajta hagyta a névjegyét, a saját stílusát, talán sokan a saját képükre is szerették volna szabni, de sajnos az ilyen gigászi munkák sosem készülnek el teljesen. Vannak alkalmazások, amik már olyan nagyra nőttek, hogy képtelenség teljesen átlátni, nincsenek tesztesetek, nem tudható, ha valahol módosítják, hol romlik el. Ráadásul tele van technológiai kötöttégekkel, régi verziójú függőségekkel, melyek frissítése önmagában is óriási feladat.
Ezek után ki ne venne részt egy új, friss technológiákat felvonultató, akár egy ember által is átlátható alkalmazás fejlesztésében? És a microservice-ek pont ezt az ígéretet hozták el a fejlesztők számára.
A microservice-k világában sokan inkább a monolitikus rendszertől való elszakadást látják, és nem is a skálázhatóságot, sőt az automatikus skálázási lehetőséget (elasticity). Viszont ha elbuktunk abban, hogy olyan monolitikus alkalmazást építsünk, ami megfelelően van modularizálva, minden modulnak jól meghatározott üzleti feladata van, és ezek lazán, interfészekkel kapcsolódnak egymáshoz, akkor vajon meg tudjuk húzni sikeresen a microservice-ek határait? Ha a monolitikus alkalmazásunkban a függvényhívások kuszák voltak, tudjuk kezelni, hogy a service-eink közé még hálózat is kerül?
Nem árt felkészülni arra sem, hogy a microservice-ekkel olyan járulékos módszertanokat, technológiákat is be kell vezetnünk, mint a DevOps, infrastructure as code, elastic inftrastructure, automatizáció, Continuous Integration, Delivery és Deployment, magas szintű telemetria, és a többi, és a többi...
Tanfolyamainkon megtanulhatod, hogy mit rejtenek ezek a fogalmak és miért van ezekre szükség. És megígérjük, hogy a microservice-ek nehézségeit sem palástoljuk, viszont javaslunk rájuk megoldásokat is.
Kapcsolódó tanfolyamok
- Microservice alkalmazás felépítése Spring Boot keretrendszerrel Docker környezetben
- CI/CD implementálása Maven/Gradle, Jenkins és Docker eszközökkel