
Report zu cloudnativer Entwicklung
Der Report zum Thema cloudnative Entwicklung gibt einen detaillierten Überblick darüber, wie Unternehmen cloudnative Applikationen entwickeln und wie Low-Code-Plattformen wie OutSystems dabei helfen können.
Service Mesh bezeichnet eine in eine App integrierte Infrastrukturschicht, die verwaltet, wie Teile der Applikation Daten gemeinsam nutzen.
Eine Service-Mesh-Architektur erstellt einen Proxy, der Dienste koppelt und Funktionen, Datenverkehr und Aufgaben innerhalb von Clouds und über ein gesamtes Cloud-Ökosystem verwaltet, einschließlich Cloud-Containern und Kubernetes-Pods.
Die praktischen Vorteile einer Service-Mesh-Architektur drehen sich um einige Schlüsselbereiche – meist sind dies Visibilität, Beobachtbarkeit, Rückverfolgbarkeit und Sicherheit. Diese Faktoren tragen zur Optimierung der Kommunikation und der Gesamtleistung der Kommunikationsschicht bei, einschließlich Bereichen wie Lastausgleich und Sicherheit. Durch die Bereitstellung dieser Funktionalität auf der Plattformschicht statt auf der Applikationsschicht kann ein Unternehmen Applikationen und Dienste direkt mit einer dedizierten Infrastrukturschicht verbinden.
Die Vorteile eines Service Mesh wachsen in dem Maße, in dem Unternehmen sich in Richtung cloudnativer Applikationen und stärker modularer Cloud-First-Frameworks bewegen. Die Koordinierung von Netzdiensten und die Integration kritischer Funktionen werden zu einem entscheidenden Faktor. Eine Service-Mesh-Architektur leitet den Datenverkehr weiter und sorgt dafür, dass unzählige Ereignisse zur richtigen Zeit und auf die richtige Weise stattfinden. Außerdem macht es die oft komplexen Prozesse für Entwickler und IT-Teams überschaubarer.
Erfahren Sie, wie Cloud-Native Applikationen verändert.
Zum ReportIm Gegensatz zu einer Web-Services-Architektur stützt sich ein Service Mesh nicht auf APIs, um Komponenten zu verbinden. Es werden auch keine neuen Funktionen in eine Laufzeitumgebung eingeführt. Stattdessen trennt diese Form der verteilten Middleware die gesamte Kommunikation von der Applikationslogik und verwaltet eine Cloud-Umgebung über eine Steuerungsebene zusammen mit einem Sidecar – einem Proxy innerhalb der Infrastrukturschicht.
Ein Sidecar-Proxy ist ein Applikationsdesign-Tool, das kritische Funktionen in Cloud-Umgebungen abstrahiert. Anstatt in jedem Dienst unabhängig zu arbeiten, laufen Sidecars parallel zu verschiedenen Diensten. Je nach Zweck des Service Mesh und der spezifischen Umgebung, in der ein Sidecar eingesetzt wird, kann dies Überwachungsfunktionen, Kommunikationsfunktionen, die Umsetzung von Richtlinien sowie Sicherheitsfunktionen umfassen.
Wie ein an ein Motorrad angebauter Beiwagen dient ein Service-Mesh-Sidecar dazu, Funktionen zu erweitern oder zu verbessern. Ein Sidecar wird an den gewünschten Applikations-Container, die virtuelle Maschine oder den Kubernetes-Pod „angehängt“ und passt jede Instanz so an, dass sie mit dem gewünschten Dienst funktioniert.
Wenn der Netzverkehr durch das Sidecar fließt, unterliegt er den Regeln und Bedingungen, die in das Service Mesh eingebaut sind.
Da Sidecars mit Cloud-Komponenten verbunden sind, können sie jede Aufgabe und jeden Prozess abstrahieren. Das bedeutet, dass ein Unternehmen verschiedene Sidecars für unterschiedliche Aufgaben verwenden kann – ohne Änderungen an der zugrunde liegenden Applikation oder dem Dienst vorzunehmen.
Sidecars befinden sich innerhalb einer Datenebene. Dies ist das Segment des Netzwerks, das den Benutzerverkehr überträgt. Eine Datenebene überträgt Daten und Konversationen zwischen Clients über Protokolle. Verschiedene Anbieter und Open-Source-Communitys bieten verschiedene Service-Mesh-Tools an, die für verschiedene spezifische Aufgaben konzipiert sind. Die meisten Lösungen stützen sich auf ein Bedienfeld mit einer grafischen Benutzeroberfläche zur Verwaltung der Umgebung.
Letztlich führt die Flexibilität und Skalierbarkeit einer Service-Mesh-Architektur zu einem weitaus robusteren Framework für das Handling komplexer cloudbezogener Aufgaben und Prozesse.
Mit dem Hinzufügen von Containern und Diensten steigt die Komplexität und der Aufwand für die Verwaltung eines Frameworks nimmt zu. Dies kann Auswirkungen auf alle Bereiche haben, von der Applikationsperformance über Sicherheits-Frameworks bis zu DevOps-Teams. Innerhalb einer typischen Microservices-Architektur kann die Diagnose und Behebung von Problemen außerordentlich schwierig sein.
Wenn ein Unternehmen hingegen Komponenten hinzufügt oder entfernt, kann ein Service Mesh die Kontrolle über die Umgebung beibehalten, da es außerhalb eines bestimmten Containers läuft. Einfach ausgedrückt, fügt es Elemente und Funktionen zur Microservices-Architektur hinzu. Das Service Mesh erfasst jede Aktion, Reaktion und Interaktion zwischen allen Diensten und Containern. Dadurch ist es möglich, granulare Details und Metriken zur Kommunikation innerhalb von Clouds anzuzeigen.
Ein Service Mesh kann viele Funktionen in Bezug auf die Zuverlässigkeit, Beobachtbarkeit und Sicherheit ausführen. Es handelt sich um ein hochflexibles Framework, das sich an verschiedene Anforderungen eines Unternehmens anpassen kann, wie etwa:
Ein Service Mesh bietet den größten Nutzen, wenn ein Unternehmen groß angelegte Applikationen einsetzt, die auf Multi-Cloud-Frameworks mit zahlreichen Microservices basieren. Besonders nützlich ist es für DevOps-Teams, die eine Pipeline für Continuous Integration und Continuous Deployment (CI/CD) im Einsatz haben. Da Unternehmen bestrebt sind, die Entwicklung zu beschleunigen und zu verbessern, um Kunden und Mitarbeitern das bestmögliche Erlebnis zu bieten, müssen sie Prozesse automatisieren.
Mit einem Service Mesh kann ein Unternehmen seine Entwickler entlasten, sodass sie sich auf wertsteigernde Aktivitäten konzentrieren können, wie etwa das Hinzufügen neuer Funktionen zu Websites, Apps, Software oder Diensten. In einigen Fällen kann es neben KI-Funktionen auch Low-Code- oder No-Code-Funktionen zur Verfügung stellen. In der Regel verringern Unternehmen Ausfallzeiten und verbessern die Leistung, wenn Dienste und Apps in der Cloud ausgeführt werden.
Darüber hinaus ist es möglich, verschiedene IT-Probleme schneller zu identifizieren und zu diagnostizieren sowie ein automatisiertes, resilientes und sicheres Cloud-Framework aufzubauen. Dazu gehört auch die Verwendung eines Sicherungsautomaten (Circuit Breakers) innerhalb eines Service Mesh. Dieser schützt Microservices, wenn bestimmte Bedingungen eintreten – z. B. wenn HTTP-Anfragen einen bestimmten unerwünschten Schwellenwert überschreiten.
Wie bei den meisten Technologien gibt es auch bei der Verwendung einer Service-Mesh-Architektur sowohl Vorteile als auch Herausforderungen. So kann eine Service-Mesh-Architektur die Cloud-Verwaltung, DevOps und Sicherheit vereinfachen und verbessern, erfordert auf der anderen Seite aber auch neue Kenntnisse und Fähigkeiten. Darüber hinaus bringt sie grundlegende Veränderungen mit sich, die neue Prozesse und Workflows verlangen. Nicht weniger wichtig ist die Tatsache, dass eine Service-Mesh-Architektur Probleme der Netzverwaltung nicht eliminiert. Stattdessen abstrahiert und zentralisiert sie die Komplexität.
Die Einführung von Service Meshes nimmt rasch zu. Eine von der Cloud Native Computing Foundation (CNCF) durchgeführte Umfrage aus dem Jahr 2020 ergibt, dass 27% der Befragten ein Service Mesh in der Produktion einsetzen. Das entspricht einem Anstieg von 50% gegenüber dem Vorjahr. Eine Service-Mesh-Architektur ist zwar kein Patentrezept für alle Herausforderungen von Cloud-Netzwerken in Unternehmen. Doch im Zuge der Einführung von cloudnativen und Cloud-First-Frameworks gewinnt sie zunehmend an Wert.
Erfahren Sie, wie die Low-Code-Entwicklungsplattform von OutSystems Ihre Cloud- und Cloud-Native-Journey unterstützen kann und besuchen Sie unseren Cloud Native Development Guide.