Sdílet prostřednictvím


Mikroslužby .NET: Architektura pro kontejnerizované aplikace .NET

Titulní titulek knihy

EDITION v7.0 – aktualizace na ASP.NET Core 7.0

Informace o aktualizacích knih a příspěvcích komunity najdete v protokolu změn .

Tento průvodce představuje úvod do vývoje aplikací založených na mikroslužbách a jejich správě pomocí kontejnerů. Popisuje přístupy k návrhu a implementaci architektury pomocí kontejnerů .NET a Dockeru.

Abyste mohli začít snadněji, příručka se zaměřuje na referenční kontejnerizovanou aplikaci a aplikaci založenou na mikroslužbách, kterou můžete prozkoumat. Referenční aplikace je k dispozici v úložišti GitHub eShopOnContainers .

Úvod

Podniky stále častěji realizují úspory nákladů, řešení problémů s nasazením a zlepšování devOps a produkčních operací pomocí kontejnerů. Microsoft vydává inovace kontejnerů pro Windows a Linux tím, že vytváří produkty, jako je Azure Kubernetes Service a Azure Service Fabric, a spolupracuje s vedoucími obory, jako je Docker, Mesosphere a Kubernetes. Tyto produkty poskytují kontejnerová řešení, která společnostem pomáhají vytvářet a nasazovat aplikace rychlostí a škálováním cloudu bez ohledu na to, jakou si zvolí platformu nebo nástroje.

Docker se stává de facto standardem v kontejnerovém průmyslu, který podporuje nejvýznamnější dodavatelé v ekosystémech Windows a Linux. (Microsoft je jedním z hlavních dodavatelů cloudu podporujících Docker). V budoucnu bude Docker pravděpodobně všudypřítomný v jakémkoli datacentru v cloudu nebo v místním prostředí.

Architektura mikroslužeb se navíc objevuje jako důležitý přístup k distribuovaným důležitým aplikacím. V architektuře založené na mikroslužbách je aplikace založená na kolekci služeb, které je možné vyvíjet, testovat, nasazovat a skládat nezávisle na verzích.

O tomto průvodci

Tento průvodce představuje úvod do vývoje aplikací založených na mikroslužbách a jejich správě pomocí kontejnerů. Popisuje přístupy k návrhu a implementaci architektury pomocí kontejnerů .NET a Dockeru. Abyste usnadnili práci s kontejnery a mikroslužbami, příručka se zaměřuje na referenční kontejnerizovanou a mikroslužbu založenou na aplikaci, kterou můžete prozkoumat. Ukázková aplikace je k dispozici v úložišti eShopOnContainers na GitHubu.

Tato příručka poskytuje základní pokyny k vývoji a architektuře primárně na úrovni vývojového prostředí se zaměřením na dvě technologie: Docker a .NET. Naším záměrem je přečíst si tuto příručku, když přemýšlíte o návrhu vaší aplikace, aniž byste se zaměřili na infrastrukturu (cloud nebo místní prostředí) vašeho produkčního prostředí. Později budete rozhodovat o své infrastruktuře při vytváření aplikací připravených pro produkční prostředí. Proto má být tato příručka nezávislá na infrastruktuře a více zaměřené na vývojové prostředí.

Po prozkoumání této příručky byste se v dalším kroku dozvěděli o mikroslužbách připravených pro produkční prostředí v Microsoft Azure.

Verze

Tato příručka byla upravena tak, aby zahrnovala verzi .NET 7 spolu s mnoha dalšími aktualizacemi souvisejícími se stejnou "vlnou" technologií (tj. Technologií Azure a dalších technologií třetích stran) v čase s vydáním .NET 7.

Poznámka:

Pro .NET 8 a novou ukázku eShopu se vytváří nová verze této elektronické knihy.

Co tento průvodce nepokrývá

Tato příručka se nezaměřuje na životní cyklus aplikací, DevOps, kanály CI/CD ani týmovou práci. Doplňkový průvodce Životní cyklus kontejnerizovaných aplikací Dockeru s platformou a nástroji Microsoftu se zaměřuje na toto téma. Aktuální příručka také neposkytuje podrobnosti o implementaci infrastruktury Azure, například informace o konkrétních orchestrátorech.

Dodatečné zdroje

Kdo by měl používat tohoto průvodce

Tento průvodce jsme napsali pro vývojáře a architekty řešení, kteří jsou novými vývojáři aplikací založenými na Dockeru a architekturou založenou na mikroslužbách. Tato příručka je určená, pokud se chcete naučit navrhovat, navrhovat a implementovat aplikace pro testování konceptu s vývojovými technologiemi Microsoftu (se zvláštním zaměřením na .NET) a kontejnery Dockeru.

Tato příručka je užitečná také v případě, že jste pracovníkem technického rozhodování, jako je podnikový architekt, který chce mít přehled architektury a technologií, než se rozhodnete, jaký přístup se má vybrat pro nové a moderní distribuované aplikace.

Jak používat tohoto průvodce

První část této příručky představuje kontejnery Dockeru, popisuje, jak si vybrat mezi .NET 7 a rozhraním .NET Framework jako vývojovou architekturou a poskytuje přehled mikroslužeb. Tento obsah je určený pro architekty a pracovníky s rozhodovací pravomocí, kteří chtějí mít přehled, ale nemusí se soustředit na podrobnosti implementace kódu.

