Wechsel von monolithischen Web-Apps zu Microservices

Ein Bild von , News, Wechsel von monolithischen Web-Apps zu Microservices

Jeder, der als Chef arbeitet Technologie Officer (CTO) oder Product Owner einer Webanwendung werden sich nur allzu bewusst sein, welche Herausforderung diese Rollen darstellen können. Sie können mit einer ganzen Reihe technischer Probleme sowie geschäftlichen Anforderungen konfrontiert sein.

Es kann schwierig sein, die gewünschten Änderungen umzusetzen, wenn Sie mit einem wachsenden Rückstand, anspruchsvollen Kunden und überehrgeizigen Roadmaps von Leuten zu tun haben, die sich mit Softwareentwicklung nicht auskennen. 

Aus diesem Grund ist es für CTOs äußerst wünschenswert, den Wert bestehender Anwendungen zu erschließen. Eine der effektivsten Möglichkeiten hierfür ist der Wechsel von der monolithischen Architektur zu Microservices. Es ist keine einfache Aufgabe, aber die Vorteile können enorm sein.

Herausforderungen rund um monolithische Webanwendungen

Eine monolithische Webanwendung wird als einzelne, eigenständige Einheit erstellt, was für ein kleines Entwicklerteam eine großartige Möglichkeit sein kann, eine Anwendung auf den Markt zu bringen. Es umfasst alle Features, Funktionen und Module der Anwendung in einer Codebasis und die gesamte Anwendung wird als eine einzige Einheit entwickelt, getestet und bereitgestellt. Monolithische Webanwendungen zeichnen sich durch enge Kopplung und mangelnde Modularität aus und folgen häufig einem Modell-, Ansichts- und Controller-Muster mit Ebenen für die Handhabung der Benutzeroberfläche, der Geschäftslogik und des Datenzugriffs.

Leider sind Monolithen mit einer Reihe von Herausforderungen verbunden, insbesondere wenn die Anwendung wächst und skaliert:

Teure und ineffiziente Serverskalierung – Wenn Sie Ihren Monolithen skalieren müssen, um mehr Benutzer oder mehr Anfragen zu unterstützen, ist die Antwort normalerweise eine vertikale Skalierung – also die Bereitstellung eines leistungsstärkeren Servers. Dies ist eine teure Art der Skalierung und hat eine Obergrenze. Erschwerend kommt hinzu, dass Sie Ihre Hardware so skalieren müssen, dass sie den Anforderungen des anspruchsvollsten Elements Ihrer Anwendung gerecht wird. Eine horizontale Skalierung ist mit Monolithen möglicherweise nicht möglich, da sie oft zustandsbehaftet sind und Daten im Speicher halten.

Fehler können das gesamte System zum Absturz bringen – Aufgrund der engen Kopplung der verschiedenen Module in einer monolithischen Anwendung kann ein Absturz in einem Teil der Anwendung den gesamten Server zum Absturz bringen.

Bereitstellungen können zu Ausfallzeiten führen – Da jede Änderung an einem Modul oder einer Funktion die Neukonstruktion und Neubereitstellung der gesamten Anwendung erfordert, können Bereitstellungen zu Ausfallzeiten führen und das Testen aller Bereiche der Anwendung erfordern.

Entwicklungsressourcen können schwierig zu verwalten sein – Vielleicht ist eine der größten Herausforderungen bei Monolithen der menschliche Faktor. Änderungen an einer Anwendung erfordern oft Änderungen an allen drei Schichten des MVC-Musters, was bedeutet, dass neue Entwickler alles verstehen müssen, um Änderungen vornehmen zu können. Und es ist fast unmöglich, Entwickler zu finden, die die verschiedenen erforderlichen Fähigkeiten beherrschen.

Das Ergebnis ist, dass Sie entweder die eng gekoppelte Arbeit zwischen spezialisierten Entwicklern koordinieren müssen oder von Ihren Entwicklern erwarten, dass sie in jeder Disziplin hervorragende Leistungen erbringen. Da es von entscheidender Bedeutung ist, dass Ihre Geschäftslogik und Datenzugriffsebenen absolut solide sind, kann dies oft dazu führen, dass ein Team von Ingenieuren gut in Logik und Datenstrukturen ist, sich aber nicht gerne mit den Besonderheiten der Benutzeroberfläche auseinandersetzt. Letztlich ist es oft die Benutzeroberfläche, die darunter leidet – denn hier sehen Ihre Endbenutzer den Wert Ihres Produkts.

Die Rolle von Microservices

