経営情報システム
補助開発手法・ツール(DevOps、CI/CD、バージョン管理)
DevOps、CI/CD、バージョン管理を補助論点として整理する。
この章で覚えておきたいこと
- DevOpsは、開発部門と運用部門が分断せず、リリース後の運用改善まで含めて継続的に協調する考え方です。
- CIは変更をこまめに統合して自動ビルドや自動テストで問題を早期発見する仕組み、CDはその成果物を継続的に提供可能な状態へ保つ仕組みです。
- バージョン管理は、変更履歴、差分、レビュー、ロールバックの土台であり、CI/CDの起点にもなります。
- DevOpsは開発手法の名前だけでなく、非機能要求、SLA、SLMのような運用品質の論点とつながって出題されます。
基本知識
DevOpsの位置づけ
DevOpsは、DevelopmentとOperationsをつなぎ、開発から運用までを一連の流れとして改善する考え方です。単に開発速度を上げる話ではなく、障害対応、監視、フィードバック、継続的改善まで含めて品質と提供速度の両立を目指します。
試験では、アジャイルやスクラムと並べて出されても、判断軸は「短い反復」ではなく「開発と運用の連携」にあります。開発後に運用へ丸投げする説明はDevOpsではありません。
CI/CDとバージョン管理
CIは、ソースコードを頻繁に共有リポジトリへ統合し、自動ビルドや自動テストで不具合を早く見つける考え方です。CDは、その結果として品質確認済みの変更を継続的にリリース可能な状態へ保ちます。
バージョン管理は、誰がいつ何を変えたかを残し、ブランチやマージで複数人開発を安全に進める仕組みです。CI/CDは、バージョン管理システムへのコミットやマージを契機に動くことが多いため、3つは別々の用語ではなく一続きで理解すると整理しやすいです。
非機能要求、SLA、SLMとの接続
DevOpsが重視するのは、機能を作ることだけではありません。性能、可用性、拡張性、保守性、セキュリティのような非機能要求を満たし続けることも重要です。したがって、運用段階で測るべき品質水準と結び付けて読む必要があります。
SLAはサービス提供者と利用者の間で合意するサービス水準、SLMはそのサービス水準を維持し改善する管理活動です。SLAが約束の中身、SLMが運営の仕組みと覚えると、DevOpsとの接続が見えやすくなります。DevOpsは、CI/CDや監視、自動化を使ってSLMを回しやすくする考え方です。
この章のまとめ
- DevOpsは、開発と運用の連携を継続的に回す考え方です。アジャイルの反復そのものとは区別します。
- CIは頻繁な統合と自動確認、CDは継続的な提供、バージョン管理はその前提基盤です。
- DevOpsは運用品質とも結び付きます。非機能要求を満たし、SLAで合意した水準を、SLMで管理し続ける流れまで押さえると選択肢を切り分けやすいです。
一次試験過去問での出方
2016年度第15問では、DevOpsそのものだけでなく、非機能要求、SLA、SLM、現状分析とあるべき姿の整理が同じ設問群で問われました。開発と運用の連携を、運用品質の管理論点とつないで読めるかがポイントでした。
近年の開発モデル問題では、DevOpsがアジャイルやスクラムと並べて置かれます。このときは「短い反復」ではなく「開発と運用の協調」「自動化による継続的改善」をキーワードに判断します。