{"id":5279,"date":"2019-01-17T08:00:11","date_gmt":"2019-01-17T07:00:11","guid":{"rendered":"https:\/\/www.abilis.de\/blog\/?p=5279"},"modified":"2019-04-11T10:51:33","modified_gmt":"2019-04-11T08:51:33","slug":"lohnt-sich-die-modulare-software-architektur-mit-microservices","status":"publish","type":"post","link":"https:\/\/www.abilis.de\/blog\/2019\/01\/17\/lohnt-sich-die-modulare-software-architektur-mit-microservices\/","title":{"rendered":"Lohnt sich die modulare Software-Architektur mit Microservices?"},"content":{"rendered":"<p>[et_pb_section bb_built=&#8220;1&#8243; _builder_version=&#8220;3.0.47&#8243;][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<p>Webgiganten wie Amazon, Netflix, Twitter oder auch Zalando\u00a0haben eines gemeinsam: sie setzen auf Microservices\u00a0und verschaffen sich so wertvolle Wettbewerbsvorteile.<\/p>\n<p>Microservices geh\u00f6ren zu den wichtigsten Architektur-Konzepten der heutigen Zeit. Auch immer mehr mittelst\u00e4ndische und kleine Unternehmen springen auf diesen Zug auf und steigen um von monolithischen Strukturen auf Modularisierung. Lesen Sie in unserem Artikel, was Microservices sind und wieso die weltweite Beliebtheit stetig zunimmt.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<h2>Infrastruktur durch Microservices zukunftssicher machen<\/h2>\n<p>Bevor wir die Frage kl\u00e4ren, was Microservices genau sind, m\u00f6chten wir Ihnen zun\u00e4chst die Wichtigkeit einer nachhaltigen, skalierbaren Architektur aufzeigen. Stellen Sie sich folgendes Szenario vor, das auf IT-Systemen, die historisch gewachsen sind, basiert.<\/p>\n<p>Durch spezifische Anpassungen, stark miteinander verflochtene Strukturen und Abh\u00e4ngigkeiten, brachte jede \u00c4nderung einzelner Software-Teile oder Systeme echte Herausforderungen mit sich. Komplexe Monolithen, die sich \u00fcber Jahre hinweg aufgebaut haben, f\u00fchren hierbei zu\u00a0mangelnder Modularisierung und erheblichem Aufwand bei der Anpassung.<\/p>\n<p>Diese klassischen monolithischen Architekturen sind den Anforderungen an eine hohe Flexibilit\u00e4t und schnelle Reaktionszeiten kaum noch gewachsen. Zwar hat ein Monolith mit Standard-Features sicher seine Vorteile, doch bringt er in Zeiten von kontinuierlicher Integration und Delivery eher Nachteile mit sich. Die L\u00f6sung:\u00a0Anwendungen als lose gekoppelte Services, die separat aktualisiert und unter eine Container-Infrastruktur skaliert werden k\u00f6nnen \u2013 kurz gesagt: Microservices.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<h2>Was steckt hinter Microservices?<\/h2>\n<p>Microservices sind eine Gruppe kleiner entkoppelter Dienste, die jeweils als eigene Prozesse laufen und \u00fcber Mechanismen wie HTTP-basierte Anwendungsprogrammierschnittstellen\u00a0(APIs)\u00a0miteinander kommunizieren. Insgesamt erm\u00f6glichen Microservices\u00a0so den modularen\u00a0Aufbau von Anwendungssoftware.<\/p>\n<p>Hinter dem Grundprinzip von Microservices\u00a0steht die Unix-Philosophie\u00a0&#8222;<span lang=\"en\">Do One Thing and Do It Well<\/span>\u201c (zu deutsch:\u00a0\u201eErledige nur eine Aufgabe und erledige sie gut\u201c).\u00a0Microservices sind jeweils auf nur eine oder sehr wenige Aufgaben spezialisiert und f\u00fcr diese Aufgaben optimiert. Durch den \u00fcberschaubaren Umfang der jeweiligen Aufgaben k\u00f6nnen Entwickler Ver\u00e4nderungen oder Anpassungen schnell und flexibel vornehmen und die Services leicht ersetzen.<\/p>\n<p>Microservices\u00a0sind unabh\u00e4ngig voneinander und k\u00f6nnen daher auch in verteilten Umgebungen auf verschiedenen Rechnern oder auf Cloud-Plattformen laufen. Somit ist das Skalieren oder Updaten\u00a0der Services ohne eine gegenseitige Beeinflussung m\u00f6glich. Zudem kann jeder Microservice in\u00a0einer eigenen Programmiersprache geschrieben\u00a0sein, da \u00fcber einfache und sprachunabh\u00e4ngige Schnittstellen kommuniziert wird.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<h2>Microservices und die Entwicklung\u00a0von Native Cloud Applications (NCA)\u00a0<\/h2>\n<p>Der Begriff\u00a0Native Cloud Application umfasst\u00a0Anwendungen, die speziell f\u00fcr Cloud-Computing-Architekturen entwickelt und optimiert werden. NCAs verschaffen Unternehmen dadurch mehr Flexibilit\u00e4t und Effizienz in der Softwareentwicklung.<\/p>\n<p>Sie sind von der zugrunde liegenden Infrastruktur unabh\u00e4ngig und\u00a0lassen sich auf beliebige Cloud-Plattformen adaptieren. So k\u00f6nnen\u00a0Anwendungen ohne gr\u00f6\u00dfere Anpassungen und viel Aufwand auf unterschiedlichen Private- oder Public-Cloud-Umgebungen\u00a0verschiedener Serviceanbieter laufen.<\/p>\n<p>Genau hier kommen Microservices ins Spiel. Microservices bilden die Basis der\u00a0Native Cloud Applications, indem sie\u00a0sich aus voneinander entkoppelten Cloud-Services auf unterschiedlichen Systemen zusammensetzen. So ist es m\u00f6glich, die Dienste der NCAs auf verschiedenen Systemen und an unterschiedlichen Standorten zu nutzen. Beispiele hierf\u00fcr sind unter anderem\u00a0das Empfangen von Nachrichten, das Senden spezifischer Daten oder das Auslesen von Sensoren.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<h2>Microservices\u00a0\u2013 nutzen Sie diese Vorteile<\/h2>\n<ul>\n<li><strong>Unabh\u00e4ngigkeit:<\/strong> Microservices sind untereinander v\u00f6llig unabh\u00e4ngig und erm\u00f6glichen dadurch die Arbeit von Entwicklerteams.<\/li>\n<li><strong>Agilit\u00e4t:<\/strong>\u00a0\u00c4nderungen, Erweiterungen oder Verbesserungen nehmen keinen Einfluss auf die Funktionalit\u00e4t der gesamten Applikation und lassen sich somit unabh\u00e4ngig vornehmen, ohne andere Services zu beeintr\u00e4chtigen.<\/li>\n<li><strong>Schnelle Markteinf\u00fchrung:\u00a0<\/strong>Die\u00a0Entwicklungszyklen\u00a0in einer Microservices-Architektur\u00a0sind deutlich k\u00fcrzer. Implementierungen und Updates\u00a0k\u00f6nnen also viel schneller durchgef\u00fchrt werden.<\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<h2>Microservices\u00a0\u2013 l\u00f6sen Sie diese Herausforderungen<\/h2>\n<ul>\n<li><strong>Komplexit\u00e4t:<\/strong>\u00a0Aufgrund der Vielzahl an Services sind Softwareverteilung und Testing deutlich komplexer.<\/li>\n<li><strong>Hoher Migrationsaufwand:<\/strong> Der Aufwand einer Migration bestehender Systeme in Microservices ist relativ hoch. Meistens ist zudem eine Anpassung der Kommunikationskultur in den beteiligten Organisationen erforderlich.<\/li>\n<li><strong>Organisationsaufbau:<\/strong>\u00a0Anstelle klassischer, horizontaler Strukturen treten funktions\u00fcbergreifende, vertikale Teams. Ein spezieller Organisationsaufbau ist ebenso erforderlich, wie die passende Infrastruktur, um die verschiedenen Microservices miteinander zu verkn\u00fcpfen.<\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.47&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243;]<\/p>\n<p>Microservices sind breit einsetzbar und der Hype um das\u00a0Architektur-Konzept ist sicherlich gerechtfertigt. Doch wie fast \u00fcberall ist auch hier nicht alles gold, was gl\u00e4nzt. Microservices haben, wie jeder andere Ansatz auch, durchaus Nachteile und sind nicht immer sinnvoll einsetzbar. Hier ist es wichtig Vor- und Nachteile abzuw\u00e4gen. Die Auswahl der richtigen Software-Architektur bleibt letztendlich eine wesentliche Aufgabe der Software-Architekten.<\/p>\n<p>Entscheiden Sie sich f\u00fcr die Migration in Microservices, bleiben auch hier noch einige grunds\u00e4tzliche Dinge zu beachten. Das Aufbrechen eines bestehenden Monolithen in Microservices ist, aufgrund der Interaktion einzelner Komponenten, oft eine schwierige Angelegenheit und stellt auch erfahrene Fachleute vor gro\u00dfe Herausforderungen. F\u00fcr die Migration in Microservices sollte in jedem Fall ein Fachmann zu Rate gezogen werden. Denn eine gute Systemarchitektur ist die Basis f\u00fcr den Erfolg einer Microservice-Umgebung.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;3.0.98&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243;][et_pb_text _builder_version=&#8220;3.19.3&#8243; text_orientation=&#8220;center&#8220;]<\/p>\n<p>\n<strong>Interessieren Sie sich f\u00fcr die Migration einer monolithischen\u00a0Architektur in Microservices\u00a0und m\u00f6chten mehr \u00fcber das Thema erfahren? Wir beraten Sie vollumf\u00e4nglich und l\u00f6sungsorientiert zu allen Themen rund um Ihre IT-Infrastruktur.<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_button _builder_version=&#8220;3.19.3&#8243; button_text=&#8220;Hier informieren&#8220; button_url=&#8220;https:\/\/www.abilis.de\/services\/&#8220; url_new_window=&#8220;on&#8220; background_layout=&#8220;dark&#8220; custom_button=&#8220;on&#8220; button_alignment=&#8220;center&#8220; button_bg_color=&#8220;#ff9b00&#8243; button_border_width=&#8220;0&#8243; button_text_size__hover_enabled=&#8220;off&#8220; button_text_size__hover=&#8220;null&#8220; button_one_text_size__hover_enabled=&#8220;off&#8220; button_one_text_size__hover=&#8220;null&#8220; button_two_text_size__hover_enabled=&#8220;off&#8220; button_two_text_size__hover=&#8220;null&#8220; button_text_color__hover_enabled=&#8220;off&#8220; button_text_color__hover=&#8220;null&#8220; button_one_text_color__hover_enabled=&#8220;off&#8220; button_one_text_color__hover=&#8220;null&#8220; button_two_text_color__hover_enabled=&#8220;off&#8220; button_two_text_color__hover=&#8220;null&#8220; button_border_width__hover_enabled=&#8220;off&#8220; button_border_width__hover=&#8220;null&#8220; button_one_border_width__hover_enabled=&#8220;off&#8220; button_one_border_width__hover=&#8220;null&#8220; button_two_border_width__hover_enabled=&#8220;off&#8220; button_two_border_width__hover=&#8220;null&#8220; button_border_color__hover_enabled=&#8220;off&#8220; button_border_color__hover=&#8220;null&#8220; button_one_border_color__hover_enabled=&#8220;off&#8220; button_one_border_color__hover=&#8220;null&#8220; button_two_border_color__hover_enabled=&#8220;off&#8220; button_two_border_color__hover=&#8220;null&#8220; button_border_radius__hover_enabled=&#8220;off&#8220; button_border_radius__hover=&#8220;null&#8220; button_one_border_radius__hover_enabled=&#8220;off&#8220; button_one_border_radius__hover=&#8220;null&#8220; button_two_border_radius__hover_enabled=&#8220;off&#8220; button_two_border_radius__hover=&#8220;null&#8220; button_letter_spacing__hover_enabled=&#8220;off&#8220; button_letter_spacing__hover=&#8220;null&#8220; button_one_letter_spacing__hover_enabled=&#8220;off&#8220; button_one_letter_spacing__hover=&#8220;null&#8220; button_two_letter_spacing__hover_enabled=&#8220;off&#8220; button_two_letter_spacing__hover=&#8220;null&#8220; button_bg_color__hover_enabled=&#8220;off&#8220; button_bg_color__hover=&#8220;null&#8220; button_one_bg_color__hover_enabled=&#8220;off&#8220; button_one_bg_color__hover=&#8220;null&#8220; button_two_bg_color__hover_enabled=&#8220;off&#8220; button_two_bg_color__hover=&#8220;null&#8220; \/][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monolithische Architektur-Konzepte sind den Anforderungen der heutigen Zeit kaum noch gewachsen. Um flexibel und schnell reagieren zu k\u00f6nnen, wird eine modulare Software-Architektur ben\u00f6tigt. Viele Unternehmen setzen hier bereits auf Microservices, denn kurze Entwicklungszyklen, Agilit\u00e4t und Unabh\u00e4ngigkeit sprechen f\u00fcr das Architekturmuster.<\/p>\n","protected":false},"author":3,"featured_media":5285,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[3],"tags":[70,76],"_links":{"self":[{"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/posts\/5279"}],"collection":[{"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/comments?post=5279"}],"version-history":[{"count":5,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/posts\/5279\/revisions"}],"predecessor-version":[{"id":5281,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/posts\/5279\/revisions\/5281"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/media\/5285"}],"wp:attachment":[{"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/media?parent=5279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/categories?post=5279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.abilis.de\/blog\/wp-json\/wp\/v2\/tags?post=5279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}