DevOps
でぶおぷす
ひとことで言うと
開発と運用を統合し、CI/CDによる自動化で迅速かつ高品質なソフトウェアリリースを実現するアプローチ。
解説
開発(Development)と運用(Operations)を統合し、ソフトウェアの開発から運用までを一体的に行うアプローチ。継続的インテグレーション(CI)や継続的デリバリー(CD)などの自動化手法を活用し、迅速かつ高品質なリリースを実現する。開発チームと運用チームの協力体制を重視する文化・手法である。
くわしく解説
DevOps(Development + Operations)は、ソフトウェア開発チーム(Dev)と運用チーム(Ops)の壁を取り除き、両者が連携して継続的に価値を届けることを目指す文化・手法・ツールの総称である。従来は開発と運用が分断されていたため、リリースに時間がかかりフィードバックも遅かった。DevOpsでは継続的インテグレーション(CI)でコードの統合・テストを自動化し、継続的デリバリー(CD)でリリースまでのパイプラインを自動化することで、頻繁かつ安定したリリースを可能にする。アジャイル開発と親和性が高く、スクラムやカンバンと組み合わせて使われることが多い。ツールとしてはJenkins、GitLab CI/CD、Dockerなどが代表的である。クラウドネイティブ開発とも密接に関連している。試験ではCI/CDの概念、アジャイルとの関係、従来の開発・運用との違いが問われる。
具体例で考えよう
Webサービス企業がDevOpsを導入し、1日数十回のデプロイを自動化することで、ユーザからのフィードバックを即座に反映し競合に差をつけた。
試験対策ポイント
DevOpsのCI(継続的インテグレーション)とCD(継続的デリバリー/デプロイ)の定義を正確に覚える。アジャイルとの違い(DevOpsは開発と運用の統合)も頻出。