Sadržaj:
Mikroservisi, iako ne baš nov koncept ili praksa, redefiniraju razvoj softvera na puno načina. Mikroservisi mogu zamijeniti monolitne aplikacije i više su usklađeni s promjenjivim poslovnim potrebama poduzeća. Tipična monolitna aplikacija je samostalna softverska aplikacija u kojoj su svi sastavni dijelovi usko povezani međusobno. Ako iz bilo kojeg razloga dođe do utjecaja bilo koje komponente, utječe se na cijelu aplikaciju. Na primjer, promjena jedne komponente može zahtijevati potpunu regresiju sustava i potpuno aktiviranje. Monolitne aplikacije se promatraju kao nefleksibilni sustavi i poduzeća troše puno resursa za održavanje takvih aplikacija. S druge strane, mikroservisi dokazuju se okretnijima i fleksibilnijima. Riječ je o malim, neovisnim i uslugama za višekratnu upotrebu koje se mogu mijenjati i samostalno rasporediti. To omogućuje poduzećima uštedu puno ulaganja. Iako se ne može reći da se mikroservisi univerzalno koriste, postoje već neke ohrabrujuće studije slučaja. (Više o tehnološkim trendovima potražite u članku Autonomni sustavi i uzdignuće ljudi od srednjeg softvera.)
Što su mikroservisi?
Microservices je arhitektonski stil razvoja jedinstvene softverske aplikacije s kombinacijom malih, neovisnih usluga. Ideja je omogućiti obradu ili izmjenu svake usluge na izolirani način, tako da, za razliku od monolitnih aplikacija, zbog ažuriranja ne utječe na cjelokupni softver. Svaka usluga ima svoje procese i komunicira laganim mehanizmom - često uz pomoć web usluge HTTP resursa.
Da biste razumjeli značajke arhitekture mikroservisa, možda će biti relevantno usporediti je s monolitnim softverskim sustavima. Sljedeća tablica prikazuje glavne razlike između monolitnih i mikroservisijskih softverskih sustava.