開発(Development)と運用(Operations)を合成した言葉で、「デブオプス」と読む。アプリケーション開発者とITインフラストラクチャーの運用担当者との連携を密にすることで、開発者によるITインフラの調達や変更の要求に対して、運用担当者が迅速に応えられる体制を作り出すことを指す。

 DevOpsを実現する理想的な仕組みは、開発者が運用担当者に依頼しなくても、開発者自らが新しいサーバーやストレージを用意したり、OSやミドルウエアの設定を変更したりできるようにするものだ。従来は難しかったが、クラウドや後述する「Chef」のような新しい運用管理ツールの登場によって、実現可能になった。

 「Amazon Web Services」などのパブリッククラウドや、「CloudStack」や「OpenStack」などで構築したプライベートクラウドは、仮想マシンなどを制御する管理用API(アプリケーション・プログラミング・インタフェース)を備える。開発者はリクエストの入力画面である「セルフサービスポータル」を利用したり、管理用APIを呼び出すスクリプトを記述したりすることで、運用担当者を介さずに仮想マシンを増やしたりストレージを拡張したりできる。

 OSやミドルウエアの設定を開発者が自在にコントロールできるツールも登場した。代表格は、米オプスコード(Opscode)が開発するChefだ。Chefは、リレーショナルデータベースソフトの「MySQL」やWebサーバーの「Apache」などの設定ファイルを変更するスクリプトを、プログラミング言語の「Ruby」を使って記述できる。

 従来の運用管理ツールは、運用担当者が利用するものだった。Chefは開発者を含むITインフラのエンドユーザーが、運用管理ツールを利用できるようにした。日本IBMも2012年10月に、開発者用の新しい運用管理ツール「IBM SmarterCloud Continuous Delivery」を発売した。こうした“開発者が使う運用管理ツール”のことを、最近は「DevOpsツール」と呼ぶ。

 DevOpsに注目が集まった背景には、「アジャイル開発」や「継続的インテグレーション(CI、Continuous Integration)」「リーンスタートアップ」といったアプリケーションを小刻みに改善する開発手法や経営手法が普及したことがある。

 アジャイル開発やCIを実践する上では、まずアプリケーションを小さく作り上げ、後から何度もそれを改善する。アプリケーションの修正回数が増えると、ITインフラの変更も増える。アジャイル開発やCIの普及で、開発者と運用担当者との連携を密にする必要があるとの認識が高まり、「DevOps」という単語が欧米で広まった。アジャイル開発の専門家が2009年から開催している「DevOps Day」というイベントも普及を後押ししている。