Erste Schritte mit Microservices

Microservices sind ein Architekturansatz zur Entwicklung moderner Software. Jede Kernfunktion oder jeder Service stellt einen zugehörigen Geschäftskontext dar, der unabhängig erstellt und bereitgestellt wird. Microservices bieten Agilität bei der Anwendungsentwicklung und -verwaltung und stellen einen Kontrast zu dem monolithischen Ansatz bei der Entwicklung von Legacy-Software dar. Die Moderniserung von Anwendungen ist heute geradezu ein Synonym für Microservices.

Wenn Sie mehr über Microservices erfahren, werden Sie den Kontrast zu monolithischen Architekturen, Überlegungen zur Einführung der Microservices-Architektur, Kommunikationsmechanismen, die 12-Faktor-Deployment-Methodik, Bereitstellung in Kubernetes, Datenpersistenz, Service Mesh und Best Practices für das Design von Microservices sehen.

Vorteile von Microservices

  • Vereinfachte Bereitstellung

    Beschleunigen Sie die Time-to-Market für neue Funktionen, indem Sie kontinuierliche Integration und Bereitstellung bieten, die Blaue/Grüne Bereitstellungsmodelle für Services unterstützten.

  • Performance nach Bedarf skalieren

    Skalieren Sie Servicecontainer oder Datenplattformen unabhängig pro Service, um die Anforderungen dieser Funktionen zu erfüllen.

  • Standardmäßig hochverfügbar

    Ersetzen oder Deaktivieren Sie unabhängige Services, ohne die gesamte Anwendung zu beeinträchtigen. Einzelne Servicefehler werden so ordnungsgemäß durch Herabstufung des Dienstes gemeistert, anstatt die gesamte Anwendung zu unterbrechen

Erfahren Sie, wie Sie einen Microservice auf Oracle Cloud Infrastructure (OCI) erstellen.

Vorteile der Oracle Converged Database

Ein wichtiger Aspekt bei datengesteuerten Microservices ist die Bereitstellung der Datenmanagementplattform zum Deployment einer Vielzahl von Datentypen, zur Unterstützung mehrerer Datenbanken in einem Container und zur Bereitstellung autonomer Verwaltungsfunktionen. Oracle Autonomous Database auf OCI ermöglicht ein einfaches Deployment zur Erstellung intelligenter, datengesteuerter Microservices.

Erreichen Sie Transaktionskonsistenz über Microservices-basierte Anwendungen hinweg

Oracle Transaction Manager for Microservices (MicroTx) vereinfacht die Anwendungsentwicklung und -ausführung durch das Ermöglichen verteilter Transaktionen, um Konsistenz über mehrsprachige Microservices sicherzustellen, die in Kubernetes und/oder anderen Umgebungen bereitgestellt werden.

Vollständige und offene Plattform für Microservices

Für die Anwendungsmodernisierung müssen mehrere Technologien integriert werden, um die richtige Grundlage für Multi-Cloud-Microservices zu erstellen. Mit Oracle LiveLabs erhalten Sie Zugang zu den Tools und Technologien von Oracle, um eine Vielzahl von Übungen und Workshops auszuführen. Diese Workshops zeigen, wie Sie ergänzend zu Oracle offene Technologien einsetzen, um einfachere Architekturen zu erstellen, die Bereitstellungsflexibilität bieten. Erstellen Sie Microservices in Oracle LiveLabs mit Cloud- und Hybridkomponenten, die in OCI verfügbar sind, einschließlich Autonomous Database, Helidon, Micronaut, MicroTx, WebLogic Server, Java, Docker, Kubernetes und Istio Service Mesh. Um den Einstieg in Ihre Microservices zu erleichtern, gibt es mehrere Übungen, in denen Sie Ihre monolithischen Unternehmensanwendungen modernisieren oder vereinfachen können, wenn Sie diesen Weg bereits eingeschlagen haben.

Tabelle der offenen Plattformen

Datengesteuerte Microservices mit Oracle Converged Database

