rights reserved. 1.現状のシステム構成分析 - インフラ ü 将来的なトラフィック増加に伴うスケーリング方針が定義されているか ü AWSが推奨する運用設計がされているか ü インフラ構成を安全に変更できる管理体制となっているか ü データ分析のための基盤が整備されているか ü リソース監視が適切に行われているか ü 情報セキュリティマネジメント
rights reserved. 1.現状のシステム構成分析 - アプリケーション ü AWSに適したアーキテクチャが採用されているか ü DRYの原則が守られているか ü アプリケーションはスケールしやすい構成か ü SQLアンチパターンの検証 ü コードレビュー、テストのポリシー ü Gitの運用、デプロイフロー
rights reserved. 2.アーキテクチャの再設計 • Infrastructure as Code • Terraform • Serverless Architecture • Amazon API Gateway • AWS Fargate • AWS Lambda • Best practice • AWS Well-Architected • The Twelve Factor App • Strangler Application Pattern • Framework • Ruby on Rails + Trailblazer • API • Open API • Identity as a Service • AWS Cognito • Chat message storage • Amazon DynamoDB
rights reserved. 2.アーキテクチャの再設計 - AWS Well-Architected • チェックリストの例 ü データのアクセスパターンを考慮しているか ü 疎結合なアーキテクチャを採用しているか ü ネットワーク設定について構成管理ツールなどを活用して自動化しているか • 2018年11月、Well-Architected Toolリリース • AWSマネージメントコンソールから開発者自身が Q&A形式でシステムのチェックを行うことができる
rights reserved. 2.アーキテクチャの再設計 - Twelve-Factor App I. コードベース バージョン管理されている1つのコードベースと複数 のデプロイ II. 依存関係 依存関係を明示的に宣言し分離する III. 設定 設定を環境変数に格納する IV. バックエンドサービス バックエンドサービスをアタッチされたリソースとし て扱う V. ビルド、リリース、実行 ビルド、リリース、実行の3つのステージを厳密に分 離する VI. プロセス アプリケーションを1つもしくは複数のステートレス なプロセスとして実行する VII. ポートバインディング ポートバインディングを通してサービスを公開する VIII.並行性 プロセスモデルによってスケールアウトする IX. 廃棄容易性 高速な起動とグレースフルシャットダウンで堅牢性を 最大化する X. 開発 / 本番一致 開発、ステージング、本番環境をできるだけ一致させ た状態を保つ XI. ログ ログをイベントストリームとして扱う XII. 管理プロセス 管理タスクを1回限りのプロセスとして実行する