[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 folgenden Technologien: ||Service||Implementierung |Prozess Container|[Spring Boot|https://spring.io/projects/spring-boot] |Control Flow|[Project Reactor|https://projectreactor.io/] |Web Stack|[WebFlux|https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html] |Service Discovery|[Spring Cloud Netflix|https://spring.io/projects/spring-cloud-netflix] |Betriebssystem|[Ubuntu] |Virtualisierung|[Docker] |Continuous Delivery|[Jenkins|https://jenkins.io/] |Edge Service|[Spring Cloud Gateway|https://spring.io/projects/spring-cloud-gateway] |Reverse Proxy|[Apache HTTPD|https://httpd.apache.org/] |Database|[MongoDB|https://www.mongodb.com/] and [MySQL|https://www.mysql.com/de/] |Message Broker|[RabbitMQ|https://www.rabbitmq.com/] |Repository|[Sonatype Nexus|https://www.sonatype.com/nexus-repository-sonatype] |Code Management|[Apache Subversion|https://subversion.apache.org/]