開発と運用の両チームが協力しながら、短いサイクルで機能追加や改修をして、情報システムを継続的に成長させていく。そんなDevOpsを実践すると、現場の負担が大きく高まる。

 DevOpsでは毎月あるいは毎週、毎日のように機能追加や改修をしてリリースするが、そのたびに開発だけでなく、バージョン管理、テスト環境の構築、テスト、本番環境へのデプロイなどの一連の作業を繰り返すことになる。さらに、開発チームと運用チームが一緒に集まるミーティングを増やす必要もある。

 現場の負担が増えれば、どうなるか。忙しさのあまりミスが誘発され、システムの品質が下がる。その対応にまた手を取られ、次のリリースが停滞する。そうなるようでは本末転倒だ。

 そのためDevOpsの実践には、開発・運用支援ツールの活用が不可欠である(図1)。リリースの頻度を高めても、現場の負担増を最小限に抑える。そんな仕組みを作ることが、DevOpsを進めていく上で必須条件となる。

図1●DevOpsに役立つ主なツールの構成
PART6で取り上げるツールに絞り、全体の構成を示した。DevOpsを実践する上で不可欠なツールばかりだ
[画像のクリックで拡大表示]

 そこで以降では、DevOpsの実践に役立つツールを、OSS(オープンソースソフト)を中心に七つのジャンルに分けて紹介する。そのジャンルは「バージョン管理」「継続的インテグレーション(CI)」「デプロイ」「環境構築」「監視」「情報共有」「(各ツールからの)出力情報の集約」である。さらに最後に、ツール導入の進め方についての注意点を示す。

バージョン管理ツール
テストコードや設定情報にも適用

 まずは、バージョン管理ツールだ。「Subversion」「Git」など数多くのツールが存在し、既に多くの現場が導入している。ただしDevOpsでは、バージョン管理ツールの活用範囲が広がる。

 頻繁なリリースに対応するため、ソースコードにとどまらず、テストコード、環境構築やデプロイ用のスクリプト、開発環境や本番環境の設定情報など、システムを動作させる上で必要なものすべてをバージョン管理の対象とする。テストコード、スクリプト、設定情報も、バージョンアップさせながら使っていくわけだ。

 同様の目的で、バージョン管理ツールが備える「ブランチ機能」の活用も重要になる。これは、「ver1.1」と「ver2.0」といった具合に複数のバージョンを個別に管理する機能のこと。開発用とリリース用のブランチをそれぞれ設け、開発が完了した時点で開発用のブランチをリリース用にマージし、テストを実施した上でリリースするとよい。バージョン管理ツールの中でもGitはブランチの切り替えが容易であり、この利点を評価して導入する現場が増えているようだ。

 バージョン管理ツールは、開発チームと運用チームが個別に用意するのではなく統一しよう。そうすることで、運用チームが作成したスクリプトを、開発チームが使って開発環境を構築する―といったことを実現したい。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。