https://www.gitbook.com/download/mobi/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/download/epub/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/book/dzfweb/microsoft-microservices-book/details
DOWNLOAD verfügbar unter: https://aka.ms/microservicesebook
HERAUSGEGEBEN VON
Microsoft Developer Division, .NET- und Visual Studio-Produktteams
Eine Abteilung der Microsoft Corporation
Ein Microsoft-Weg
Redmond, Washington 98052-6399
Copyright © 2017 von Microsoft Corporation
Alle Rechte vorbehalten. Kein Teil des Inhalts dieses Buches darf ohne schriftliche Genehmigung des Herausgebers in irgendeiner Form oder mit irgendwelchen Mitteln reproduziert oder übertragen werden.
Dieses Buch wird „wie besehen“ zur Verfügung gestellt und gibt die Ansichten und Meinungen des Autors wieder. Die in diesem Buch zum Ausdruck gebrachten Ansichten, Meinungen und Informationen, einschließlich der URL und anderer Verweise auf Internet-Websites, können ohne vorherige Ankündigung geändert werden.
Einige hier dargestellte Beispiele dienen nur der Veranschaulichung und sind fiktiv. Es ist keine wirkliche Assoziation oder Verbindung beabsichtigt oder sollte abgeleitet werden.
Microsoft und die auf der Webseite „Marken“ unter http://www.microsoft.com aufgeführten Marken sind Marken der Microsoft-Unternehmensgruppe.
Mac und macOS sind Marken von Apple Inc.
Das Docker-Wal-Logo ist eine eingetragene Marke von Docker, Inc. Die Verwendung erfolgt mit Genehmigung.
Alle anderen Marken und Logos sind Eigentum ihrer jeweiligen Inhaber.
Co-Autoren:
Cesar de la Torre , Sr. PM, .NET-Produktteam, Microsoft Corp.
Bill Wagner , Senior Content Developer, C+E, Microsoft Corp.
Mike Rousos , Principal Software Engineer, DevDiv CAT-Team, Microsoft
Herausgeber:
Mike Pope
Steve Hoag
Teilnehmer und Gutachter:
Jeffrey Ritcher , Partner Software Eng, Azure-Team, Microsoft
Jimmy Bogard , Chefarchitekt bei Headspring
Udi Dahan , Gründer und CEO, Particular Software
Jimmy Nilsson , Mitbegründer und CEO von Factor10
Glenn Condron , Sr. Programmmanager, ASP.NET-Team
Mark Fussell , Haupt-PM-Leiter, Azure Service Fabric-Team, Microsoft
Diego Vega , PM-Leiter, Entity Framework-Team, Microsoft
Barry Dorrans , Senior Security Program Manager
Rowan Miller , Senior Program Manager, Microsoft
Ankit Asthana , Principal PM Manager, .NET-Team, Microsoft
Scott Hunter , Partner Director PM, .NET-Team, Microsoft
Dylan Reisenberger , Architekt und Entwicklungsleiter bei Polly
Steve Smith , Software-Handwerker und Trainer bei ASPSmith Ltd.
Ian Cooper , Coding Architect bei Brighter
Unai Zorrilla , Architekt und Entwicklungsleiter bei Plain Concepts
Eduard Tomas , Entwicklungsleiter bei Plain Concepts
Ramon Tomas , Entwickler bei Plain Concepts
David Sanz , Entwickler bei Plain Concepts
Javier Valero , Chief Operating Officer der Grupo Solutio
Pierre Millet , Senior Consultant, Microsoft
Michael Friis , Produktmanager, Docker Inc
Charles Lowell , Softwareentwickler, VS CAT-Team, Microsoft
Unternehmen realisieren zunehmend Kosteneinsparungen, lösen Bereitstellungsprobleme und verbessern DevOps und Produktionsabläufe durch den Einsatz von Containern. Microsoft hat Container-Innovationen für Windows und Linux veröffentlicht, indem es Produkte wie Azure Container Service und Azure Service Fabric entwickelt und mit Branchenführern wie Docker, Mesosphere und Kubernetes zusammenarbeitet. Diese Produkte liefern Containerlösungen, die Unternehmen dabei helfen, Anwendungen mit Cloud-Geschwindigkeit und -Skalierung zu erstellen und bereitzustellen, unabhängig von der Wahl ihrer Plattform oder Tools.
Docker entwickelt sich zum De-facto-Standard in der Containerindustrie und wird von den bedeutendsten Anbietern im Windows- und Linux-Ökosystem unterstützt. (Microsoft ist einer der wichtigsten Cloud-Anbieter, der Docker unterstützt.) In Zukunft wird Docker wahrscheinlich in jedem Rechenzentrum in der Cloud oder vor Ort allgegenwärtig sein.
Darüber hinaus entwickelt sich die Microservices-Architektur zu einem wichtigen Ansatz für verteilte geschäftskritische Anwendungen. In einer Microservice-basierten Architektur basiert die Anwendung auf einer Sammlung von Diensten, die unabhängig voneinander entwickelt, getestet, bereitgestellt und versioniert werden können.
Dieser Leitfaden ist eine Einführung in die Entwicklung von Microservices-basierten Anwendungen und deren Verwaltung mithilfe von Containern. Es werden Architekturdesign- und Implementierungsansätze unter Verwendung von .NET Core- und Docker-Containern erläutert. Um den Einstieg in Container und Microservices zu erleichtern, konzentriert sich der Leitfaden auf eine Container- und Microservice-basierte Referenzanwendung, die Sie erkunden können. Die Beispielanwendung ist im GitHub-Repository von eShopOnContainers verfügbar.
Dieser Leitfaden bietet grundlegende Entwicklungs- und Architekturanleitungen hauptsächlich auf der Ebene der Entwicklungsumgebung mit Schwerpunkt auf zwei Technologien: Docker und .NET Core. Wir möchten, dass Sie diesen Leitfaden lesen, wenn Sie über Ihr Anwendungsdesign nachdenken, ohne sich auf die Infrastruktur (Cloud oder vor Ort) Ihrer Produktionsumgebung zu konzentrieren. Entscheidungen über Ihre Infrastruktur treffen Sie später, wenn Sie Ihre produktionsreifen Anwendungen erstellen. Daher ist dieser Leitfaden infrastrukturunabhängig und stärker auf die Entwicklungsumgebung ausgerichtet.
Nachdem Sie diesen Leitfaden studiert haben, besteht Ihr nächster Schritt darin, mehr über produktionsbereite Microservices auf Microsoft Azure zu erfahren.
Dieser Leitfaden konzentriert sich nicht auf den Anwendungslebenszyklus, DevOps, CI/CD-Pipelines oder Teamarbeit. Der ergänzende Leitfaden Containerized Docker Application Lifecycle with Microsoft Platform and Tools konzentriert sich auf dieses Thema. Der aktuelle Leitfaden enthält auch keine Implementierungsdetails zur Azure-Infrastruktur, beispielsweise Informationen zu bestimmten Orchestratoren.
Wir haben diesen Leitfaden für Entwickler und Lösungsarchitekten geschrieben, die neu in der Docker-basierten Anwendungsentwicklung und Microservices-basierten Architektur sind. Dieser Leitfaden richtet sich an Sie, wenn Sie lernen möchten, wie Sie Proof-of-Concept-Anwendungen mit Microsoft-Entwicklungstechnologien (mit besonderem Schwerpunkt auf .NET Core) und mit Docker-Containern entwerfen, entwerfen und implementieren.
Dieser Leitfaden wird Ihnen auch nützlich sein, wenn Sie als technischer Entscheidungsträger, beispielsweise als Unternehmensarchitekt, einen Überblick über Architektur und Technologie wünschen, bevor Sie sich für einen Ansatz für neue und moderne verteilte Anwendungen entscheiden.
Der erste Teil dieses Leitfadens stellt Docker-Container vor, erläutert die Wahl zwischen .NET Core und .NET Framework als Entwicklungsframework und bietet einen Überblick über Microservices. Dieser Inhalt richtet sich an Architekten und technische Entscheidungsträger, die einen Überblick wünschen, sich aber nicht auf Details der Codeimplementierung konzentrieren müssen.
Der zweite Teil des Leitfadens beginnt mit dem Abschnitt „Entwicklungsprozess für Docker-basierte Anwendungen“. Der Schwerpunkt liegt auf Entwicklungs- und Microservice-Mustern für die Implementierung von Anwendungen mit .NET Core und Docker. Dieser Abschnitt ist vor allem für Entwickler und Architekten von Interesse, die sich auf Code sowie auf Muster und Implementierungsdetails konzentrieren möchten.
Die eShopOnContainers-Anwendung ist eine Referenz-App für .NET Core und Microservices, die für die Bereitstellung mithilfe von Docker-Containern konzipiert ist. Die Anwendung besteht aus mehreren Subsystemen, einschließlich mehrerer E-Store-UI-Frontends (einer Web-App und einer nativen mobilen App). Es umfasst auch die Back-End-Microservices und Container für alle erforderlichen serverseitigen Vorgänge.
Dieser Microservice- und Container-basierte Anwendungsquellcode ist Open Source und im GitHub-Repository von eShopOnContainers verfügbar.
Wir haben diesen Leitfaden geschrieben, um Ihnen das Verständnis der Architektur von Containeranwendungen und Microservices in .NET zu erleichtern. Der Leitfaden und die zugehörige Referenzanwendung werden weiterentwickelt, daher freuen wir uns über Ihr Feedback! Wenn Sie Kommentare dazu haben, wie dieser Leitfaden verbessert werden kann, senden Sie diese bitte an:
[!div class="step-by-step"] [Weiter] (container-docker-introduction/index.md)