非機能要件のチェック
この章では、Webアプリケーション開発コースの課題として構築したプラットフォームの非機能要件を、主要観点に絞ってチェックします。
CI/CDパイプラインの構築まで完了したプラットフォームに対して、可用性・セキュリティ・運用性などの主要観点をチェック基準に沿って自ら確認します。
1. この章の目的
ここまで構築した自作アプリケーションは「ひとまず動く」状態になります。しかし、これと「実務で運用に耐える」状態は別の話です。可用性、性能、セキュリティ、運用性など、各非機能要件の観点で見ると、改善の余地が必ずあります。
ここで重要なのは、その構成を自らの判断で設計・構築したという事実です。「なぜその技術を選んだのか」「他に選択肢はなかったのか」「何を見落としていたか」を、自分が下した判断に対して振り返ることができます。他人が作った構成を評価するよりも、自分が作った構成を評価するほうが、判断の背景を知っている分だけ深い気づきが得られます。
本コースでは12週内に完走することを想定しているため、全観点を網羅的にチェックするのではなく、自作アプリケーションの特性上優先度が高い主要観点に絞ってチェックします。網羅的なチェックや、不足項目への実装対応は、12週外で継続する形になります。
2. 実施要件
ここまで構築したプラットフォームを、何らかのチェック基準(フレームワーク)に沿って主要な非機能要件の観点で評価します。採用するチェック基準は自由に選んで構いません。代表的なチェック基準は以下のとおりです。
| チェック基準 | 概要 |
|---|---|
| 非機能要件チェックリスト | DevOps Camp で独自に整理した観点で、技術選定からセキュリティ・運用まで網羅的に確認できる |
| AWS Well-Architected Framework | AWS が提唱する設計原則で、6つの柱(運用上の優秀性、セキュリティ、信頼性、性能効率、コスト最適化、持続可能性)からシステムを評価できる |
| NIST Cybersecurity Framework | 米国国立標準技術研究所が定めるサイバーセキュリティの枠組みで、識別/防御/検知/対応/復旧の5機能でセキュリティ態勢を評価できる |
| CIS Benchmarks | CIS が公開する各種システム・サービスのセキュリティ設定ガイドラインに照らして、設定の妥当性を確認できる |
評価にあたっては以下のような流れを想定しています。
- 採用するチェック基準を決める
- 自作アプリケーションの特性上、優先度の高い主要観点を選ぶ
- 各観点について、構築済みのインフラ構成・設定・コードと照らし合わせて現状の達成度を確認する
- 実装できている箇所は、どの機能・サービス・設定によって実現されているかを記録する
- 不足している箇所と、改善の余地がある箇所をリストアップする
- 12週外で対応する順序と対応方針を見立てる
確認方法は机上で構いません。実機での負荷試験や障害注入まで行う必要はなく、構築済みのインフラ構成・設定・コードを照らし合わせる形で評価します。
3. 提出物
下記内容を提出フォームより提出してください。
| 項目 | 内容 |
|---|---|
| 概要 | 評価対象としたプラットフォームの範囲、採用したチェック基準、評価のアプローチを、提出物全体のサマリとして簡潔に記載する |
| チェック結果 | 主要観点に絞ったチェック項目について、現状の達成度(実装できている/一部実装/未実装など)と判断根拠を記載する。実装できている項目は、どの機能・サービス・設定で実現しているかを併せて記載する |
| 優先度と対応方針 | チェック結果で不足と判断した項目について、優先度の判断軸と、12週外で対応する場合の順序・対応方針の見立てを記載する |
| まとめ | 評価中に苦労したこと、気づいたこと、学んだことを振り返る |