To dość zaskakujące, aby zobaczyć tak wiele wspólnych błędnych przekonań wokół mikroserwisów i interfejsów API. Na przykład, mikroserwisy są jak usługi internetowe, ale drobniejsze lub jak API są mikroserwisami. To wszystko są pewnego rodzaju podstawowe błędne przekonania pod przykrywką. Bierzemy się za to, aby opowiedzieć o tym, jakie są kluczowe różnice w tych dwóch koncepcjach.

Co to jest API?

API to skrót od angielskiego Application Programming Interface. Jest to interfejs, który pozwala dwóm aplikacjom rozmawiać ze sobą. Oprogramowanie jest używane przez ludzi poprzez interfejs użytkownika. Jednak ludzie nie są jedynymi użytkownikami oprogramowania. Oprogramowanie jest również używane przez inne aplikacje. Wymaga to innego rodzaju interfejsu, który nazywany jest interfejsem programowania aplikacji, lub w skrócie API. Są one jak drzwi, które pozwalają programistom na interakcję z aplikacją. Jest to sposób na zgłaszanie żądań do komponentu.

W dzisiejszej gospodarce cyfrowej zazwyczaj mówimy o web API, które ułatwiają komunikację B2B. Web API to usługi internetowe i dostarczają zasoby danych za pośrednictwem stosu technologii internetowych. Oferują one prosty sposób na podłączenie się do systemu oprogramowania, integrację z nim i rozszerzenie go. W szczególności wykorzystywane są do budowy rozproszonych systemów oprogramowania, których komponenty są luźno sprzężone. API mogą zwiększyć zarówno użyteczność, jak i ekspozycję usługi. Zasadniczo wszystkie aplikacje polegają na interfejsach API, aby funkcjonować.





Czym jest mikroserwis (Microservice)?

Mikroserwisy (lub architektura mikroserwisów) to architektoniczne i organizacyjne podejście do rozwoju oprogramowania, w którym funkcjonalność jest rozbita na bardziej zarządzalne, pełne odsprzężone kawałki. Jest to charakterystyczna metoda tworzenia systemów oprogramowania, która skupia się na budowaniu jednofunkcyjnych modułów z dobrze zdefiniowanymi interfejsami i operacjami. Chodzi o rozbicie dużych silosowych komponentów na mniejsze elementy, które są bardziej zwinne i łatwiejsze do zmiany.

Mikroserwisy są przykładem architektury SOA (Service-Oriented Architecture) i stały się jednym z najpopularniejszych stylów architektonicznych w krajobrazie architektury oprogramowania korporacyjnego. Architektura mikroserwisów sprzyja budowaniu systemu oprogramowania jako zbioru niezależnych autonomicznych usług, które są luźno sprzężone. Mikroserwisy to podejście do modularyzacji oprogramowania polegające na rozbiciu dużych systemów oprogramowania na mniejsze części. Są one samodzielnymi procesami lub maszynami wirtualnymi, a komunikują się za pomocą jawnych interfejsów.

Różnica między API a mikroserwisami

Definicja



– API to zestaw protokołów komunikacyjnych i narzędzi do budowania oprogramowania. Jest to zestaw predefiniowanych metod komunikacji pomiędzy różnymi komponentami. API są jak drzwi, które pozwalają programistom na interakcję z aplikacją. Mikroserwisy mogą być postrzegane jako lekka architektura zorientowana na usługi (SOA) do tworzenia systemów oprogramowania. Dzieli ona różne funkcje aplikacji na mniejsze komponenty zwane usługami.



Koncepcja

– Mikroserwisy (lub architektura Microservices) to architektoniczne i organizacyjne podejście do tworzenia oprogramowania, które polega na rozbijaniu dużych silosowych komponentów na mniejsze komponenty, które są bardziej zwinne i łatwiejsze do zarządzania. API to interfejsy, które mogą być używane do ekspozycji funkcjonalności w tych komponentach. W szczególności, API są wykorzystywane do budowania rozproszonych systemów oprogramowania, których komponenty są luźno sprzężone.

Funkcja

– Te dwa pojęcia są odrębne. Interfejsy API oferują prosty sposób łączenia się z systemem oprogramowania, integrowania się z nim i rozszerzania go. Interfejsy API zapewniają interfejs wielokrotnego użytku, do którego różne aplikacje mogą się łatwo podłączyć. Jednak zazwyczaj nie są one widoczne na powierzchni; zamiast tego działają pod maską i są bezpośrednio wywoływane przez inne aplikacje. Architektura mikroserwisów jest zwykle zorganizowana wokół możliwości i priorytetów biznesowych i jest przeznaczona do rozwiązywania problemów, które są duże i złożone.

Podsumowanie



Zarówno API, jak i mikroserwisy dla wielu mogą wydawać się podobne, ale są to bardzo różne koncepcje. I nie są ze sobą bezpośrednio powiązane. Te dwie rzeczy są od siebie całkowicie niezależne. To powiedziawszy, mikroserwisy są komponentami, które są używane do budowania aplikacji w bardziej zwinnych ramach. Jest to charakterystyczna metoda tworzenia systemów oprogramowania, która skupia się na budowaniu jednofunkcyjnych modułów z dobrze zdefiniowanymi interfejsami i operacjami. Z kolei API to sposób ekspozycji funkcjonalności aplikacji, niezależnie od tego, czy jest ona napisana jako mikroserwis, czy nie. API zapewniają możliwości, które są niezbędne do łączenia, rozszerzania i integrowania oprogramowania. API to w zasadzie ramy, za pomocą których programiści mogą wchodzić w interakcje z aplikacją internetową.

Czy REST API jest mikroserwisem?

Mikroserwisy komunikują się tylko poprzez jawne interfejsy, które są realizowane za pomocą mechanizmów takich jak wiadomości lub REST. Każda aplikacja jest zaprojektowana jako niezależna usługa w architekturze mikroserwisów. REST API to reguły, polecenia i protokoły, które integrują poszczególne mikroserwisy, dzięki czemu funkcjonują one jako jedna aplikacja.