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

Book cover

EDITION v6.0 – aktualizace na ASP.NET Core 6.0

Projděte si protokol změn pro aktualizace knihy a příspěvky komunity.

Tato příručka je úvodem k vývoji 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.

Aby bylo snazší začít, průvodce se zaměřuje na referenční kontejnerizovanou a mikroslužbu založenou na aplikaci, kterou můžete prozkoumat. Referenční aplikace je k dispozici v úložišti eShopOnContainers GitHub.

Úvod

Podniky stále častěji realizují úspory nákladů, řešení problémů s nasazením a zlepšují DevOps a produkční provoz pomocí kontejnerů. Microsoft vydává inovace kontejnerů pro Windows a Linux tím, že vytváří produkty, jako jsou Azure Kubernetes Service a Azure Service Fabric, a spolupracuje s vedoucími pracovníky odvětví, jako je Docker, Mesosphere a Kubernetes. Tyto produkty poskytují kontejnerová řešení, která společnostem pomáhají sestavovat a nasazovat aplikace rychlostí a škálováním cloudu, a to bez ohledu na jejich výběr platformy nebo nástrojů.

Docker se stává standardem de facto v odvětví kontejnerů, který podporuje nejvýznamnější dodavatelé v ekosystémech Windows a Linuxu. (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í.

Kromě toho se architektura mikroslužeb objevuje jako důležitý přístup k distribuovaným kritický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 upravovat nezávisle na verzích.

O této příručce

Tato příručka je úvodem k vývoji 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. Aby bylo snazší začít pracovat s kontejnery a mikroslužbami, průvodce 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 GitHub.

Tato příručka poskytuje základní pokyny k vývoji a architektuře především 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 museli soustředit na infrastrukturu (cloud nebo místní prostředí) vašeho produkčního prostředí. Při vytváření aplikací připravených pro produkční prostředí budete později rozhodovat o vaší infrastruktuře. Proto je tato příručka určená k tomu, aby byla infrastruktura nezávislá a více zaměřená na vývojové prostředí.

Po studiu této příručky by dalším krokem bylo seznámení s mikroslužbami připravenými k produkčnímu prostředí na Microsoft Azure.

Verze

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

Co tento průvodce nepokrývá

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

Další materiály

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

Napsali jsme tuto příručku pro vývojáře a architekty řešení, kteří jsou noví pro vývoj aplikací založených na Dockeru a architekturu založenou na mikroslužbách. Tato příručka je určená, pokud se chcete naučit, jak navrhovat, navrhovat a implementovat aplikace pro testování konceptu pomocí vývojových technologií Microsoftu (se zvláštním zaměřením na .NET) a kontejnery Dockeru.

Tento průvodce najdete také užitečný, pokud jste technickým rozhodovacím pracovníkem, jako je podnikový architekt, který chce mít přehled architektury a technologie, než se rozhodnete, jaký přístup se má vybrat pro nové a moderní distribuované aplikace.

Jak používat tohoto průvodce

První část tohoto průvodce představuje kontejnery Dockeru, popisuje, jak si vybrat mezi .NET 6 a .NET Framework jako vývojovou architekturou a poskytuje přehled mikroslužeb. Tento obsah je určený pro architekty a pracovníky s technickými rozhodnutími, kteří chtějí přehled, ale nemusí se soustředit na podrobnosti implementace kódu.

Druhá část průvodce 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é k 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 PŘIPRAVENOU PRO PRODUKČNÍ PROSTŘEDÍ pro spouštění aplikací z reálného světa. Aplikace je ve skutečnosti v trvalém beta stavu, protože se používá také k testování nových potenciálně zajímavých technologií, jak se zobrazují.

Vyjádřete svůj názor.

Napsali jsme tento průvodce, který vám pomůže pochopit architekturu kontejnerizovaných aplikací a mikroslužeb v .NET. Průvodce a související referenční aplikace se bude vyvíjet, takže vítáme vaši zpětnou vazbu! Pokud máte komentáře k tomu, jak lze tuto příručku vylepšit, odešlete zpětnou vazbu na https://aka.ms/ebookfeedbackadrese .

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

Editory:

Mike Pope

Steve Hoag

Účastníci a revidoři:

Jeffrey Richter, Partner Software Eng, Tým Azure, Microsoft

Jimmy Bogard, hlavní architekt ve společnosti Headspring

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

Jimmy Nilsson, spolu-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, vedoucí pm, tým Entity Frameworku, Microsoft

Barry Dorrans, Sr. Security Program Manager

Rowan Miller, Sr. Program Manager, Microsoft

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

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

Nish Anil, Sr. Program Manager, tým .NET, Microsoft

Dylan Reisenberger, Architekt a Dev Lead 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 Dev Lead ve společnosti Plain Concepts

Eduard Tomas, Dev Lead ve společnosti Plain Concepts

Ramon Tomas, Developer ve společnosti Plain Concepts

David Sanz, Developer ve společnosti Plain Concepts

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

Pierre Millet, Sr. Consultant, Microsoft

Michael Friis, Produktový manažer, Docker Inc

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

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

Sumit Ghosh, Principal Consultant ve společnosti Neudesic

PUBLIKOVAL(A)

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

Divize Společnosti Microsoft Corporation

One Microsoft Way

Redmond, Washington 98052-6399

Copyright © 2022 by Microsoft Corporation

All rights reserved. Bez písemného souhlasu 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 "tak, jak je" a vyjadřuje názory a názory autora. Názory, názory a informace vyjádřené v této knize, včetně adres URL a dalších odkazů na internetové stránky, se mohou změnit bez předchozího upozornění.

Některé zde uvedené příklady slouží pouze k znázornění a jsou smyšlené. Neměli byste z nich vyvozovat žádné skutečné vztahy či spojení.

Microsoft a ochranné známky uvedené na https://www.microsoft.com 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ů.