設計と実装のパターンDesign and Implementation patterns

優れた設計では、コンポーネントの設計とデプロイの一貫性や統一性、管理と開発を簡素化する保守容易性、コンポーネントやサブシステムを他のアプリケーションやシナリオで利用できる再利用性などの要素を網羅しています。Good design encompasses factors such as consistency and coherence in component design and deployment, maintainability to simplify administration and development, and reusability to allow components and subsystems to be used in other applications and in other scenarios. 設計および実装フェーズで行われる意思決定は、クラウドでホストされているアプリケーションやサービスの品質と総保有コストに大きな影響を及ぼします。Decisions made during the design and implementation phase have a huge impact on the quality and the total cost of ownership of cloud hosted applications and services.

PatternPattern まとめSummary
AmbassadorAmbassador コンシューマー サービスまたはアプリケーションの代わりにネットワーク要求を送信するヘルパー サービスを作成します。Create helper services that send network requests on behalf of a consumer service or application.
破損対策レイヤーAnti-Corruption Layer 最新アプリケーションとレガシ システムの間にファサード、すなわちアダプター レイヤーを実装します。Implement a façade or adapter layer between a modern application and a legacy system.
フロントエンド用バックエンドBackends for Frontends 特定のフロント エンド アプリケーションやインターフェイスによって使用される個別のバックエンド サービスを作成します。Create separate backend services to be consumed by specific frontend applications or interfaces.
CQRSCQRS 個別のインターフェイスを使用して、データを更新する操作とデータを読み取る操作を分離します。Segregate operations that read data from operations that update data by using separate interfaces.
コンピューティング リソース統合Compute Resource Consolidation 複数のタスクまたは操作を 1 つのコンピューティング単位に統合します。Consolidate multiple tasks or operations into a single computational unit
外部構成ストアExternal Configuration Store アプリケーション展開パッケージから、一元管理される場所に構成情報を移動します。Move configuration information out of the application deployment package to a centralized location.
ゲートウェイ集約Gateway Aggregation ゲートウェイを使用して、複数の個々の要求を 1 つの要求に集約します。Use a gateway to aggregate multiple individual requests into a single request.
ゲートウェイ オフロードGateway Offloading 共有または専用のサービス機能の負荷をゲートウェイ プロキシにオフロードします。Offload shared or specialized service functionality to a gateway proxy.
ゲートウェイ ルーティングGateway Routing 単一のエンドポイントを使用して複数のサービスに要求をルーティングします。Route requests to multiple services using a single endpoint.
リーダー選定Leader Election 1 つのインスタンスを、他のインスタンスの管理を担当するリーダーとして選定することで、分散アプリケーション内で連携するタスク インスタンスのコレクションによって実行されるアクションを調整します。Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances.
パイプとフィルターPipes and Filters 複雑な処理を実行するタスクを、再利用できる一連の独立した要素に分解します。Break down a task that performs complex processing into a series of separate elements that can be reused.
SidecarSidecar アプリケーションのコンポーネントを別のプロセスまたはコンテナーにデプロイして、分離性とカプセル化を実現します。Deploy components of an application into a separate process or container to provide isolation and encapsulation.
静的コンテンツ ホスティングStatic Content Hosting 静的コンテンツを、クライアントに直接配信できるクラウド ベースのストレージ サービスにデプロイします。Deploy static content to a cloud-based storage service that can deliver them directly to the client.
ストラングラー フィグStrangler Fig 機能の特定の部分を新しいアプリケーションやサービスに徐々に置き換えることで、レガシ システムを段階的に移行します。Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services.