Linux コンテナのマイクロサービスとしての再設計 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Linux コンテナのマイクロサービスとしての再設計

マイクロサービスアーキテクチャは、単一のアプリケーションを小さなサービスのスイートとして開発するアプローチです。各サービスは独自のプロセスで実行され、軽量なメカニズムを通じて他のサービスと通信します。このアプローチでは、モノリシックなアプリケーションをより小さなサービスに分割し、各サービスが単一の目的を果たし、コンテナとしてデプロイします。

ユースケース

この移行戦略は、次の場合に役立ちます。

  • モノリシックシステムをマイクロサービスに分割する必要があります。

  • リファクタリングに使えるリソースと時間があります。

  • .NET Framework の依存関係はすべて解決できます。

  • 長時間稼働アプリケーションを使用している場合です。

利点

この移行アプローチには、オンプレミスの.NET アプリケーションと比較すると、次のような利点があります。

  • マイクロサービスアーキテクチャに新しい機能を追加するのが簡単なため、イノベーションが速くなります

  • 高い可用性と信頼性

  • 俊敏性とオンデマンドのスケーラビリティの向上

  • 独立したデプロイ (CI/CD) のパイプラインと継続的な統合や継続的なデプロイ (CI/CD) のパイプライン

  • 強固なモジュール境界と技術的多様性

欠点

  • リファクタリングの労力とコスト

  • 潜在的な運用が複雑候補

AWS のサービス

AWS以下のサービスを使用して、マイクロサービスベースのシステムを開発できます。

Tools

AWSプロフェッショナルサービスでは、モノリシックアプリケーションをマイクロサービスにリファクタリングするのに役立つカスタムツールとサービスを提供します。

デプロイ

5 つのデプロイオプションから選択できます。

  • メモリやストレージの設定やオペレーティングシステムのパッチなど、コンピューティング環境の設定を完全に制御したい場合は、アプリケーションを EC2 インスタンスに Linux コンテナとしてデプロイします。

  • コンテナを Kubernetes で管理し、サーバーレスコンテナとして実行したい場合は、Fargate を使用して Amazon EKS に Linux コンテナとしてアプリケーションをデプロイします。

  • コンテナを Amazon ECS で管理し、サーバーレスコンテナとして実行するには、Fargate を使用して Amazon ECS に Linux コンテナとしてアプリケーションをデプロイします。

  • コンテナを Kubernetes で管理したいが、コンテナのコンピューティングリソースは自分で管理したい場合は、アプリケーションを Linux コンテナとして Amazon EKS にデプロイします。

  • コンテナを Amazon ECS で管理したいが、コンテナのコンピューティングリソースは自分で管理したい場合は、アプリケーションを Linux コンテナとして Amazon ECS にデプロイします。

Refactoring .NET applications as microservices in Linux containers on AWS