Microservices in der Cloud mit nativen Tools verwalten

Native Ressourcen und Tools von Microsoft, AWS und Google helfen bei Microservice-Architekturen. Die meisten basieren auf Containern und Service Mesh.

Immer mehr Unternehmen verlagern ihre Microservices in die Cloud. Für Support und Verwaltung nutzen sie die nativen Ressourcen ihres IaaS-Anbieters.

Auf Microservices basierende Anwendungen bestehen aus modularen und skalierbaren Komponenten, die über standardisierte Protokolle und Schnittstellen miteinander kommunizieren. Einer der größten Vorteile von Microservices ist das Herunterbrechen komplexer Anwendungen in kleine Teile, die der Anwendung insgesamt eine einfachere Handhabung in Bezug auf Entwicklung, Bereitstellung und Skalierbarkeit bieten.

Public-Cloud-Anbieter wie AWS, Microsoft oder Google bieten ihre individuellen nativen Tools und Dienste an, um Ihnen beim Anlegen und Verwalten von Anwendungen auf Basis von Microservices zu helfen. In diesem Artikel erhalten Sie einen Überblick, was die drei genannten Firmen hierzu im Angebot haben.

AWS

Entwickler und deren Teams können für die Entwicklung von Microservices das Produkt AWS Lambda einsetzen. AWS Lambda unterstützt Java, Node.js, C# und Python. AWS Lambda ermöglicht Entwicklern das Laufen lassen von Code in einer serverlosen Umgebung, ohne hierfür die zugrundeliegende Infrastruktur provisionieren oder verwalten zu müssen. Bezahlt wird bei diesem Modell nur für die Zeit, in der Code auch tatsächlich läuft.

Ein weiteres nützliches Tool für die AWS ist CloudWatch, ein ein Überwachungsdienst für Cloud-Anwendungen. Da auf Microservices basierende Architekturen aus einer Vielzahl unterschiedlicher Komponenten bestehen, benötigen sie ein Überwachungssystem mit einer Granularität, die sowohl die einzelnen Dienste wie auch das Gesamtbild der Anwendung so wiedergibt, dass auch grundsätzliche Informationen über den Zustand der Anwendung und ihrer einzelnen Ressourcen ablesbar werden. Diesen Ansprüchen genügt CloudWatch. Entwickler können individuelle Metriken definieren, die dann für die einzelnen Komponenten einer auf Microservices basierenden Anwendung erfasst werden. Auch eine dynamische Skalierung kann auf Basis dieser individuellen Metriken implementiert werden.

Auch der Amazon Elastic Container Service for Kubernetes (Amazon EKS) verdient einen genaueren Blick. Es handelt sich dabei um eine Umgebung für die Unterstützung von auf Microservices basierenden Anwendungen. Ein Beispiel hierfür ist die Open Source Service-Mesh-Technologie Istio. Konzerne können Istio auf einem EKS-Cluster bereitstellen, um Microservices und den Datenaustausch zwischen diesen zu verwalten.

Microsoft

Microsoft bietet mit seiner Azure Service Fabric eine Plattform an, die das Bereitstellen und Verwalten von Microservices innerhalb von Containern ermöglicht. Konzerne können damit Service Fabric Cluster im eigenen Rechenzentrum, in der Azure Cloud oder sogar auf anderen Cloud-Plattformen erzeugen. Service Fabric eignet sich besonders für verteilte Microservices-basierende Anwendungen, die – mit oder ohne Zustandsbehaftung – auf Zuruf skaliert werden können. Enthalten sind darüber hinaus auch Tools für die Lebenszyklusverwaltung und -überwachung.

Eine gesonderte Version von Service Fabric, genannt Service Fabric Mesh, bietet Microsoft als verwalteten Dienst an. In Bezug auf das Hosten und Skalieren von Anwendungen auf Basis von Microservices und Containern steht Service Fabric Mesh der ursprünglichen Version als Plattform in nichts nach. Zusätzlich aber ist sie verwaltet und serverlos. Das bedeutet, dass die Betriebsabteilung Ihrer IT und Ihre Entwickler sich bei der Nutzung der Plattform keine Gedanken mehr über Themen wie Cluster-Verwaltung oder Patching machen müssen.

Als dieser Artikel geschrieben wurde, war Service Fabric Mesh noch im Stadium einer öffentlichen Beta-Version und nur in den Azure-Regionen Osten und Westen der USA sowie Westeuropa verfügbar. In den Folgemonaten wird sich die Verfügbarkeit jedoch laut Microsoft auch auf weitere Regionen ausdehnen.

Google

Oben fand es schon Anklang: Mit Kubernetes und Istio gibt es zwei Technologien, die Konzerne beim Erzeugen und Verwalten von Microservices unterstützen. Google unterstützt nicht nur beide dieser Technologien, sondern hat Kubernetes tatsächlich erschaffen und auch bei Istio die eine oder andere Hand mit in der Entwicklung.

Konzerne können, ganz wie im vorherigen Beispiel mit Amazon EKS, Istio auf Basis von Googles Dienst Kubernetes installieren (die Google Kubernetes Engine), um die Verbindungen zwischen einzelnen Microservices abzusichern.

Unlängst hat Google auch seinen Dienst Apigee API Management in Istio integriert. Dieser Schritt diente dem Zweck, für Microservices native API-Verwaltungsfunktionen nutzen zu können. Entwickler können die integrierten Features zur Bereitstellung von Microservices als APIs nutzen und diese API-Funktionalität dann gesichert auch anderen Entwicklern zur Verfügung stellen.

Darüber hinaus bietet Google Konzernen auch Support für Istio an, der professionelle Unterstützungsleistungen von Googles Cloud-Mitarbeitern umfasst.

Nächste Schritte

Die Vorteile von Microservices für Administratoren

Drei API-Designprinzipien für Microservices

Monitoring Tools für Docker und Kubernetes

Erfahren Sie mehr über Cloud Computing

ComputerWeekly.de
Close