Unter Microservices versteht man eigenständige, in sich abgeschlossene kleine Software-Bausteine, die eine klar begrenzte Funktionalität abdecken.
Ein Beispiel: Für einen Online-Shop können einzelnen Funktionen wie etwa ein Merkzettel, der Warenkorb, die Produktsuche, der Checkout-Prozess oder auch die Anbindung eines einzelnen Payment-Verfahrens als Microservices programmiert werden. Diese vertikale Trennung in einzelne funktionale Bestandteile wird auch als Aufteilung in Vertikale, Fachlichkeiten oder Domäne bezeichnet. Der große Vorteil: Die einzelnen Microservices können unabhängig voneinander entwickelt und zum Einsatz (deployed) gebracht werden. Da sie über alle, für ein eigenständiges Funktionieren nötigen Bestandteile wie zum Beispiel eine eigenen Datenbank verfügen, hat ihr Einsatz keinen Einfluss auf das Funktionieren des Gesamtsystems. Deswegen entfallen bei den Microservices langwierige Tests im Vorfeld, die Entwicklungsgeschwindigkeit steigt erheblich. Das ist insbesondere dann wichtig, wenn eine schnelle Anpassung an Marktentwicklungen nötig ist, weil hoher Wettbewerbsdruck herrscht. Außerdem können Microservices auf der jeweils für den speziellen Anwendungsfall passenden Technologie entwickelt werden. Das verbessert die Funktionalität und beschleunigt die Entwicklung. Ein weiterer Vorteil: Die einzelnen Microservices können sehr schnell skaliert werden, wenn die Funktion ausgebaut oder beispielsweise im Zuge einer internationalen Expansion in mehreren lokalen Shops eingesetzt werden soll. Die einzelnen Microservices werden über APIs, also über offene Standard-Schnittstellen zu einer Gesamtarchitektur zusammengefügt. Ein ausgefeiltes API-Management ist daher für ein reibungsloses Zusammenspiel der Microservices ein absolutes Muss. Für jeden Microservice ist ein autonom agierendes Team zuständig, das ihn entwickelt und betreibt. Es ist meist interdisziplinär aufgebaut und sollte nicht zu groß sein.