In dieser Oracle LiveLab wird eine Anwendung für die Bereitstellung von mobilen Lebensmitteln namens GrabDish erstellt, um die Einfachheit der Datenarchitektur mit einem modernen Entwicklungsstack hervorzuheben. Die Komplexität von Datenbanken für spezielle Zwecke, die traditionell als Lambda- und Kappa-Architekturen in der Branche verwendet werden (mit separaten Systemen für relationale, Text-, räumliche, grafische und Messaging-Systeme) und die Einfachheit der Erstellung datengesteuerter Microservices mit Oracle Converged Database werden miteinander verglichen. Die Übung richtet sich an Entwickler und Architekten, die neue Microservices entwickeln. Außerdem hilft sie DBAs, die Rolle von Oracle Database in Projekten zur Modernisierung von Anwendungen zu verstehen. Autonomous Database, Kubernetes-Cluster mit Docking-Containern, Oracle Advanced Queuing und Transactional Event Queues sowie Helidon werden verwendet, um Java-, Node.js- und Python-Microservices anzuzeigen, die mit relationalen, JSON-, räumlichen und Diagrammdaten arbeiten. Dabei wird ein Tracing und Monitoring mit Kiali, Jaeger, Prometheus und Grafana eingerichtet. Es werden Microservices-Muster wie Ereignisbeschaffung, CQRS und SAGAs dargestellt.

Datengesteuerte Microservices mit Oracle Converged Database

Transaktionskonsistenz über Microservices hinweg mit Oracle Transaction Manager for Microservices

Da die Microservices-Architektur immer beliebter wird, stoßen Entwickler oft auf Probleme im Zusammenhang mit der Datenkonsistenz, da jeder Microservice in der Regel eine eigene Datenbank oder eine andere Ressource hat. MicroTx bietet einen Microservice für die Transaktionskoordination, um die Konsistenz im Status verschiedener Datenbanken zu gewährleisten, die an einer Transaktion teilnehmen. MicroTx unterstützt mehrere verteilte Transaktionsprotokolle, wie XA, Aktionen mit langer Ausführungszeit (LRAs) und try-confirm/cancel (TCC). Es unterstützt verteilte Transaktionen über mehrsprachige Microservices wie Java, node.js, C/C++ und PL/SQL. In dieser LiveLab können Entwickler lernen, wie sie Datenkonsistenz über verschiedene Microservices hinweg erreichen, die in einer Beispielanwendung verwendet werden.

Transaktionskonsistenz über Microservices hinweg mit Oracle Transaction Manager for Microservices

Bausteine

Vollständige und offene Plattform für Microservices

Für die Anwendungsmoderation müssen mehrere Technologien integriert werden, um die richtige Multicloud-Microservices-Grundlage zu erstellen. Mit Oracle LiveLabs erhalten Sie Zugang zu den Tools und Technologien von Oracle, um eine Vielzahl von Übungen und Workshops auszuführen. Diese Workshops zeigen, wie Sie ergänzend zu Oracle offene Technologien einsetzen, um einfachere Architekturen zu erstellen, die Bereitstellungsflexibilität bieten. Erstellen Sie Microservices in Oracle LiveLabs mit Cloud- und Hybridkomponenten, die in OCI, Autonomous Database, Helidon, Micronaut, Weblogic, Java, Docker, Kubernetes und Istio Service-Mesh in einem umfassenden Microservices-Plattform-Stack verfügbar sind. Es gibt mehrere Übungen, in denen Sie monolithische Unternehmensanwendungen modernisieren können, um den Einstieg in Ihre Microservices bzw. die allgemeine Nutzung dieser zu erleichtern.

Microservices - Bedingungen

Serverless - Kein persistenter Status in einem Datenspeicher erforderlich, Aufgaben werden im Fly-Fire- und "Vergessen"-Stil ausgeführt. Beispiel: Lambda-Funktionen und API-Gateways.