Druhá část příručky začíná procesem vývoje pro aplikace založené na Dockeru . Zaměřuje se na vzory vývoje a mikroslužeb pro implementaci aplikací pomocí .NET a Dockeru. Tato část bude nejvíce zajímat vývojáře a architekty, kteří se chtějí zaměřit na kód a na vzory a podrobnosti implementace.

Aplikace eShopOnContainers je opensourcová referenční aplikace pro .NET a mikroslužby, které jsou navržené pro nasazení pomocí kontejnerů Dockeru. Aplikace se skládá z několika subsystémů, včetně několika front-endů uživatelského rozhraní e-storu (aplikace Web MVC, Webová SPA a nativní mobilní aplikace). Zahrnuje také back-endové mikroslužby a kontejnery pro všechny požadované operace na straně serveru.

Účelem aplikace je prezentovat architektonické vzory. NEJEDNÁ se o šablonu PRODUCTION-READY pro zahájení reálných aplikací. Ve skutečnosti je aplikace v trvalém beta stavu, protože se také používá k testování nových potenciálně zajímavých technologií, jak se zobrazují.

Odeslání zpětné vazby

Tato kniha a související ukázky se neustále vyvíjejí, takže vaše zpětná vazba je vítána. Pokud máte komentáře k tomu, jak tuto knihu vylepšit, a čtete ji na webu <learn.microsoft.com>, použijte sekci Zpětná vazba ve spodní části stránky.

Sekce zpětné vazby v zápatích všech článků na webu .NET.

Jak je zvýrazněno na předchozím snímku obrazovky, oddíl zpětné vazby umožňuje odeslat zpětnou vazbu pro:

  • Tento produkt: použijte formulář zpětné vazby na produkt .NET.
  • Tato stránka: použití šablony problému na GitHubu s podrobnostmi o stránce.

Pokud tuto knihu čtete ve formátu PDF, můžete odeslat zpětnou vazbu vytvořením nového problému na GitHubu v části .NET Docs: GitHub nebo pomocí šablony problému na GitHubu v části e-knihy o .NET Architektuře: GitHub.

Kredity

Spoluautoři:

Cesar de la Torre, sr. PM, produktový tým .NET, Microsoft Corp.

Bill Wagner, Sr. Content Developer, C+E, Microsoft Corp.

Mike Rousos, hlavní softwarový inženýr, tým DevDiv CAT, Microsoft

Vydavatelé:

Mike Pope

Steve Hoag

Účastníci a recenzenti:

Jeffrey Richter, Vedoucí softwarový inženýr, Tým Azure, Microsoft

Jimmy Bogard, Chief Architect ve společnosti Headspring

Udi Dahan, zakladatel a generální ředitel, konkrétní software

Jimmy Nilsson, co-zakladatel a generální ředitel Factor10

Glenn Condron, vedoucí programu, ASP.NET tým

Mark Fussell, hlavní vedoucí pm, tým Azure Service Fabric, Microsoft

Diego Vega, PM Lead, Entity Framework team, Microsoft

Barry Dorrans, Sr. Security Program Manager

Rowan Miller, vedoucí programu, Microsoft

Ankit Asthana, hlavní manažer PM, tým .NET, Microsoft

Scott Hunter, ředitel partnera, tým .NET, Microsoft

Nish Anil, Sr. Program Manager, .NET team, Microsoft

Dylan Reisenberger, architekt a vedoucí vývoje ve společnosti Polly

Steve "ardalis" Smith - Softwarový architekt a trenér - Ardalis.com

Ian Cooper, architekt kódování ve společnosti Brighter

Unai Zorrilla, architekt a vedoucí vývoje ve společnosti Plain Concepts

Eduard Tomas, Vedoucí vývoje ve společnosti Plain Concepts

Ramon Tomas, vývojář ve společnosti Plain Concepts

David Sanz, vývojář v Plain Concepts

Javier Valero, Chief Operating Officer ve společnosti Grupo Solutio

Pierre Millet, Sr. Consultant, Microsoft

Michael Friis, Product Manager, Docker Inc

Charles Lowell, softwarový inženýr, tým VS CAT, Microsoft

Miguel Veloso, inženýr softwarového vývoje ve společnosti Plain Concepts

Sumit Ghosh, hlavní konzultant ve společnosti Neudesic

PUBLIKOVAL(A)

Produktové týmy Microsoft Developer Division, .NET a Visual Studio

Divize společnosti Microsoft Corporation

One Microsoft Way

Redmond, Washington 98052-6399

Copyright © 2023 by Microsoft Corporation

Všechna práva vyhrazena. Bez písemného svolení vydavatele nesmí být reprodukována ani přenášena žádná část obsahu této knihy nebo jakýmkoli způsobem bez písemného svolení vydavatele.

Tato kniha je poskytována "as-is" a vyjadřuje názory a přesvědčení autora. Názory, pohledy a informace vyjádřené v této knize, včetně URL a dalších internetových odkazů, mohou být změněny bez předchozího upozornění.

Některé příklady, které jsou zde znázorněny, jsou k dispozici pouze pro ilustraci a jsou fiktivní. Žádné skutečné přidružení nebo spojení není určeno nebo by mělo být odvozeno.

Microsoft a ochranné známky uvedené na https://www.microsoft.com na webové stránce "Ochranné známky" jsou ochranné známky skupiny společností Microsoft.

Mac a macOS jsou ochranné známky společnosti Apple Inc.

Logo Docker whale je registrovaná ochranná známka společnosti Docker, Inc. Používá se podle oprávnění.

Všechny ostatní značky a loga jsou majetkem příslušných vlastníků.