[Microservices|Microservice] ist ein Trend zur feiner werdenden Modularisierung von Applikationen. Während früher teilweise sogar mehrere Anwendungen auf einem [Application Server] [deployed|Deployment] wurden, laufen die Module zunehmend in eigenen Prozessen. Die Vorsilbe "Micro" drückt den Trend aus, die Modularisierung in immer kleinere Einheiten zu unterteilen. !!!Eigenschaften Vorteile sind: * __Aktualisierbarkeit:__ Aktualisierung einzelner Module, sogenannte Continuous Delivery * __Redundanz:__ Mehrere Instanzen des gleichen Moduls laufen zur gleichen Zeit * __Skalierbarkeit:__ Die Anzahl der Modulinstanzen kann nach Bedarf angepasst werden. Bei hoher Last starten zusätzliche Module, bei geringerer Last wird die Zahl laufender Module verringert. * __Überwachung:__ Durch die externe Kommunikation (meist HTTP/JSON) kann in komplexen Systemen eine Übersicht des laufenden Betriebs erstellt werden. Beispiel ist Hystrix mit Turbine. Nachteile sind: * __Overhead:__ Die Verteilung benötigt mehr Ressourcen, mehr Prozesse, mehr Speicher und mehr CPU um dieselben Aufgaben durchzuführen, als dies mit einer monilithischen Anwendung der Fall wäre. !!!Umsetzung Die [Intersult] arbeitet gegenwärtig hauptsächlich mit [Spring Boot] als Prozess-Container, [Spring Cloud Netflix|https://spring.io/projects/spring-cloud-netflix] und [Netflix Eureka|https://github.com/Netflix/eureka] als Service Registry, [Ubuntu] als Betriebssystem, [Docker] als Virtualisierungsumgebung und [Jenkins|https://jenkins.io/] als Continuous Build.