Diese Mängel sind der Grund für den Aufstieg von Microservices, einer Softwarearchitektur, die eine Anwendung als Sammlung kleiner, unabhängiger und lose gekoppelter Dienste strukturiert. Jeder Dienst ist für eine bestimmte Geschäftsfunktion verantwortlich und kommuniziert mit anderen Diensten über einfache Protokolle wie HTTP. Microservices sind skalierbar, belastbar und fehlertolerant und können über eine zustandslose REST-API mehrere Frontend-UI-Anwendungen bedienen.

Ein solcher Ansatz bietet viele Vorteile:

Einfachere und kostengünstigere Serverskalierung – Einer der größten Vorteile von Microservices ist ihre Skalierbarkeit. Sie können die horizontale Skalierung gezielt auf die spezifischen Bereiche der Anwendung anwenden, die sie benötigen. Wenn beispielsweise bei einem Chat-Dienst eine hohe Datenverkehrsauslastung auftritt, können Sie einen anderen Server hochfahren, um mehr Anfragen zu verarbeiten und mehr Redundanz hinzuzufügen. Wenn der Datenverkehr nachlässt, können Sie die Hardware skalieren, sodass Sie nur für die Ressourcen bezahlen, die Sie nutzen.

Erhöhte Widerstandsfähigkeit – Microservices sind auf Widerstandsfähigkeit ausgelegt; Da jedes Modul unabhängig ist, wirkt sich der Ausfall eines Moduls nicht auf die gesamte Anwendung aus. Wenn beispielsweise Ihr Chat-Dienst ausfällt, können Ihre Benutzer den Rest Ihrer Anwendung wahrscheinlich weiterhin verwenden. 

Agilere und flexiblere Entwicklung – Microservices ermöglichen eine größere Flexibilität bei Entwicklung und Bereitstellung. Entwickler können unabhängig voneinander an einzelnen Diensten oder UI-Anwendungen arbeiten und so unabhängig arbeiten und ihre Stärken ausspielen.

Technologievielfalt – Monolithische Webanwendungen werden typischerweise mit einem einzigen Technologie-Stack erstellt. Dies kann die Flexibilität und Innovation des Entwicklungsteams einschränken. Im Gegensatz dazu können Microservices einen polyglotten Ansatz verfolgen, der es Entwicklern ermöglicht, das beste Tool für die jeweilige Aufgabe auszuwählen. 

Einfache Wartung – Die Wartung monolithischer Webanwendungen kann schwierig sein, wenn die Codebasis wächst. Im Gegensatz dazu sind Microservices kleiner und besser verwaltbar, was Wartung und Updates einfacher macht und zu weniger technischen Schulden führt.

Den Schalter machen

Der Wechsel zu einer Microservices-Architektur kann transformativ sein, aber die Umgestaltung einer gesamten Anwendung kann wie eine entmutigende Aufgabe erscheinen. Eine gängige Lösung ist das sogenannte Strangler-Muster. Erstellen einer Fassaden-API, die Anfragen an das alte System weiterleitet und jeden Dienst schrittweise ersetzt.

Jeder CTO sollte darüber nachdenken, wie Microservices miteinander kommunizieren. Ein wesentliches Merkmal von Microservices ist, dass sie lose gekoppelt sein sollten. Wenn Sie nicht aufpassen, können Sie Ihre Microservices am Ende so aufbauen, dass sie stark voneinander abhängig sind, was im Grunde zu einem verteilten Monolithen führt. 

Auch die richtigen Leute sind wichtig. Zu den häufigsten Herausforderungen im Zusammenhang mit der Umgestaltung einer Anwendung in Microservices gehören die Weiterqualifizierung bestehender Teammitglieder oder die Suche nach neuen Talenten für die Umsetzung der Änderungen. Daher ist es wichtig, die richtigen Leute einzustellen oder mit Spezialisten zusammenzuarbeiten, um einen reibungslosen Übergang zu gewährleisten.

Der Wandel von monolithischen Webanwendungen hin zu einer Microservice-Architektur wird durch den Bedarf an skalierbareren, flexibleren und belastbareren Anwendungen vorangetrieben, die den Anforderungen moderner Benutzer gerecht werden können. Dieser Wandel wird sich fortsetzen, da Unternehmen versuchen, den größtmöglichen Nutzen aus ihren Webanwendungen zu ziehen.

Ein Bild von , News, Wechsel von monolithischen Web-Apps zu Microservices

Jon Hewines

Jon Hewines ist technischer Direktor bei Product and Service Design Consultancy, Full Clarity, wo er ein Team talentierter UX-Designer, Software-Ingenieure und Produktmanager bei der Entwicklung robuster und intuitiver Webanwendungen leitet. In den letzten 15 Jahren hat Jon digitale Produkte für Kunden entwickelt, die von kleinen Startups bis hin zu globalen Konzernen wie BP und RB reichen.

KI-Ausrichtung: Technische menschliche Sprache lehren

