Stanje mikrousluga i računarstva u oblaku

Prema nedavnom radarskom istraživanju O'Reilly o rastu računalstva u oblaku, jedan od zanimljivijih mjernih podataka naveo je da 52 posto od 1.283 odgovora kaže da koriste koncepte, alate ili metode za razvoj softvera. Od njih, velika manjina (više od 28 posto) koristi mikroservise više od tri godine.

Ovo je bio drugi po veličini klaster među korisnicima mikro usluga. Najveća grupa, s više od 55 posto, koristi mikroservise između jedne i tri godine. Štoviše, samo 17 posto korisnika je novo u mikro uslugama, s manje od godinu dana usvajanja i upotrebe.

O'Reilly također ukazuje na neke dokaze da bi interes za mikro usluge mogao biti na vrhuncu ili blizu njega. Također, primijećena dekompozicija uslužnih okvira - barem do stupnja granularnosti propisane u arhitekturi mikro usluga - pokazuje se težom nego što se očekivalo.

Korištenje mikrousluga doista je prirodan napredak usmjerenosti ka uslugama i uporaba sustava zasnovanih na oblaku. Sposobnost raščlanjivanja tečajnih usluga na mikroservise samo je dobra ideja. Imat ćete više usluga koje imaju više namjena, poput ažurirane tečajne usluge koja se može razdvojiti za čitanje postojećih podataka inventara, izmjenu postojećih podataka inventara ažuriranim podacima inventara, provjeru valjanosti ažuriranih podataka inventara i pisanje ažuriranih podataka inventara do skladišta.

Nakon što se ova makro usluga podijeli na četiri mikroservisa, možete ih koristiti u okviru ove makro usluge. Ili ih možete ponovno upotrijebiti u drugim makro uslugama i složenim aplikacijama (oprostite na previše pojednostavljenom primjeru). Cilj je jednom napisati mikrouslugu i koristiti je više puta.

Bit će vam bolje da mikro-usluge pišete na načine koji ih čine generičkim i općenitijim, primjenjivim u mnogim različitim obrascima korištenja (za razliku od gornjih primjera koji nisu generički, usredotočujući se samo na podatke o inventaru). Međutim, tu dolazi do poteškoća.

U osnovi učinkovitog iskorištavanja mikrousluga je sposobnost postavljanja okvira za razgradnju usluga gdje se maksimalan broj mikrousluga ponovno koristi. Međutim, ovu je vještinu teško razviti većini arhitekata aplikacija.

Proveo sam dobar dio svog vremena u proteklih nekoliko godina probijajući se kroz programe s omogućenim mikroservisima i otkrivajući da većina njih nema potrebno planiranje kako bi u potpunosti iskoristile mikrousluge. Vidio sam gomilu sitnozrnatih usluga koje se jednom napišu i jednom iskoriste, propuštajući ključnu prednost onoga za što su mikroservisi: ponovna upotreba otvrdnutih i testiranih malih usluga.

Kao što pokazuje istraživanje, otkrivamo da je pravilno raščlanjivanje usluga na mikroservise - i općenito usmjerenost na uslugu - predalek most za većinu dizajnera aplikacija. Jedino rješenje je dobiti neki trening, shvaćajući da je ovo više umjetnost nego znanost. Možda tada možemo proći pored štanda.