Spisu treści:
Mikrousługi, choć nie do końca nowatorska koncepcja lub praktyka, na nowo definiują rozwój oprogramowania na wiele sposobów. Mikrousługi mogą potencjalnie zastąpić monolityczne aplikacje i są bardziej dostosowane do zmieniających się potrzeb biznesowych przedsiębiorstw. Typowa aplikacja monolityczna to samodzielna aplikacja, w której wszystkie części składowe są ze sobą ściśle powiązane. Jeśli jakikolwiek komponent zostanie naruszony z jakiegokolwiek powodu, wpłynie to na całą aplikację. Na przykład zmiana jednego komponentu może wymagać pełnej regresji systemu i pełnego wdrożenia. Aplikacje monolityczne są postrzegane jako nieelastyczne systemy, a przedsiębiorstwa wydają dużo zasobów na ich utrzymanie. Z drugiej strony mikrousługi okazują się bardziej zwinne i elastyczne. Są to małe, niezależne i wielokrotnego użytku usługi, które można modyfikować i niezależnie wdrażać. Pozwala to przedsiębiorstwom zaoszczędzić wiele inwestycji. Chociaż nie można powiedzieć, że mikrousług są powszechnie stosowane, istnieją już zachęcające studia przypadków. (Aby uzyskać więcej informacji na temat trendów technologicznych, zobacz Systemy autonomiczne i podnoszenie liczby ludzi z poziomu oprogramowania pośredniego).
Co to są mikrousługi?
Microservices to styl architektoniczny polegający na tworzeniu pojedynczej aplikacji z kombinacją małych, niezależnych usług. Chodzi o to, aby móc pracować lub modyfikować każdą usługę w sposób izolowany, aby w przeciwieństwie do aplikacji monolitycznych nie wpłynęła to na całą aplikację z powodu aktualizacji. Każda usługa ma swoje własne procesy i komunikuje się w lekkim mechanizmie - często za pomocą usługi internetowej z zasobami HTTP.
Aby zrozumieć cechy architektury mikrousług, istotne może być porównanie jej z monolitycznymi systemami oprogramowania. Poniższa tabela przedstawia główne różnice między systemami oprogramowania monolitycznego i mikrousług.