paź
25

Mikrousługi (Microservices) – faktyczna nowość, czy kolejny buzzword?

Źródło: Andrzej Sobczak
Print Friendly

mikrouslugiW chwili obecnej coraz większą popularność wśród projektantów architektury oprogramowania zaczyna zdobywać koncepcja “mikrousług”. Jest to alternatywne – w stosunku do monolitycznego – podejście do budowy aplikacji. Stosowane jest ono m.in. przez takie firmy jak Amazon, The Guardian, czy Netflix. Do tej pory nie wypracowano jednak jednej, obowiązującej definicji tego pojęcia. Martin Fowler zauważa, że mikrousługi są jednym ze stylów architektonicznych, zgodnie z którym powstające oprogramowanie składa się z zestawu mikro-usług, z których każda działa w ramach własnego procesu i komunikuje się z innymi mikro-usługami za pomocą lekkich protokołów komunikacyjnych – takich jak np. HTTP. Każda mikro-usługa koncentruje się na wsparciu określonego potencjału biznesowego organizacji i jest niezależna od innych mikro-usług (dlatego może być samodzielnie deployment’owana). Ponadto nie ma scentralizowanego zarządzania mikrousługami, co powoduje, że każda z nich może być przygotowana w innym języku programowania oraz może używać innej technologi przechowywania danych.

Oczywiście przy takiej charakterystyce mikrousług, pierwsze co przyszło mi do głowy to, że jest to zabieg marketingowy dotyczący “ponownej sprzedaży” koncepcji  SOA. Czyli SOA nie jest już teraz takie modne (zostało “przykryte” przez Biga Data i Cloud Computing) więc, potrzebne było odkrycie na nowo tego podejścia. Z drugiej strony Martin Fowler na swoim blogu pisze, że SOA zrobiło się zbyt rozmytą koncepcją, która zaczęła znaczyć wszystko i nic – a tutaj jest to dosyć dobrze określony sposób tworzenia aplikacji (tylko tyle i aż tyle). Ale jeżeli pomyśli się o usługach sieciowych (web services) jako sposobie realizacji SOA – to nie za bardzo widzę różnicę (poza zmianami na poziomie technologii – bo powstały takie frameworki do tworzenia aplikacji jak  Sinatra czy Flask ) w stosunku do mikrousług.

Czy mikrousługi się przyjmą? Wydaje się, że tak. Po pierwsze idealnie wpasowują się w ideę zespołów pracujących w duchy Agile (a to jest obecnie na topie). Po drugie dostępne stały się narzędzia wspierające proces “Continuous delivery”, a zastosowanie takiego sposobu wytwarzania oprogramowania jest niezbędne dla wykorzystania mikrousług. Wreszcie filozofia mikrousług jest zbieżna z modelem, który Gartner określił mianem “API economy”, który ma być “must have” w najbliższych lata dla firm działających w sieci (czyli praktycznie wszystkich).

Andrzej Sobczak

Profesor, kierownik Zakładu Zarządzania Informatyką w Instytucie Informatyki i Gospodarki Cyfrowej SGH. Ma ponad 8 letnie doświadczenie we wdrażaniu koncepcji architektury IT i architektury korporacyjnej. Posiada certyfikaty TOGAF 8/9, ArchiMate 2.0, ITIL, MSP.

Polecane wpisy

TAGI DLA WPISU

Dodaj komentarz

W celu wzięcia udziału w dyskusji jako zalogowany użytkownik możesz zalogować się poprzez jeden z poniższych serwisów.

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Captcha Captcha Reload

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>