[Wiki] [一覧]

クラウドアプリケーション設計原則

概要

『クラウドアプリケーション 10の設計原則』は、Microsoft の Azure アプリケーションアーキテクチャガイド をもとに、クラウドで動くアプリケーションを設計する際の普遍的な原理原則をまとめたものです。特定のクラウドに依存しない、スケーラブルで回復力のあるシステムを作るための指針です。

10の設計原則

  1. 自己修復できるよう設計する(Design for self-healing) — 障害は起こる前提で、自動回復を組み込む
  2. あらゆるものを冗長化する(Make all things redundant) — 単一障害点をなくす
  3. 調整を最小化する(Minimize coordination) — コンポーネント間の調整を減らしスケーラビリティを高める
  4. スケールアウトを前提に設計する(Design to scale out) — 水平方向に増やせる構成
  5. 上限を見越して分割する(Partition around limits) — サービスやDBの上限を考慮してパーティション分割
  6. 運用を見据えて設計する(Design for operations) — 運用チームが監視・診断できるように(オブザーバビリティ
  7. マネージドサービスを使う(Use managed services) — 運用負荷を委譲する
  8. 用途に最適なデータストアを選ぶ(Use the best data store for the job) — ポリグロット・パーシステンス
  9. 進化を見据えて設計する(Design for evolution) — 変更に強い疎結合
  10. ビジネスニーズに基づいて作る(Build for the needs of business) — 過剰設計を避け要件に合わせる

関連トピックとの接続

関連ページ

参考資料