重新架構為 Linux 容器 - AWS 規範指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

重新架構為 Linux 容器

透過將 .NET Framework 應用程式移植到 .NET Core 或 .NET 6,您可以在多個平台上執行應用程式、降低授權成本、提高效能並改善可擴充性。

使用案例

這個遷移策略在下列其中一種案例內很有用:

  • 您有足夠的資源和時間來重構您的應用程式。

  • 您可以解決所有 .NET 框架依賴關係。

  • 您有一個長時間運行的應用程序。

優點

與內部部署 .NET 應用程式相比,此移轉方法可提供下列優點:

  • 降低總體擁有成本 (TCO)

  • 改善安全性和效能

  • 加速創新

  • 轉換為雲端原生應用程式的優點

  • 原始碼

缺點

  • 重構的工作量和成本

AWS 服務

用於存儲容器映像:

對於協調容器:

AWS Fargate是無伺服器的 pay-as-you-go 運算引擎,可讓您專注於建置應用程式,而無需管理伺服器。Fargate 兼容 Amazon ECS 和 Amazon EKS。

工具

工具 用途 Resource
.NET 此分析工具會掃描 .NET 架構應用程式,並產生 .NET 核心相容性評估。評估可協助您更快地將應用程式移植到 Linux。
AWS應用程式容器 (A2C) A2C 是一個命令列工具,用於將 .NET 和 Java 應用程式更新到容器化應用程式內。

部署決策

您可以從五個部署選項中選擇:

  • 如果您想要完全控制運算環境的組態 (包括記憶體和儲存設定),以及控制作業系統修補程式,請將應用程式部署為 EC2 執行個體上的 Linux 容器。

  • 如果您希望容器由 Kubernetes 管理並以無伺服器容器的形式執行,請使用 Fargate 將您的應用程式部署為 Amazon EKS 上的 Linux 容器。

  • 如果您希望容器由 Amazon ECS 管理並以無伺服器容器的形式執行,請使用 Fargate 將您的應用程式部署為 Amazon ECS 上的 Linux 容器。

  • 如果您希望容器由 Kubernetes 管理,但想要自行管理容器的運算資源,請在 Amazon EKS 上將應用程式部署為 Linux 容器。

  • 如果您希望容器由 Amazon ECS 管理,但想要自行管理容器的運算資源,請在 Amazon ECS 上將您的應用程式部署為 Linux 容器。

Refactoring .NET applications as Linux containers on AWS