使用 ASP.NET Core 和 Azure 架構現代化 Web 應用程式

Book cover image of the Architect Modern Web Applications guide.

EDITION v6.0 - 已更新為 ASP.NET Core 6.0

如需書籍更新和社群貢獻,請參閱 變更記錄

發行者

Microsoft 開發人員部門 .NET 和 Visual Studio 產品小組

Microsoft Corporation 部門

One Microsoft Way

Redmond, Washington 98052-6399

Microsoft Corporation 著作權 © 2022

著作權所有,並保留一切權利。 本書內容的任何部分在未經過發行者書面許可下,不得以任何形式或透過任何方式進行重製或傳送。

本書依照「現況」提供,代表作者的觀點和意見。 本書中所述之觀點、意見與資訊 (包括 URL 及其他網際網路的網站參考) 如有變更,恕不另行通知。

此處描述的一些範例僅供說明之用,純屬虛構。 並未影射或關聯任何真實的人、事、物。

Microsoft 與列於 https://www.microsoft.com「商標」網頁的商標是 Microsoft 集團的商標。

Mac 與 macOS 是 Apple Inc. 的商標。

Docker 檔案標誌是 Docker, Inc. 的注冊商標,由許可權使用。

所有其他商標和標誌屬於其各自擁有者的財產。

作者︰

Steve "ardalis" Smith - 軟體架構設計人員和講師 - Ardalis.com

編輯者:

Maira Wenzel

  • 本電子書也以 PDF 格式提供, (英文版僅適用于下載)

  • 複製/派生參考應用程式eShopOnWeb on GitHub

簡介

.NET 6 和 ASP.NET Core提供數個優於傳統 .NET 開發的優點。 如果您的應用程式成功有一些或全部重要,您應該針對伺服器應用程式使用 .NET 6:

  • 跨平台支援。

  • 使用微服務。

  • 使用 Docker 容器。

  • 高效能和延展性需求。

  • 相同伺服器上應用程式之 .NET 版本的並存版本控制。

傳統的 .NET 4.x 應用程式可以支援許多這些需求,但 ASP.NET Core和 .NET 6 已優化以提供上述案例的改善支援。

越來越多的組織會選擇使用 Microsoft Azure 這類服務,以在雲端中裝載其 Web 應用程式。 如果下列對您的應用程式或組織十分重要,則您應該考慮將應用程式裝載在雲端中:

  • 降低對資料中心成本的投資 (硬體、軟體、空間、公用程式、伺服器管理等等)

  • 彈性定價 (根據使用量付費,而閒置容量不需付費)。

  • 可靠性極高。

  • 改善的應用程式行動性;輕鬆地變更您應用程式的部署位置和方式。

  • 彈性容量;根據實際需求相應增加或減少。

使用 ASP.NET Core 建置 Web 應用程式 (且其裝載於 Azure) 提供許多比傳統替代項目更具競爭性的優點。 ASP.NET Core 已針對現代化 Web 應用程式開發做法和雲端裝載案例最佳化。 在本指南中,您將學習如何架構 ASP.NET Core 應用程式,以善加利用這些功能。

版本

本指南已經過修訂,以涵蓋 .NET 6.0 版本,以及許多與相同「波浪」技術相關的額外更新 (,也就是 Azure 和其他協力廠商技術) .NET 6.0 版本一起產生。 這就是書籍版本也已更新為 6.0版的原因。

目的

本指南提供使用 ASP.NET Core 和 Azure 建置整合型Web 應用程式的端對端指引。 此處的「整合型」是指這些應用程式會部署為單一單位,而不是互動服務和應用程式的集合。 在某些內容中, 一應用程式一詞可能會用作封閉式,但在大部分情況下,單一應用程式比由許多不同服務組成的應用程式更容易建置、部署和偵錯,同時仍達到商務需求。

本指南與 .NET 微服務互補。容器化 .NET 應用程式的架構,著重于 Docker、微服務,以及部署容器以裝載企業應用程式。

.NET 微服務。 容器化 .NET 應用程式的架構

誰應該使用本指南

本指南的對象主要是開發人員、開發負責人和架構設計人員,而他們對使用 Microsoft 技術和服務在雲端中建置現代化 Web 應用程式感興趣。

次要對象是技術決策者,其已熟悉 ASP.NET 或 Azure,並尋找是否可以升級為新專案或現有專案之 ASP.NET Core 的相關資訊。

此指南的使用方式

本指南已壓縮成相當小型的檔,著重于使用新式 .NET 技術和 Azure 建置 Web 應用程式。 因此,可以完整讀取它,以提供對這類應用程式和其技術考量的基礎了解。 本指南與其範例應用程式也可以作為起點或參考。 使用相關聯的範例應用程式作為您專屬應用程式的範本,或查看如何組織應用程式的元件組件。 當您要為專屬應用程式權衡這些選擇時,請回頭參考指南內架構和技術選項的原則與說明還有決策考量。

請隨意將本指南轉寄給您的小組,協助確保對這些考量和機會有共同的了解。 讓所有人都使用一組共用術語和基礎原則,有助確保套用一致的架構模式和做法。

參考資料