Programovanie

Stav mikroslužieb a cloud computingu

Podľa nedávneho radarového prieskumu O’Reilly o raste cloud computingu jedna zo zaujímavejších metrík uviedla, že 52 percent z 1 283 odpovedí tvrdí, že na vývoj softvéru používa koncepty, nástroje alebo metódy mikroslužieb. Z toho veľká menšina (viac ako 28 percent) využívala mikroslužby už viac ako tri roky.

Toto bol druhý najväčší klaster medzi používateľmi mikroslužieb. Najväčšia skupina (viac ako 55 percent) využíva mikroslužby od jedného do troch rokov. Iba 17 percent používateľov je navyše v mikroslužbách nováčikov, s menej ako rokom prijatia a používania.

O’Reilly tiež poukazuje na niektoré dôkazy, že záujem o mikroslužby by mohol byť na vrchole alebo blízko vrcholu. Taktiež zaznamenaný rozklad rámcov služieb - aspoň na stupeň zrnitosti predpísaný v architektúre mikroslužieb - sa ukazuje ako ťažší, ako sa očakávalo.

Využívanie mikroslužieb je skutočne prirodzeným vývojom orientácie na služby a využívania cloudových systémov. Schopnosť rozložiť služby s kurzom na mikroslužby je len dobrý nápad. Budete mať viac služieb, ktoré majú viac využití, napríklad aktualizovanú inventarizačnú službu, ktorá sa dá rozdeliť na čítanie existujúcich údajov o zásobách, úpravu existujúcich údajov o zásobách na aktualizované údaje o zásobách, overovanie aktualizovaných údajov o zásobách a písanie aktualizovaných údajov o zásobách do skladu.

Keď je táto služba makier rozdelená na štyri mikroslužby, môžete ich použiť v rámci tejto služby makier. Alebo ich môžete znova použiť v iných makro službách a zložených aplikáciách (prepáčte príliš zjednodušený príklad). Cieľom je napísať mikroslužbu raz a mnohokrát ju použiť.

Lepšie vám bude, keď budete písať mikroslužby spôsobmi, vďaka ktorým budú všeobecnejšie a všeobecnejšie, použiteľné v mnohých rôznych modeloch použitia (na rozdiel od príkladov vyššie, ktoré nie sú všeobecné a zameriavajú sa iba na údaje o inventári). Tu však nastávajú ťažkosti.

Podstatou efektívneho využívania mikroslužieb je schopnosť nastaviť rámce rozkladu služieb, kde sa opakovane používa maximálny počet mikroslužieb. Táto zručnosť však bola pre väčšinu aplikačných architektov náročná.

Strávil som značnú časť svojho času v posledných niekoľkých rokoch pretláčaním návrhov aplikácií podporujúcich mikroslužby a zisťovaním, že väčšina z nich nemá potrebné plánovanie na to, aby mohla plne využívať výhody mikroslužieb. Videl som hromadu jemnozrnných služieb, ktoré sú jednorazovo napísané a raz využité, pričom mi chýbala hlavná výhoda toho, na čo slúžia mikroslužby: opätovné použitie tvrdých a testovaných malých služieb.

Ako zdôrazňuje prieskum, zisťujeme, že správny rozklad služieb na mikroslužby - a všeobecne na orientáciu na služby - je pre väčšinu návrhárov aplikácií príliš veľkým mostom. Jediným riešením je absolvovať určité školenie a pochopiť, že toto je viac umenie ako veda. Možno potom dokážeme prejsť okolo stánku.

$config[zx-auto] not found$config[zx-overlay] not found