在 Linux 容器中重新架構為微服務 - AWS 規範指引

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

在 Linux 容器中重新架構為微服務

微服務架構是一種將單一應用程式開發為小型服務套件的方法。每個服務都在自己的流程中運行,並通過輕型機制與其他服務進行通信。這種方法將單一應用程序分解為較小的服務,其中每個服務都有單一目的,並部署為容器。

使用案例

在下列情況下,此移轉策略很有用

  • 您想要將整合式系統分解為微服務。

  • 您有可用於重構的資源和時間。

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

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

優點

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

  • 更快的創新速度,因為它更容易在微服務架構中添加新功能

  • 高可用用用用用用用

  • 提高靈活性和隨需擴展性

  • 獨立部署和現代持續整合和持續部署 (CI/CD)

  • 強大的模組界限和技術多樣性

缺點

  • 重構的工作量和成本

  • 潛在營運複雜性

AWS 服務

您可以使用下列AWS服務來開發以微服務為基礎的系統:

工具

AWS專業服務提供客製化工具和服務,協助您將整合式應用程式重構為微服務。

部署決策

您可以選擇下列五種部署選項:

  • 如果您想要完全控制運算環境的組態 (包括記憶體和儲存設定),以及控制作業系統修補程式,請將應用程式部署為 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 microservices in Linux containers on AWS