Daniel Langkilde • 05. Februar 2024

Unter verkörperter KI versteht man jedoch Roboter, virtuelle Assistenten oder andere intelligente Systeme, die mit einer physischen Umgebung interagieren und daraus lernen können. Zu diesem Zweck sind sie mit Sensoren ausgestattet, die Daten aus ihrer Umgebung sammeln können. Außerdem verfügen sie über KI-Systeme, die ihnen helfen, die gesammelten Daten zu analysieren und letztendlich zu lernen ...

CARMA gibt Übernahme von mmi Analytics bekannt

Jason Weekes • 01. Februar 2024

CARMA gibt die Übernahme von mmi Analytics bekannt und erweitert damit sein Fachwissen in den Bereichen Schönheit, Mode und Lifestyle. Die kombinierte Organisation wird die Landschaft der Medienintelligenz neu definieren und PR-Experten und Vermarktern beispielloses Fachwissen und umfassende Einblicke in die aufregende Welt der Schönheit, Mode und bieten Lebensstil.

Umgang mit dem Risiko der Exposition privater Inhalte im Jahr 2024

Tim Freistein • 31. Januar 2024

Für Unternehmen wird es immer schwieriger, den Datenschutz und die Einhaltung sensibler Kommunikationsinhalte zu gewährleisten. Cyberkriminelle entwickeln ihre Vorgehensweisen ständig weiter, was es schwieriger denn je macht, böswillige Angriffe zu erkennen, zu stoppen und den Schaden zu begrenzen. Aber was sind die wichtigsten Probleme, auf die IT-Administratoren im Jahr 2024 achten müssen?

Revolutionierung der Bodenkriegsumgebung mit softwaregestützten gepanzerten Fahrzeugen

Wind River • 31. Januar 2024

Gepanzerte Fahrzeuge, die speziell für geschäftskritische Einsätze gebaut werden, sind auf Steuerungssysteme angewiesen, die deterministisches Verhalten bieten, um strenge Echtzeitanforderungen zu erfüllen, extreme Zuverlässigkeit zu bieten und strenge Sicherheitsanforderungen gegen sich entwickelnde Bedrohungen zu erfüllen. Wind River® verfügt über die Partner und das Fachwissen, ein bewährtes Echtzeitbetriebssystem (RTOS), Software-Lifecycle-Management-Techniken und eine umfangreiche Erfolgsbilanz...

Die Notwendigkeit, die Verantwortung für die Umwelt nachzuweisen

Matt Tormollen • 31. Januar 2024

Wir befinden uns derzeit mitten in einer der folgenreichsten Energiewende seit Beginn der Aufzeichnungen. Die zunehmende Verfügbarkeit sauberer Elektronen hat Unternehmen in Großbritannien und darüber hinaus dazu motiviert, umweltfreundlich zu denken. Und das aus gutem Grund. Umweltbewusstes Handeln zieht Kunden an, beruhigt die Regulierungsbehörden, bindet Mitarbeiter und kann sogar Zuwendungen von der Regierung einbringen. Der...

Förderung von Innovationen im Aftermarket

Jim Monaghan • 31. Januar 2024

Ein Teil des Kfz-Handels profitiert von der Lebenshaltungskostenkrise: Da die Verbraucher ihre Autos länger behalten, sind unabhängige Werkstätten sehr gefragt. Aber sie stehen auch unter Druck. Ältere Autos müssen häufiger repariert werden. Sie benötigen mehr Ersatzteile, Reifen und Flüssigkeiten. Da Autobesitzer auf der Suche nach einem guten Preis-Leistungs-Verhältnis und einer schnellen Abwicklung sind, sind Unabhängige...

23andMe regt zum Umdenken beim Schutz von Daten an

Markus Grindey • 31. Januar 2024

Kürzlich machte 23andMe, der beliebte DNA-Testdienst, ein überraschendes Eingeständnis: Hacker hatten sich unbefugten Zugriff auf die persönlichen Daten von 6.9 Millionen Benutzern verschafft, insbesondere auf die Daten ihrer „DNA-Verwandten“.

Die Rückkehr der fünftägigen Bürowoche

Virgin Media • 25. Januar 2024

Virgin Media O2 Business hat heute seinen ersten Annual Movers Index veröffentlicht, aus dem hervorgeht, dass vier von zehn Unternehmen trotz weit verbreiteter Reiseverzögerungen und Störungen wieder Vollzeit im Büro sind. 2023 wird sich die Krise der Lebenshaltungskosten, des Second-Hand-Shoppings und der Nutzung öffentlicher Verkehrsmittel verfestigen stieg sprunghaft an, da die Briten versuchten, Geld zu sparen. Mithilfe aggregierter und anonymisierter britischer...