Entwerfen einer Microservices-ArchitekturDesigning a microservices architecture

Microservices haben sich zu einem beliebten Architekturstil für die Erstellung robuster, hochgradig skalierbarer, unabhängig bereitstellbarer Cloudanwendungen entwickelt, die sich schnell weiterentwickeln lassen.Microservices have become a popular architectural style for building cloud applications that are resilient, highly scalable, independently deployable, and able to evolve quickly. Damit Microservices nicht nur ein Schlagwort bleiben, erfordern sie allerdings eine andere Herangehensweise an die Gestaltung und Erstellung von Anwendungen.To be more than just a buzzword, however, microservices require a different approach to designing and building applications.

Diese Artikelreihe beschäftigt sich mit der Erstellung einer Microservices-Architektur in Azure.In this set of articles, we explore how to build a microservices architecture on Azure. Dabei werden folgende Themen behandelt:Topics include:

VoraussetzungenPrerequisites

Machen Sie sich vor der Lektüre dieser Artikel ggf. zunächst mit Folgendem vertraut:Before reading these articles, you might start with the following:

ReferenzimplementierungReference implementation

Zur Veranschaulichung bewährter Methoden für eine Microservices-Architektur haben wir als Referenzimplementierung eine Drohnenlieferungsanwendung erstellt.To illustrate best practices for a microservices architecture, we created a reference implementation that we call the Drone Delivery application. Diese Implementierung wird unter Verwendung von Azure Kubernetes Service (AKS) in Kubernetes ausgeführt.This implementation runs on Kubernetes using Azure Kubernetes Service (AKS). Die Referenzimplementierung finden Sie auf GitHub.You can find the reference implementation on GitHub.

Architektur der Drohnenlieferungsanwendung

SzenarioScenario

Fabrikam, Inc. führt einen Drohnenlieferdienst ein.Fabrikam, Inc. is starting a drone delivery service. Das Unternehmen verfügt über eine Drohnenflotte.The company manages a fleet of drone aircraft. Unternehmen registrieren sich bei dem Dienst, und Benutzer können eine Drohne anfordern, die auszuliefernde Waren abholt.Businesses register with the service, and users can request a drone to pick up goods for delivery. Wenn ein Kunde einen Abholtermin festlegt, weist ein Back-End-System eine Drohne zu und teilt dem Benutzer die voraussichtliche Lieferzeit mit.When a customer schedules a pickup, a backend system assigns a drone and notifies the user with an estimated delivery time. Während der Durchführung der Lieferung kann der Kunde die Position der Drohne nachverfolgen, und die voraussichtliche Ankunftszeit wird kontinuierlich aktualisiert.While the delivery is in progress, the customer can track the location of the drone, with a continuously updated ETA.

Dieses Szenario beinhaltet eine recht komplizierte Domäne.This scenario involves a fairly complicated domain. Zu den Anliegen des Unternehmens zählen unter anderem die Zeitplanung für die Drohnen, die Nachverfolgung von Paketen, die Verwaltung von Benutzerkonten sowie die Speicherung und Analyse von Verlaufsdaten.Some of the business concerns include scheduling drones, tracking packages, managing user accounts, and storing and analyzing historical data. Darüber hinaus ist Fabrikam an einer schnellen Marktreife interessiert und möchte dann zeitnah neue Features und Funktionen hinzufügen.Moreover, Fabrikam wants to get to market quickly and then iterate quickly, adding new functionality and capabilities. Die Anwendung muss cloudfähig sein und über ein hohes Servicelevelziel (Service Level Objective, SLO) verfügen.The application needs to operate at cloud scale, with a high service level objective (SLO). Fabrikam erwartet außerdem erhebliche Unterschiede bei den Datenspeicher- und Abfrageanforderungen der verschiedenen Systemkomponenten.Fabrikam also expects that different parts of the system will have very different requirements for data storage and querying. Aufgrund dieser Überlegungen hat sich Fabrikam bei seiner Drohnenlieferungsanwendung für eine Microservices-Architektur entschieden.All of these considerations lead Fabrikam to choose a microservices architecture for the Drone Delivery application.

Hinweis

Hilfreiche Informationen zur Wahl einer Microservices-Architektur oder eines anderen Architekturstils finden Sie im Azure-Anwendungsarchitekturleitfaden.For help in choosing between a microservices architecture and other architectural styles, see the Azure Application Architecture Guide.

Unsere Referenzimplementierung verwendet Kubernetes mit Azure Kubernetes Service (AKS).Our reference implementation uses Kubernetes with Azure Kubernetes Service (AKS). Viele der allgemeinen architekturbezogenen Entscheidungen und Herausforderungen gelten jedoch für alle Containerorchestratoren (einschließlich Azure Service Fabric).However, many of the high-level architectural decisions and challenges will apply to any container orchestrator, including Azure Service Fabric.

Nächste SchritteNext steps

Choosing a compute option for microservices (Auswählen einer Computeoption für Microservices)Choose a compute option