API-gesteuert - Microservices kommunizieren miteinander über REST-APIs, z.B. ein API-Gateway. Jeder Microservice verfügt über eine API-Definition.

Asynchrone Microservices - Eine lose Kopplung wird mit asynchronem Messaging über Queues oder Streaming-Software erreicht, beispielsweise mit Oracle Advanced Queuing oder Apache Kafka.

Workflow-Aktionen - Geschäftsabläufe (mit Menschen in der Schleife) die auch Transaktionen mit langer Ausführungszeit repräsentieren, beispielsweise mit BPMN-Frameworks wie Camunda, Zeebe oder temporal.io Flow.

Automatisierter Workflow - Aufgaben, die als einfacher Workflow automatisiert (ohne Menschen in der Schleife) ausgeführt werden, beispielsweise mit Apache Airflow und Argo (CNCF).

Datengesteuerte - Datenarchitektur steigert den Verbrauch von Daten in der App für Vorgänge und Entscheidungsfindung, in der Regel mit einem persistenten Speicher, z.B. Oracle Converged Database oder mit Datenbanken, die spezielle Aufgaben haben.

Cloud-native Anwendung, die vollständig für die Cloud entwickelt wurde, beispielsweise mit CNCF-Komponenten und OCI-Services.

Hybrid-Cloud-Microservices - Microservices, die im Data Center (Private Cloud) und in einer Public Cloud des Kunden funktionieren, zum Beispiel mit Kubernetes/Service Mesh, um sie in einer Private Cloud und in einer Public Cloud zu orchestrieren (Anwendungsfälle für Cloud-Bursting).

Multicloud-Microservices - Microservices, die über mindestens zwei Public Clouds und eine Private Cloud arbeiten, zum Beispiel mit Kubernetes/Service-Mesh zur Koordination über mehrere Clouds hinweg (um Risikominderung zu bieten und eine Abhängigkeit von einer Public Cloud zu verhindern).

Microservices - Herausforderungen

Microservices sind zwar ein Synonym für Anwendungsmodernisierung und der Weg in die Zukunft für alle Anwendungsentwicklungen, aber es gibt einige Überlegungen, die den Weg zu Microservices-Architekturen effizienter machen.

  • Auswahl der Anzahl unabhängiger Microservices für eine Anwendung. Eine Bereitstellung von Microservices wird komplex, wenn Tausende von Microservices bereitgestellt werden müssen, und es wird erwartet, dass sie in Harmonie ausgeführt werden, wenn der Kontext jedes Service sehr klein ist. Die Erfahrung zeigt, dass der Übergang zu Microservices die versprochenen Vorteile besser erfüllt, wenn 20 bis 50 Microservices mit den richtigen Rahmenbedingungen identifiziert werden.
  • Die Implementierung von Transaktionen über Microservices-Grenzen hinweg war eine Herausforderung bei den XA-Transaktionen (in einigen Fällen synchrone und Leistungsbegrenzung). Synchrone SAGAs haben sich als leistungsstärker und robust erwiesen, was durch die Unterstützung in der konvergierten Oracle Database weiter vereinfacht wird.
  • Die Notwendigkeit einer losen Kopplung zwischen Microservices stellt eine Herausforderung bei der Verwendung synchroner REST-API-Dienste dar, und Messaging-/Warteschlangensysteme machen diese Kommunikation asynchron und skalierbarer bei der Bereitstellung von Anwendungen in einer Hybrid-Cloud-Umgebung.
  • Das Tracing und die Beobachtbarkeit sind nicht nur auf der Anwendungsebene oder der Mid-Ebene wichtig, sondern auch auf der Datenebene - für ein ganzheitliches End-to-End-Deployment und die Unterstützung von Microservices-Architekturen. Tools und Analyseintegrationen beginnen gerade erst, diesen wichtigen Aspekt für hybride Implementierungen zu berücksichtigen.

Kundenerfolge mit Microservices

Diese Seite wurde maschinell übersetzt.

Oracle Chatbot
Disconnected