Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
EDITION v7.0 – Aktualisiert auf ASP.NET Core 7.0
Informationen zu den Buchaktualisierungen und Communitybeiträgen finden Sie im Änderungsprotokoll.
Dieses Handbuch enthält eine Einführung in die Entwicklung mikroservicesbasierter Anwendungen und deren Verwaltung mithilfe von Containern. Es erörtert Architekturdesign- und Implementierungsansätze mithilfe von .NET- und Docker-Containern.
Um den Einstieg zu erleichtern, konzentriert sich der Leitfaden auf eine referenzbasierte, containerisierte Mikroservice-Anwendung, die Sie erkunden können. Die Referenzanwendung ist im eShopOnContainers GitHub-Repository verfügbar.
Aktionslinks
Dieses E-Book ist auch im PDF-Format verfügbar (nur englische Version) Download
Klonen/Fork der Referenzanwendung eShopOnContainers auf GitHub
Sehen Sie sich das Einführungsvideo an
Lernen Sie die Microservices-Architektur sofort kennen
Einleitung
Unternehmen erkennen zunehmend Kosteneinsparungen, lösen Bereitstellungsprobleme und verbessern DevOps- und Produktionsvorgänge mithilfe von Containern. Microsoft hat Containerinnovationen für Windows und Linux veröffentlicht, indem Produkte wie Azure Kubernetes Service und Azure Service Fabric erstellt werden, und indem sie mit Branchenführern wie Docker, Mesosphere und Kubernetes zusammenarbeiten. Diese Produkte liefern Containerlösungen, die Unternehmen beim Erstellen und Bereitstellen von Anwendungen mit Cloudgeschwindigkeit und Skalierung unterstützen, unabhängig von ihrer Wahl von Plattform oder Tools.
Docker wird der de facto Standard in der Containerindustrie, unterstützt von den wichtigsten Anbietern in den Windows- und Linux-Ökosystemen. (Microsoft ist einer der wichtigsten Cloudanbieter, die Docker unterstützen). In Zukunft wird Docker wahrscheinlich in jedem Rechenzentrum in der Cloud oder lokal verbreitet sein.
Darüber hinaus entwickelt sich die Microservices-Architektur als wichtiger Ansatz für verteilte unternehmenskritische Anwendungen. In einer mikroservicebasierten Architektur basiert die Anwendung auf einer Sammlung von Diensten, die unabhängig entwickelt, getestet, bereitgestellt und versioniert werden können.
Über diesen Leitfaden
Dieses Handbuch enthält eine Einführung in die Entwicklung mikroservicesbasierter Anwendungen und deren Verwaltung mithilfe von Containern. Es erörtert Architekturdesign- und Implementierungsansätze mithilfe von .NET- und Docker-Containern. Um die ersten Schritte mit Containern und Microservices zu erleichtern, konzentriert sich der Leitfaden auf eine referenzcontainerisierte und microservicebasierte Anwendung, die Sie erkunden können. Die Beispielanwendung ist im eShopOnContainers GitHub-Repository verfügbar.
Dieser Leitfaden bietet grundlegende Entwicklungs- und Architekturanleitungen in erster Linie auf Entwicklungsumgebungsebene mit schwerpunktmäßig zwei Technologien: Docker und .NET. Unsere Absicht ist, dass Sie diesen Leitfaden lesen, wenn Sie sich über Ihr Anwendungsdesign gedankenn, ohne sich auf die Infrastruktur (Cloud oder lokal) Ihrer Produktionsumgebung zu konzentrieren. Sie treffen später Entscheidungen über Ihre Infrastruktur, wenn Sie Ihre produktionsfähigen Anwendungen erstellen. Daher ist dieser Leitfaden darauf ausgelegt, infrastrukturagnostisch und entwicklungsumgebungsorientiert zu sein.
Nachdem Sie diesen Leitfaden studiert haben, besteht Ihr nächster Schritt darin, mehr über produktionsfähige Microservices auf Microsoft Azure zu erfahren.
Version
Dieses Handbuch wurde überarbeitet, um die .NET 7-Version zusammen mit vielen zusätzlichen Updates im Zusammenhang mit der gleichen "Welle" von Technologien (d. h. Azure und zusätzliche Technologien von Drittanbietern) zu behandeln, die rechtzeitig mit der .NET 7-Version verbunden sind.
Hinweis
Für .NET 8 und das neue eShop-Beispiel wird eine neue Version dieses eBook erstellt.
Was in diesem Handbuch nicht behandelt wird
Dieser Leitfaden konzentriert sich nicht auf den Anwendungslebenszyklus, DevOps, CI/CD-Pipelines oder die Teamarbeit. Der ergänzende Leitfaden "Containerized Docker Application Lifecycle" mit Microsoft Platform and Tools konzentriert sich auf dieses Thema. Das aktuelle Handbuch enthält auch keine Implementierungsdetails zur Azure-Infrastruktur, z. B. Informationen zu bestimmten Orchestratoren.
Weitere Ressourcen
-
Containerisierter Docker-Anwendungslebenszyklus mit Microsoft-Plattform und -Tools (herunterladbares E-Book)
https://aka.ms/dockerlifecycleebook
Zielgruppe dieses Leitfadens
Wir haben diesen Leitfaden für Entwickler und Lösungsarchitekten geschrieben, die noch nicht mit der Docker-basierten Anwendungsentwicklung und der microservices-basierten Architektur arbeiten. Dieses Handbuch ist für Sie, wenn Sie erfahren möchten, wie Sie Proof-of-Concept-Anwendungen mit Technologien zur Softwareentwicklung von Microsoft (mit besonderem Fokus auf .NET) und mit Docker-Containern architekturieren, gestalten und implementieren.
Sie finden diesen Leitfaden auch hilfreich, wenn Sie ein technischer Entscheidungsträger sind, z. B. ein Unternehmensarchitekt, der einen Überblick über Architektur und Technologie wünscht, bevor Sie entscheiden, welcher Ansatz für neue und moderne verteilte Anwendungen ausgewählt werden soll.
So verwenden Sie dieses Handbuch
Im ersten Teil dieses Handbuchs werden Docker-Container vorgestellt, die Auswahl zwischen .NET 7 und .NET Framework als Entwicklungsframework erläutert und eine Übersicht über Microservices bereitgestellt. Dieser Inhalt richtet sich an Architekten und technische Entscheidungsträger, die einen Überblick wünschen, sich aber nicht auf Codeimplementierungsdetails konzentrieren müssen.
Der zweite Teil des Handbuchs beginnt mit dem Entwicklungsprozess für Docker-basierte Anwendungen . Es konzentriert sich auf die Entwicklungs- und Microservicemuster für die Implementierung von Anwendungen mit .NET und Docker. Dieser Abschnitt ist für Entwickler und Architekten von Interesse, die sich auf Code und Muster und Implementierungsdetails konzentrieren möchten.
Verwandte Microservice- und containerbasierte Referenzanwendung: eShopOnContainers
Die eShopOnContainers-Anwendung ist eine Open-Source-Referenz-App für .NET und Microservices, die mithilfe von Docker-Containern bereitgestellt werden sollen. Die Anwendung besteht aus mehreren Subsystemen, einschließlich mehrerer E-Store-UI-Front-Ends (eine Web MVC-App, ein Web SPA und eine native mobile App). Sie enthält auch die Back-End-Microservices und Container für alle erforderlichen serverseitigen Vorgänge.
Der Zweck der Anwendung besteht darin, Architekturmuster zu präsentieren. SIE STELLT KEINE PRODUKTIONSBEREITE VORLAGE DAR, die sich als Ausgangspunkt für reale Anwendungen eignet. Tatsächlich befindet sich die Anwendung in einem permanenten Betazustand, da sie auch verwendet wird, um neue potenziell interessante Technologien zu testen, während sie angezeigt werden.
Senden Ihres Feedbacks
Dieses Buch und verwandte Beispiele entwickeln sich ständig weiter, so dass Ihr Feedback willkommen ist. Wenn Sie Kommentare dazu haben, wie dieses Buch verbessert werden kann und Sie dieses Buch auf <learn.microsoft.com> lesen, verwenden Sie den Abschnitt "Feedback" unten auf der Seite:
Wie in der vorherigen Bildschirmaufnahme hervorgehoben, können Sie im Feedbackabschnitt Feedback senden für:
- Dieses Produkt: Verwenden Sie das .NET-Produktfeedbackformular.
- Diese Seite: Verwenden einer GitHub-Problemvorlage mit den Seitendetails.
Wenn Sie dieses Buch als PDF lesen, können Sie Feedback senden, indem Sie ein neues .NET-Dokument erstellen: GitHub-Problem oder mithilfe der .NET Architecture eBooks: GitHub-Problemvorlage.
Gutschriften
Mitautoren:
Cesar de la Torre, Sr. PM, .NET Product Team, Microsoft Corp.
Bill Wagner, Sr. Content Developer, C+E, Microsoft Corp.
Mike Rousos, Principal Software Engineer, DevDiv CAT Team, Microsoft
Herausgeber:
Mike Papst
Steve Hoag
Teilnehmer und Prüfer:
Jeffrey Richter, Partner Software Eng, Azure-Team, Microsoft
Jim Bogard, Chefarchitekt bei Headspring
Udi Dahan, Gründer & CEO, Particular Software
Jim Nilsson, Mitbegründer und CEO von Factor10
Glenn Condron, Sr. Program Manager, ASP.NET Team
Mark Fussell, Principal PM Lead, Azure Service Fabric-Team, Microsoft
Diego Vega, PM Lead, Entity Framework-Team, Microsoft
Barry Dorrans, Sr. Security Program Manager
Rowan Miller, Sr. Program Manager, Microsoft
Ankit Asthana, Principal PM Manager, .NET Team, Microsoft
Scott Hunter, Partner Director Projektmanagement, .NET-Team, Microsoft
Nish Anil, Sr. Program Manager, .NET team, Microsoft
Dylan Reisenberger, Architekt und Dev Lead bei Polly
Steve „ardalis“ Smith – Softwarearchitekt und Trainer – Ardalis.com
Ian Cooper, Coding Architect bei Brighter
Unai Zorrilla, Architekt und Dev Lead bei Plain Concepts
Eduard Tomas, Dev Lead bei Plain Concepts
Ramon Tomas, Entwickler bei Plain Concepts
David Sanz, Entwickler bei Plain Concepts
Javier Valero, Chief Operating Officer bei Grupo Solutio
Pierre Millet, Sr. Consultant, Microsoft
Michael Friis, Product Manager, Docker Inc
Charles Lowell, Software Engineer, VS CAT Team, Microsoft
Miguel Veloso, Software Development Engineer bei Plain Concepts
Sumit Ghosh, Principal Consultant bei Neudesic
Urheberrecht
VERÖFFENTLICHT VON
Microsoft Developer Division, .NET und Visual Studio-Produktteams
Eine Division der Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2023 von Microsoft Corporation
Alle Rechte vorbehalten. Ohne schriftliche Erlaubnis des Herausgebers darf kein Teil des Inhalts dieses Buchs in irgendeiner Form oder auf irgendeine Weise vervielfältigt oder übertragen werden.
Dieses Buch wird unverändert bereitgestellt und drückt die Ansichten und Meinungen des Autors aus. Die Ansichten, Meinungen und Informationen, die in diesem Buch ausgedrückt werden, einschließlich URL- und anderer Webseitenverweise, können sich ohne Vorankündigung ändern.
Einige hier dargestellte Beispiele dienen nur zur Veranschaulichung und sind fiktitös. Es ist keine echte Zuordnung oder Verbindung vorgesehen oder sollte abgeleitet werden.
Microsoft und die auf der Webseite "Marken" aufgeführten https://www.microsoft.com Marken sind Marken der Microsoft-Unternehmensgruppe.
Mac und macOS sind Marken von Apple Inc.
Das Docker-Wallogo ist eine eingetragene Marke von Docker, Inc. Verwendet mit Genehmigung.
Alle anderen Marken und Logos sind Eigentum ihrer jeweiligen Eigentümer.