Programování

Stav mikroslužeb a cloud computingu

Podle nedávného radarového průzkumu O’Reilly o růstu cloud computingu jedna z nejzajímavějších metrik uvedla, že 52 procent z 1283 odpovědí uvádí, že pro vývoj softwaru používají koncepty, nástroje nebo metody mikroslužeb. Z nich velká menšina (více než 28 procent) využívala mikroslužby po více než tři roky.

Jednalo se o druhý největší klastr mezi uživateli mikroslužeb. Největší skupina, s více než 55 procenty, používá mikroslužby mezi jedním a třemi lety. Pouze 17 procent uživatelů je navíc v mikroslužbách nováčkem, s méně než rokem přijetí a používání.

O’Reilly také poukazuje na některé důkazy, že zájem o mikroslužby by mohl být na vrcholu nebo blízko vrcholu. Také známý rozklad rámců služeb - přinejmenším na stupeň granularity předepsaný v architektuře mikroslužeb - se ukazuje jako obtížnější, než se očekávalo.

Využití mikroslužeb je skutečně přirozeným vývojem orientace na služby a používání cloudových systémů. Schopnost rozložit služby s kurzem na mikroslužby je dobrý nápad. Budete mít více služeb, které mají více využití, například aktualizovanou inventarizační službu, která může být rozdělena tak, aby četla existující data inventáře, upravovala stávající data inventáře na aktualizovaná data inventáře, ověřovala aktualizovaná data inventáře a psala aktualizovaná data inventáře do skladu.

Jakmile je tato služba maker rozdělena na čtyři mikroslužby, můžete je použít v rámci této služby maker. Nebo je můžete znovu použít v jiných makro službách a složených aplikacích (odpusťte příliš zjednodušený příklad). Cílem je napsat mikroslužbu jednou a použít ji mnohokrát.

Lepší bude psát mikroslužby způsoby, díky nimž budou obecnější a obecnější, použitelné v mnoha různých vzorcích použití (na rozdíl od výše uvedených příkladů, které nejsou obecné a zaměřují se pouze na údaje o inventáři). Zde však dochází k potížím.

V podstatě efektivního využití mikroslužeb je schopnost nastavit rámce rozkladu služeb, kde se znovu použije maximální počet mikroslužeb. Tato dovednost však pro většinu aplikačních architektů byla obtížná.

V uplynulých několika letech jsem strávil značnou část svého času prosazováním návrhů aplikací podporujících mikroslužby a zjišťováním, že většina z nich nemá nezbytné plánování, aby plně využila výhody mikroslužeb. Viděl jsem hromadu jemnozrnných služeb, které jsou psány jednou a využívány jednou, a postrádaly hlavní výhodu toho, k čemu jsou mikroslužby: opětovné použití tvrzených a testovaných malých služeb.

Jak zdůrazňuje průzkum, zjišťujeme, že správný rozklad služeb na mikroslužby - a obecně orientace na služby - je pro většinu návrhářů aplikací příliš vzdálený. Jediným řešením je absolvovat školení, pochopit, že je to více umění než věda. Možná pak můžeme projít kolem stánku.