cloud-design-patterns について
アーキテクトや分散システムの設計者向けの、技術に依存しないクラウド設計パターン集です。一般的な課題を扱い、分散システムの前提やパターン選択のトレードオフを整理します。
主な機能
- 017 分野のパターンを掲載
- 02設計課題とパターンを対応付け
- 03分散システムの誤った前提を解説
- 04選択時のトレードオフを提示
活用シーン
- 01クラウドワークロードの信頼性を計画
- 02性能や負荷管理の方式を選定
- 03メッセージングやイベント駆動を設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill cloud-design-patternsインストール後、Claude Code で/cloud-design-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/deployment-operational.mdevent-driven.mdazure-service-mappings.mdbest-practices.mdperformance.mdsecurity.mdmessaging-integration.mdreliability-resilience.mdarchitecture-design.md詳細
クラウド設計パターン
アーキテクトは、プラットフォームサービス、機能、コードを統合してワークロードを設計し、機能要件と非機能要件の両方を満たします。効果的なワークロードを設計するには、これらの要件を理解し、ワークロードの制約に伴う課題に対処できるトポロジと手法を選択する必要があります。クラウド設計パターンは、多くの一般的な課題に対する解決策を提供します。
システム設計は、確立された設計パターンに大きく依存します。これらのパターンを組み合わせて使用することで、インフラストラクチャ、コード、分散システムを設計できます。これらのパターンは、信頼性が高く、安全性に優れ、コストが最適化され、運用効率が高く、高性能なクラウドアプリケーションを構築するうえで非常に重要です。
以下のクラウド設計パターンはテクノロジーに依存しないため、あらゆる分散システムに適しています。Azure、その他のクラウドプラットフォーム、オンプレミス環境、ハイブリッド環境全体にこれらのパターンを適用できます。
クラウド設計パターンによる設計プロセスの強化
クラウドワークロードは、分散コンピューティングの誤謬の影響を受けやすくなっています。これは、分散システムの動作に関する、よくある誤った前提です。たとえば、次のような誤謬があります。
- ネットワークは信頼できる。
- レイテンシはゼロである。
- 帯域幅は無限である。
- ネットワークは安全である。
- トポロジは変化しない。
- 管理者は1人である。
- コンポーネントのバージョン管理は簡単である。
- 可観測性の実装は後回しにできる。
こうした誤解は、ワークロードの設計に欠陥をもたらす可能性があります。設計パターンは、こうした誤解をなくすものではありませんが、認識を促し、補償策や緩和策を提供します。各クラウド設計パターンにはトレードオフがあります。実装方法ではなく、特定のパターンを選ぶ理由に注目してください。
参考資料
| 参考資料 | 読み込むタイミング |
|---|---|
| 信頼性と回復性のパターン | アンバサダー、バルクヘッド、サーキットブレーカー、補償トランザクション、再試行、ヘルスエンドポイント監視、リーダー選出、サーガ、逐次コンボイ |
| パフォーマンスパターン | 非同期リクエスト・応答、キャッシュアサイド、CQRS、インデックステーブル、マテリアライズドビュー、優先度キュー、キューベースの負荷平準化、レート制限、シャーディング、スロットリング |
| メッセージングと統合のパターン | コレオグラフィー、クレームチェック、競合コンシューマー、メッセージングブリッジ、パイプとフィルター、パブリッシャー・サブスクライバー、スケジューラー・エージェント・スーパーバイザー |
| アーキテクチャと設計のパターン | 腐敗防止レイヤー、フロントエンド向けバックエンド、ゲートウェイの集約/オフロード/ルーティング、サイドカー、ストラングラーフィグ |
| デプロイと運用のパターン | コンピューティングリソースの統合、デプロイスタンプ、外部構成ストア、ジオード、静的コンテンツホスティング |
| セキュリティパターン | フェデレーション ID、隔離、バレットキー |
| イベント駆動型アーキテクチャのパターン | イベントソーシング |
| ベストプラクティスとパターンの選択 | 適切なパターンの選択、Well-Architected Framework との整合、ドキュメント、監視 |
| Azure サービスの対応表 | 各パターンカテゴリで一般的に使用される Azure サービス |
パターンカテゴリーの概要
| カテゴリー | パターン | 焦点 |
|---|---|---|
| 信頼性と回復性 | 9 パターン | フォールトトレランス、自己修復、適切な縮退 |
| パフォーマンス | 10 パターン | キャッシュ、スケーリング、負荷管理、データ最適化 |
| メッセージングと統合 | 7 パターン | 疎結合、イベント駆動型通信、ワークフローの調整 |
| アーキテクチャと設計 | 7 パターン | システム境界、API ゲートウェイ、移行戦略 |
| デプロイと運用 | 5 パターン | インフラストラクチャ管理、地理的分散、構成 |
| セキュリティ | 3 パターン | アイデンティティ、アクセス制御、コンテンツ検証 |
| イベント駆動型アーキテクチャ | 1 パターン | イベントソーシングと監査証跡 |