{"id":9572,"date":"2020-09-30T17:29:02","date_gmt":"2020-09-30T17:29:02","guid":{"rendered":"https:\/\/smartshift.com\/?p=9572"},"modified":"2023-04-18T17:50:52","modified_gmt":"2023-04-18T17:50:52","slug":"important-reasons-for-transforming-a-monolith-to-microservices","status":"publish","type":"post","link":"https:\/\/smartshift.imagemakersdev.com\/de\/wichtige-grunde-fur-die-umwandlung-eines-monolithen-in-mikrodienste\/","title":{"rendered":"Wichtige Gr\u00fcnde f\u00fcr die Umwandlung eines Monolithen in Microservices"},"content":{"rendered":"<p><a href=\"https:\/\/smartShift.com\/wp-content\/uploads\/2020\/09\/Blog_Microservices.png\" target=\"_blank\" rel=\"noopener\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-9616\" src=\"https:\/\/smartShift.com\/wp-content\/uploads\/2020\/09\/Blog_Microservices.png\" alt=\"Microservices\" width=\"1200\" height=\"392\" srcset=\"https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/Blog_Microservices.png 1200w, https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/Blog_Microservices-300x98.png 300w, https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/Blog_Microservices-1024x335.png 1024w, https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/Blog_Microservices-768x251.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<p><strong style=\"font-weight: bold;\">Von Stefan Hetges, Gr\u00fcnder und Vorsitzender<\/strong><\/p>\n<p>Verwenden Sie bereits eine Microservices-Architektur (MSA)? Wahrscheinlich schon, aber Sie wissen es nicht einmal!<\/p>\n<p>Bei einer Google-Suche werden beispielsweise durchschnittlich etwa 70 Microservices generiert, wenn Sie auf die Schaltfl\u00e4chen \"Google Search\" oder \"I'm Feeling Lucky\" klicken. Es ist also keine \u00dcberraschung, dass heute etwa 50% der Unternehmen behaupten, Microservices auf die eine oder andere Weise zu nutzen.<\/p>\n<p>In diesem Blogbeitrag erkl\u00e4re ich, warum MSA interessant ist und wie Sie es am besten in Verbindung mit Ihren bestehenden Legacy-Systemen einsetzen k\u00f6nnen. Mit dem richtigen Ansatz und den richtigen Werkzeugen ist es risikolos, kritische Prozesse aus dem Monolithen zu befreien und sie als unabh\u00e4ngig bereitstellbare Microservices zu liefern. Eine MSA bietet viele Vorteile, nicht nur f\u00fcr den Entwicklungsprozess, sondern auch f\u00fcr Benutzer und Stakeholder.<\/p>\n<p style=\"font-weight: 500; font-size: 28px; line-height: 48px;\">Microservices-Architektur ist nicht nur eine Technologieentscheidung<\/p>\n<p>Bei der Entscheidung f\u00fcr den Einsatz von Microservices geht es nicht nur um den Einsatz einer neuen Technologie. Um die Vorteile voll aussch\u00f6pfen zu k\u00f6nnen, m\u00fcssen Sie sich auch die Entwicklungskultur von DevOps zu eigen machen. Sie m\u00fcssen Kompromisse und erh\u00f6hte Komplexit\u00e4t in Betracht ziehen (es gibt kein kostenloses Mittagessen). Jeder Microservice wird als unabh\u00e4ngiger Dienst implementiert und von einem kleinen Team entwickelt, das ihn unabh\u00e4ngig von allen anderen \u00c4nderungen im System bereitstellt. Kleinere autonome Serviceteams schlie\u00dfen ihre Entwicklung ab und treffen Entscheidungen \u00fcber die Bereitstellung schneller als andere Organisationen.<\/p>\n<p>Die gute Nachricht ist, dass sich die Entwicklungskultur nicht \u00fcber Nacht \u00e4ndern muss. In dem Ma\u00dfe, in dem Sie Gesch\u00e4ftsfunktionen aus einem monolithischen System herausl\u00f6sen, definieren Sie parallel dazu den organisatorischen Entwicklungsrahmen.<\/p>\n<p style=\"font-weight: 500; font-size: 28px; line-height: 48px;\">Verstehen Sie Ihre Software-Assets<\/p>\n<p>Das Verst\u00e4ndnis der Software-Assets in einem Altsystem dauert bei herk\u00f6mmlichen manuellen Ans\u00e4tzen mehrere Monate oder sogar Jahre. Es ist Verschwendung, die wichtigsten Ressourcen Ihres Unternehmens mit der Aufgabe zu belasten, die Vergangenheit zu verstehen. Intelligent Automation kann Ihnen Zeit sparen, die Effizienz steigern und die Qualit\u00e4t verbessern.<\/p>\n<p>Die erfolgreiche Planung der MSA-Transformation eines bestehenden Monolithen erfordert ein Verst\u00e4ndnis sowohl der Gesch\u00e4ftsprozesse als auch ihrer Semantik. Wie sehen die Abh\u00e4ngigkeiten zu bestehenden Gesch\u00e4ftsprozessen aus? Die H\u00e4ufigkeit der Aufrufe? Die Nutzung von Gesch\u00e4ftsfunktionen? Wo liegen Leistungsprobleme? Was verursacht Systemausf\u00e4lle? Welches sind die Datenquellen und Schnittstellen?<\/p>\n<p>Die effiziente Entwicklung dieses detaillierten Verst\u00e4ndnisses ist ein Vorteil von Intelligent Automation von smartShift. Durch den Einsatz von Algorithmen und maschinellen Lernverfahren wird diese normalerweise zeitaufw\u00e4ndige Arbeit drastisch reduziert.<\/p>\n<p style=\"font-weight: 500; font-size: 28px; line-height: 48px;\">Auswahl von Software-Assets, die zu Microservices werden sollen<\/p>\n<p>Die folgenden sieben Kriterien k\u00f6nnen Ihnen helfen, Priorit\u00e4ten zu setzen, welche Software-Assets Sie aus dem Monolithen herausl\u00f6sen sollten. Wenn eines dieser Kriterien auf ein bestimmtes Software-Asset zutrifft, werden Sie wahrscheinlich davon profitieren, die Gesch\u00e4ftsfunktionalit\u00e4t k\u00fcnftig in einer MSA zu betreiben.<\/p>\n<p><strong style=\"font-weight: bold;\">Eine hohe Ver\u00e4nderungsrate<br \/>\n<\/strong>Einige Ihrer Gesch\u00e4ftsprozesse \u00e4ndern sich h\u00e4ufig. Sie entwickeln sich mit unterschiedlicher Geschwindigkeit oder sogar in eine v\u00f6llig andere Richtung. Unsere Erfahrung zeigt, dass etwa 10%-30% der Altsysteme sehr h\u00e4ufig an die Gesch\u00e4ftsanforderungen angepasst werden m\u00fcssen, der Rest in geringerem Umfang. Relevante Prozesse sollten herausgearbeitet werden, um die Wettbewerbsf\u00e4higkeit und die Anpassungsf\u00e4higkeit an die Marktanforderungen zu erh\u00f6hen.<\/p>\n<p><strong style=\"font-weight: bold;\">Unabh\u00e4ngige Lebenszyklen<\/strong><br \/>\nSoftware\u00e4nderungen - und die damit verbundenen \u00c4nderungen der Gesch\u00e4ftsprozesse - werden in der Regel nach einem festen Zeitplan umgesetzt. Feste Release-Pl\u00e4ne bedeuten, dass Innovationen nicht agil sind und die Chance auf einen Marktvorteil geschm\u00e4lert wird. Oftmals schaffen Innovationen entweder nie den Sprung in die Produktion oder werden nicht so schnell eingesetzt, wie es die Gesch\u00e4ftswelt ben\u00f6tigt. Die Trennung kritischer Dienste vom Kernsystem erm\u00f6glicht es Ihnen, schnell zu iterieren und neue Gesch\u00e4ftsm\u00f6glichkeiten zu nutzen. Die F\u00e4higkeit zur kontinuierlichen Umsetzung und Anwendung von Innovationen erm\u00f6glicht es Ihnen, Ihre f\u00fchrende Rolle auf Ihrem Markt zu erlangen bzw. zu halten und sie noch zu verbessern.<\/p>\n<p><strong style=\"font-weight: bold;\">Unabh\u00e4ngige Skalierbarkeit<\/strong><br \/>\nEinige Gesch\u00e4ftsprozesse sind zu bestimmten Zeiten stark ausgelastet (z. B. zum Ende eines Gesch\u00e4ftsjahres) und m\u00fcssen unabh\u00e4ngig vom Rest der Anwendung skaliert werden. Saisonabh\u00e4ngigkeit, Zeitabh\u00e4ngigkeit oder auch Bedarfsspitzen (z. B. Sensoren, die gro\u00dfe Datenmengen zur Verarbeitung erzeugen) sind Beispiele f\u00fcr dieses Ph\u00e4nomen. Autonome Microservices skalieren unabh\u00e4ngig, wenn die Last steigt, und die MSA startet mehrere Service-Instanzen. Wenn Sie die Module im monolithischen Framework belassen, haben Sie keine andere Wahl, als die gesamte Anwendung zu skalieren, was bedeutet, dass Ihre Lizenz- und Hardwarekosten f\u00fcr das Worst-Case-Szenario dimensioniert werden m\u00fcssen.<\/p>\n<p><strong style=\"font-weight: bold;\">Isolierung des Scheiterns<\/strong><br \/>\nIhre Anwendung hat eine externe Schnittstelle, die einen unzuverl\u00e4ssigen Dienst aufruft. Ihr System reagiert mit einem Ausfall, z. B. wenn einige Daten nicht vollst\u00e4ndig sind oder wenn die Betriebszeit des Systems nicht Ihren Anforderungen entspricht. Sie k\u00f6nnen diese Abh\u00e4ngigkeit vom Rest des Systems isolieren und einen Failover-Mechanismus aufbauen, um die Daten konsistent zu halten, oder sogar Daten zwischenspeichern, wenn der Dienst nicht verf\u00fcgbar ist. Die Microservices-Architektur mildert Leistungseinbu\u00dfen aufgrund unzuverl\u00e4ssiger Abh\u00e4ngigkeiten von Dritten. Sie m\u00fcssen sich nicht auf Warteschlangenmechanismen verlassen, die Ihr System verlangsamen.<\/p>\n<p><strong style=\"font-weight: bold;\">Schnelle Testzyklen<\/strong><br \/>\nDies ist die beste Nachricht f\u00fcr Unternehmen, in denen lange Testzyklen die Innovation hemmen. Ein kleiner, autonomer Microservice wird nicht nur viel schneller getestet, sondern Sie werden auch erstaunt sein, wie viel Automatisierung bei der Bereitstellung und den Tests m\u00f6glich ist. Der unmittelbare Vorteil ist, dass Unit-, Integrations- und Regressionstests mehrmals am Tag durchgef\u00fchrt werden k\u00f6nnen. Microservices werden in verschiedenen Repositories verwaltet, was sie einfach h\u00e4lt und das Testen erleichtert. Statt Heerscharen von Gesch\u00e4ftsanwendern zum Testen heranzuziehen, ben\u00f6tigen Sie nur wenige Ressourcen. Mit einem feink\u00f6rnigen MSA-Ansatz werden Probleme isoliert und k\u00f6nnen daher leicht identifiziert, behoben und getestet werden.<\/p>\n<p><strong style=\"font-weight: bold;\">Vereinfachung der Interaktion<\/strong><br \/>\nIn einer Welt mit stark vernetzten Verbrauchern und Diensten m\u00f6chten Sie die Flexibilit\u00e4t haben, einen Dienstanbieter gegen einen anderen auszutauschen oder weitere Anbieter hinzuzuf\u00fcgen, um sicherzustellen, dass Sie nie unterversorgt sind. Mit einer Abstraktionsschicht k\u00f6nnen Sie Ihr System vor externen Abh\u00e4ngigkeiten sch\u00fctzen, die sich h\u00e4ufig \u00e4ndern. Eine technische Schicht verbirgt die Komplexit\u00e4t der Abh\u00e4ngigkeiten und erleichtert so die Migration in der Zukunft.<\/p>\n<p><strong style=\"font-weight: bold;\">Wahl der Technologie<\/strong><br \/>\nIn einem Monolithen haben Sie nur begrenzte M\u00f6glichkeiten, das Technologiepaket zu \u00e4ndern. Der Technologiestapel und das Tempo der Technologie\u00fcbernahme werden vom Lieferanten\/Hersteller diktiert. Noch schwieriger wird es, wenn Ihr System alt ist und das urspr\u00fcngliche Team, das es entwickelt hat, schon lange nicht mehr da ist.<\/p>\n<p>Ein MSA strukturiert eine Anwendung als eine Sammlung von lose gekoppelten Diensten. Bei dem Projekt handelt es sich nicht um eine einzige Anwendung, sondern um eine Reihe von unabh\u00e4ngig voneinander einsetzbaren kleinen Diensten, die jeweils in einer eigenen Sprache implementiert sind. Um beispielsweise gro\u00dfe Datenmengen zu verarbeiten, w\u00e4hlen die Ingenieure Python. Ruby ist die richtige Wahl f\u00fcr eine ansprechende grafische Auswertung, und ein gro\u00dfer und stabiler Teil der Anwendung verwendet Java. Die Wahl der Technologie gilt auch f\u00fcr Datenbanken. Nutzen Sie die elastische Suche f\u00fcr Big-Data-Analysen, oder teilen Sie Ihre Unternehmensdaten in hochverf\u00fcgbare Daten in (z. B.) SAP HANA auf und speichern Sie kalte Daten in Hadoop, um Kosten zu sparen und dennoch verf\u00fcgbar zu sein. Sie m\u00fcssen sich nicht f\u00fcr eine Technologie f\u00fcr ein ganzes Projekt entscheiden, sondern f\u00fcr eine bestimmte Aufgabe, die Ihren Anforderungen am besten entspricht.<\/p>\n<p><a href=\"https:\/\/smartShift.com\/wp-content\/uploads\/2020\/09\/7Criteria.png\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"wp-image-9579 aligncenter\" src=\"https:\/\/smartShift.com\/wp-content\/uploads\/2020\/09\/7Criteria-868x1024.png\" alt=\"\" width=\"645\" height=\"761\" srcset=\"https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/7Criteria-868x1024.png 868w, https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/7Criteria-254x300.png 254w, https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/7Criteria-768x906.png 768w, https:\/\/smartshift.imagemakersdev.com\/wp-content\/uploads\/2020\/09\/7Criteria.png 1199w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/a><\/p>\n<p style=\"font-weight: 500; font-size: 28px; line-height: 48px;\">Was kommt als N\u00e4chstes?<\/p>\n<p>Die MSA-Kandidaten m\u00fcssen aus ihrer monolithischen Legacy-Eingrenzung befreit werden. smartShift Continuous Intelligent Automation wird eingesetzt, um die Kandidatenfunktionalit\u00e4t herauszuschneiden und die Komponenten zu generieren, die f\u00fcr den Betrieb der Gesch\u00e4ftsprozesse als Service auf einer neuen Plattform erforderlich sind. Die Gesch\u00e4ftsfunktionalit\u00e4t wird schrittweise in etwas Besseres, Billigeres, Schnelleres und einfacher zu Pflegendes umgewandelt. Im Monolithen k\u00f6nnen die \"toten\" Teile in den Ruhestand versetzt und entfernt werden. Wenn Sie w\u00e4hrend des Liberalisierungsprozesses neue Funktionen einbeziehen, k\u00f6nnen Sie die Umwandlung f\u00fcr die Gesch\u00e4ftsinteressenten attraktiver gestalten und deren Unterst\u00fctzung f\u00fcr Ihre MSA-Implementierungsbem\u00fchungen sichern helfen.<\/p>\n<p>M\u00f6chten Sie mehr dar\u00fcber erfahren, wie Sie Ihren Monolithen in Microservices verwandeln k\u00f6nnen? <a href=\"https:\/\/smartShift.com\/contact\/\" target=\"_blank\" rel=\"noopener\">Vereinbaren Sie noch heute ein kostenloses Beratungsgespr\u00e4ch mit einem Experten von smartShift<\/a>!<\/p>","protected":false},"excerpt":{"rendered":"<p>Von Stefan Hetges, Gr\u00fcnder und Vorsitzender Verwenden Sie bereits eine Microservices-Architektur (MSA)? Wahrscheinlich schon, aber Sie wissen es nicht einmal! Eine Google-Suche generiert zum Beispiel durchschnittlich etwa 70 Microservices, wenn Sie auf die Schaltfl\u00e4chen \"Google Search\" oder \"I'm Feeling Lucky\" klicken. Es ist also nicht verwunderlich, dass heute etwa 50% der [...]<\/p>","protected":false},"author":3,"featured_media":9575,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","rank_math_lock_modified_date":false,"footnotes":""},"categories":[32],"tags":[47],"class_list":["post-9572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-post"],"acf":[],"_links":{"self":[{"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/posts\/9572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/comments?post=9572"}],"version-history":[{"count":3,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/posts\/9572\/revisions"}],"predecessor-version":[{"id":24110,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/posts\/9572\/revisions\/24110"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/media\/9575"}],"wp:attachment":[{"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/media?parent=9572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/categories?post=9572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartshift.imagemakersdev.com\/de\/wp-json\/wp\/v2\/tags?post=9572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}