Programmēšana

Mikroservisu un mākoņdatošanas stāvoklis

Saskaņā ar neseno O’Reilly radaru pētījumu par mākoņdatošanas pieaugumu, viens no interesantākajiem rādītājiem norādīja, ka 52 procenti no 1293 atbildēm apgalvo, ka programmatūras izstrādē izmanto mikropakalpojumu koncepcijas, rīkus vai metodes. No tiem liela daļa (vairāk nekā 28 procenti) ir izmantojuši mikropakalpojumus vairāk nekā trīs gadus.

Šis bija otrais lielākais kopums starp mikropakalpojumu lietotājiem. Lielākā grupa - vairāk nekā 55 procenti - ir izmantojusi mikropakalpojumus no viena līdz trim gadiem. Turklāt tikai 17 procentiem lietotāju mikropakalpojumi ir jauni, un to pieņemšana un izmantošana ir bijusi mazāk nekā gadu.

O’Reilijs norāda arī uz dažiem pierādījumiem, ka interese par mikropakalpojumiem varētu būt maksimālā vai tuvu tam. Arī atzīmētais pakalpojumu sistēmu sadalījums - vismaz līdz mikropakalpojumu arhitektūrā noteiktajai precizitātei - izrādās grūtāks, nekā paredzēts.

Mikropakalpojumu izmantošana patiešām ir likumsakarīga pakalpojuma orientācijas un uz mākoņiem balstītu sistēmu izmantošana. Spēja sadalīt kursu veidotos pakalpojumus mikropakalpojumiem ir tikai laba ideja. Jums būs vairāk pakalpojumu, kuriem ir vairāk izmantošanas veidu, piemēram, atjauninātu krājumu kursu pamatotu pakalpojumu, kuru var sadalīt, lai lasītu esošos krājumu datus, modificētu esošos krājumu datus atjaunotajiem krājumu datiem, apstiprinātu atjaunotos krājumu datus un rakstītu atjaunotos krājumu datus uz krātuvi.

Kad šis makro pakalpojums ir sadalīts četros mikropakalpojumos, tos var izmantot šajā makro pakalpojumā. Vai arī varat tos atkārtoti izmantot citos makro pakalpojumos un saliktajās lietojumprogrammās (piedodiet pārāk vienkāršoto piemēru). Mērķis ir vienu reizi uzrakstīt mikropakalpojumu un to izmantot daudzas reizes.

Jums labāk būs rakstīt mikropakalpojumus veidos, kas tos padara vispārīgākus un vispārīgākus, piemērojamus daudzos dažādos lietošanas veidos (atšķirībā no iepriekš minētajiem piemēriem, kas nav vispārīgi, koncentrējoties tikai uz krājumu datiem). Tomēr šeit rodas grūtības.

Efektīvas mikropakalpojumu piesaistes būtība ir spēja izveidot pakalpojumu sadalīšanas ietvarus, kur maksimāli daudz mikropakalpojumu tiek atkārtoti izmantots. Tomēr šo prasmi lielākajai daļai lietojumprogrammu arhitektu ir bijis grūti attīstīt.

Pēdējo vairāku gadu laikā esmu pavadījis labu daļu sava laika, virzoties caur mikropakalpojumiem iespējotu lietojumprogrammu dizainu un konstatējot, ka lielākajai daļai no tām nav nepieciešamās plānošanas, lai pilnībā izmantotu mikroservisu priekšrocības. Esmu redzējis daudzveidīgu pakalpojumu klāstu, kas tiek rakstīti vienu reizi un vienreiz piesaistīti, un trūkst galvenā ieguvuma no tā, kas paredzēts mikropakalpojumiem: rūdītu un pārbaudītu mazu pakalpojumu atkārtota izmantošana.

Kā norādīts aptaujā, mēs atklājam, ka pareiza pakalpojumu sadalīšana mikropakalpojumos - un pakalpojumu orientācija kopumā - lielākajai daļai lietojumprogrammu dizaineru ir pārāk tāls tilts. Vienīgā izšķirtspēja ir iegūt kādu apmācību, saprotot, ka šī ir vairāk māksla nekā zinātne. Varbūt tad mēs varam izstumt garām letiņam.