Microservices - Eine State-of-the-Art Bestandsaufnahme und Abgrenzung zu SOA

Ulm University

BA Abschlussvortrag, Ferdinand Birk, Ort: O27/545, Datum: 18.01.2017, Zeit: 12:00 Uhr

Microservices haben in den letzten Jahren einen Hype erfahren und gelten momentan als der Stil, der es einem Unternehmen erlaubt, möglichst agil und innovativ in der Entwicklung von Software zu sein. Durch die Entkopplung von fachlich nur wenig zusammenhängenden Teilen zu eigenständigen Microservices, kann eine Unterteilung der Entwicklung in hochgradig autonome Teams erreicht werden. Zusätzlich unterstützen Cloud-Technologien und Automatisierung durch Continuous Delivery und DevOps die Teams bei der schnellen Weiterentwicklung ihres abgegrenzten Bereiches und erlaubt es diesen, selbständig für den Betrieb ihrer Microservices verantwortlich zu sein.
Der Begriff Microservices ist noch relativ jung und zeigt sich in unterschiedlichen Formen, weshalb oft unklar ist, was er eigentlich genau bedeutet. Daraus ergeben sich auch Schwierigkeiten in der Abgrenzung zu anderen Ansätzen wie SOA. Der Ansatz, Software durch Services zu modularisieren, ist nicht neu und wird schon bei SOA
angewendet, um die Integration verschiedener Systeme zu erleichtern und diese schneller an veränderte Geschäftsprozesse anzupassen. Obwohl Microservices aus SOA heraus entstanden sind, fokussiert der Stil mehr auf die Flexibilität und Geschwindigkeit bei der Entwicklung von modernen Online-Softwaresystemen und setzt Service-Orientierung anders um als es bei SOA der Fall ist. Diese Arbeit erfasst das Themengebiet unterteilt in Stil-Ebene, Architektur-Ebene und Service-Ebene. Sie versucht so, dabei zu helfen, mehr Verständnis über den Begriff Microservices zu erlangen. Dabei werden angrenzende Konzepte sowie Technologien erklärt und anhand von Charakteristiken beschrieben, was den Microservices-Stil ausmacht. Über veröffentlichte Berichte und Konferenzvorträge von Unternehmen, die nach eigenen Angaben Microservices umsetzen, werden typische Gründe und Motivationen für den Microservice-Stil herausgearbeitet. Zuletzt wird SOA kurz definiert und anhand dem aktuellen Verständnis eingeführt. Mit den erlangten Kenntnissen über Microservices und deren Motivation, wird ein Vergleich mit SOA auf den verschiedenen Ebenen unternommen.