naritai.app

開発手法・ツール(DevOps、CI/CD、バージョン管理)

この章で覚えておきたいこと

DevOpsとCI/CD・バージョン管理の全体像

基本知識

DevOpsの位置づけ

DevOpsは開発と運用を分離せず改善する考え方

DevOpsは、DevelopmentとOperationsをつなぎ、開発から運用までを一連の流れとして改善する考え方です。単に開発速度を上げる話ではなく、障害対応、監視、フィードバック、継続的改善まで含めて品質と提供速度の両立を目指します。

試験では、アジャイルやスクラムと並べて出されても、判断軸は「短い反復」ではなく「開発と運用の連携」にあります。開発後に運用へ丸投げする説明はDevOpsではありません。

CI/CDとバージョン管理

CI/CDとバージョン管理の流れ

CIは、ソースコードを頻繁に共有リポジトリへ統合し、自動ビルドや自動テストで不具合を早く見つける考え方です。CDは、その結果として品質確認済みの変更を継続的にリリース可能な状態へ保ちます。

バージョン管理は、誰がいつ何を変えたかを残し、ブランチやマージで複数人開発を安全に進める仕組みです。CI/CDは、バージョン管理システムへのコミットやマージを契機に動くことが多いため、3つは別々の用語ではなく一続きで理解すると整理しやすいです。

非機能要求、SLA、SLMとの接続

非機能要求とSLA・SLMをDevOpsで改善する流れ

DevOpsが重視するのは、機能を作ることだけではありません。性能、可用性、拡張性、保守性、セキュリティのような非機能要求を満たし続けることも重要です。したがって、運用段階で測るべき品質水準と結び付けて読む必要があります。

SLAはサービス提供者と利用者の間で合意するサービス水準、SLMはそのサービス水準を維持し改善する管理活動です。SLAが約束の中身、SLMが運営の仕組みと覚えると、DevOpsとの接続が見えやすくなります。DevOpsは、CI/CDや監視、自動化を使ってSLMを回しやすくする考え方です。

この章のまとめ

DevOps、CI/CD、バージョン管理、SLA、SLMの判断軸まとめ

一次試験過去問での出方

2016年度第15問では、DevOpsそのものだけでなく、非機能要求、SLA、SLM、現状分析とあるべき姿の整理が同じ設問群で問われました。開発と運用の連携を、運用品質の管理論点とつないで読めるかがポイントでした。

近年の開発モデル問題では、DevOpsがアジャイルやスクラムと並べて置かれます。このときは「短い反復」ではなく「開発と運用の協調」「自動化による継続的改善」をキーワードに判断します。