DevOps
開発チームと運用チームの協働を促進し、ソフトウェアのデリバリーと品質を継続的に改善する文化 / プラクティスの総称
DevOps とは
DevOps は、Development (開発) と Operations (運用) の壁を取り払い、ソフトウェアのビルド・テスト・リリース・運用を一体的に行う文化とプラクティスの総称である。2009 年の DevOpsDays カンファレンス (ベルギー) で Patrick Debois が提唱し、急速に広まった。
単なるツールの導入ではなく、組織文化の変革を伴う点が本質だ。CI/CD パイプラインを構築しても、開発チームと運用チームが別々のサイロで働いていれば DevOps とは言えない。
DevOps 以前の問題
従来の開発プロセスでは、開発チームが「新機能を速くリリースしたい」、運用チームが「システムを安定させたい」という相反する目標を持ち、対立構造が生まれていた。
- 開発チームがコードを「壁の向こう」に投げ、運用チームがデプロイする
- 本番障害が起きると「開発のバグだ」「運用の設定ミスだ」と責任の押し付け合い
- リリースは月 1 回の大規模デプロイ。変更量が多いため障害リスクが高い
- 障害の原因調査に数日かかる (開発者が本番環境にアクセスできない)
DevOps の 3 つの道 (Three Ways)
Gene Kim が「The Phoenix Project」「The DevOps Handbook」で体系化した 3 つの原則。
第 1 の道 - フローの高速化
コードの変更が本番に反映されるまでのリードタイムを短縮する。
- CI/CD パイプラインで自動ビルド・テスト・デプロイ
- Infrastructure as Code でインフラの変更もコードレビュー対象に
- 小さな変更を頻繁にリリースし、1 回あたりのリスクを下げる
第 2 の道 - フィードバックの増幅
本番環境の状態を開発に素早くフィードバックする。
第 3 の道 - 継続的な学習と実験
失敗から学び、改善を繰り返す文化を醸成する。
- ポストモーテム (障害振り返り) を blame-free で実施
- カオスエンジニアリングで意図的に障害を注入し、耐障害性を検証
- 20% ルールや Hack Day で技術的負債の解消と実験を奨励
CALMS フレームワーク
DevOps の成熟度を評価するフレームワーク。
| 要素 | 意味 | 具体例 |
|---|---|---|
| Culture | 協働と信頼の文化 | blame-free ポストモーテム |
| Automation | 手作業の自動化 | CI/CD、IaC、自動テスト |
| Lean | 無駄の排除 | WIP 制限、バリューストリームマッピング |
| Measurement | 定量的な計測 | DORA メトリクス (後述) |
| Sharing | 知識の共有 | 内部ドキュメント、勉強会、ペアプログラミング |
DORA メトリクス
2014 年から続く DevOps Research and Assessment (DORA) の調査が特定した、DevOps の成熟度を測る 4 つのメトリクス。
以下は 2021 年版 Accelerate State of DevOps Report が公表した 4 クラスタの区分値である (調査年によって区分値は変わるため、比較するときは年度を揃える)。
| メトリクス | Elite | High | Medium | Low |
|---|---|---|---|---|
| デプロイ頻度 | オンデマンド (1 日複数回) | 週 1 回〜月 1 回 | 月 1 回〜半年 1 回 | 半年に 1 回未満 |
| リードタイム | 1 時間未満 | 1 日〜1 週間 | 1 ヶ月〜半年 | 半年以上 |
| 復旧時間 | 1 時間未満 | 1 日未満 | 1 日〜1 週間 | 半年以上 |
| 変更失敗率 | 0〜15% | 16〜30% | 16〜30% | 16〜30% |
区分値はアンケートの選択肢をそのまま帯にしたものなので、隣り合うクラスタが同じ帯になる項目 (変更失敗率は Elite 以外が同帯) や、帯と帯の間に空きが出る項目 (リードタイムの 1 週間〜1 ヶ月) がある。変更失敗率で差がつくのは Elite に入れるかどうかだけで、High 以下は同じ帯に収まっている点が 2021 年版の特徴である。
SRE との関係
SRE (Site Reliability Engineering) は DevOps の具体的な実装の 1 つで、Google の Ben Treynor Sloss が名付けた職種である。DevOps が「文化と原則」を定義するのに対し、SRE は「エラーバジェット」「SLO」「トイル削減」など具体的なプラクティスを提供する。両者の関係は「The Site Reliability Workbook」の章題「class SRE implements interface DevOps」、つまり SRE は DevOps というインターフェースを実装したクラスだ、という一文に集約されている。
DevOps のプラクティス
DevOps のプラクティスを以下に整理する。
| プラクティス | ツール |
|---|---|
| CI/CD | GitHub Actions, CodePipeline |
| IaC | SAM, CloudFormation, Terraform |
| モニタリング | CloudWatch, X-Ray |
| 自動テスト | Vitest, Playwright |
| ChatOps | Slack + Lambda |
# CI/CD パイプライン
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- run: npm ci && npm test
- run: sam build && sam deploy
# インフラの変更もコードレビュー
git checkout -b feature/add-sqs
# template.yaml を変更
git push && gh pr create
より深く学ぶには関連書籍が役立つ。
この記事は役に立ちましたか?
関連用語
CI/CD
コードの変更を自動的にビルド / テスト / デプロイするパイプライン
Infrastructure as Code
インフラの構成をコードで定義し、バージョン管理 / 自動化 / 再現性を実現する手法
SRE
Site Reliability Engineering の略で、ソフトウェアエンジニアリングの手法でシステムの信頼性を向上させる実践
DORA メトリクス
ソフトウェアデリバリーのパフォーマンスを測定する 4 つの指標
カオスエンジニアリング
本番環境で意図的に障害を注入し、システムの耐障害性を検証する実践手法
プラットフォームエンジニアリング
開発者の生産性を向上させる内部プラットフォームを構築 / 運用する実践
関連する記事
DevOps 本ガイド - CI/CD とインフラ自動化を学ぶ技術書の選び方
DevOps の文化と原則から CI/CD、IaC、オブザーバビリティまで学べる技術書の選び方と学習順序を紹介します。
チーム開発 / マネジメント本ガイド - 技術リーダーが読むべき本
チーム開発、1on1、技術マネジメントを学べる技術書の選び方を紹介。メンバー時代からマネージャーまで、段階別の読書ロードマップを解説します。
ディープラーニング本の選び方 - 原理 / 理論 / 実装 / 数学の 4 系統で整理 (2026 年 8 月時点)
ディープラーニング本の選び方を 4 系統 (原理を手で理解する本 / 理論を体系的に学ぶ本 / フレームワーク実装本 / 数学を補う本) に整理。2026 年 8 月時点の定番書を目的別 / レベル別に紹介し、賞味期限の見極め方も解説します。