1回で分かる:DevOpsとアジャイル開発の関係IT部長さんのための技術トレンド【第2回】

最近よく耳にする「DevOps」という言葉。抽象的な表現故に、調べれば調べるほど混乱するという声も多く聞く。本稿ではそんなDevOpsについて、求められる背景、そしてアジャイルとの関係を整理しながら解説する。

2013年11月05日 08時00分 公開
[林田宏介セールスフォース・ドットコム]

DevOpsとは?

 DevOpsとは、システムにおける開発者と運用担当者が連携して協力し合う考え方のことです。この考え方が必要とされた背景には、開発者と運用担当者は双方の役割によってリリースサイクルが異なるため、ビジネスの要求に合わせた仕様変更にシステムが対応しきれないという問題がありました。それを解決するアプローチが必要になったことが挙げられます。

アジャイル開発が生まれた背景

 以前は(今でも多いですが)、システム開発といえば重厚長大なウォーターフォールによるビッグバンリリース形態が主流で、システムを構築すること自体が目的になり、要求変更に弱いシステムになりがちでした。

 それを打破し、ユーザーが求める迅速なシステム構築を行うためのアプローチとして、定期的なリリースを繰り返し、柔軟なシステム開発を実現する「アジャイル開発手法」が生まれ、システムを利用するユーザー側と開発者側の意識改革を促しました。

アジャイル開発では変えられなかった運用の問題

 しかし、この意識改革(アジャイル開発)にはシステムを運用するという観点が抜けていました。運用担当者は変わらず安定運用に注力し、双方のリリースサイクル速度に違いが生まれる結果になりました。

 その後、クラウドテクノロジーの普及によって、SaaS(Software as a Service)を中心にユーザー主導で導入するシステムが増え、運用部門が関わらないケースができるなど、この流れはさらに加速していきます。新たなビジネスを迅速に展開したいというユーザー側の思いに、システムが応えられていないことが原因といえるでしょう。

DevOpsが変える、システムの運用自動化

 こうした背景から重要になってきたのがDevOpsという考え方です。冒頭で説明したように、DevOpsでは、開発者と運用担当者がお互い協力し合うことで、業務全体のアジリティ(俊敏性)を高めることが狙いです。

 運用側にとっては、これまで開発の流れに置いていかれてしまっていたため、従来通りのプロセスでは対応することが難しく、また品質の担保も難しいのです。そこで「Chef」や「Puppet」といったITインフラの運用を自動化するプログラマブルなツールまたは、「Force.com」や「Heroku」といったクラウドベンダーが提供するPaaS(Platform as a Service)を中心としたサービスの活用が注目されています。これらのツールを使うことで、ユーザーに対して、オンデマンドなシステム提供ができるようになります。

 気を付けなければならないこととして、ユーザーの業務には変化を求める領域と、そうでない領域があるということです。ウォーターフォール型の開発手法が全く不要になるわけではありません。システムに応じて使い分けていくことが重要です。変化が求められるビジネス領域では、ユーザーは新たなビジネスを迅速に立ち上げたいと考えますから、システムもそのスピードについていくことが求められるというわけです。

林田宏介(はやしだ こうすけ)

セールフォース・ドットコム セールスエンジニアリング本部 リードソリューションエンジニア

PaaSなど、クラウドプラットフォームを中心にセールスエンジニアを支援するアーキテクト。アーキテクトとして、オンプレミスからクラウドまで、さまざまな種類・規模のシステム開発で、インフラからアプリケーションアーキテクチャ、開発プロセスを手掛ける。


ITmedia マーケティング新着記事

news047.png

【Googleが公式見解を発表】中古ドメインを絶対に使ってはいけない理由とは?
Googleが中古ドメインの不正利用を禁止を公式に発表しました。その理由や今後の対応につ...

news115.jpg

「TikTok禁止法案」に米大統領が署名 気になるこれからにまつわる5つの疑問
米連邦上院が、安全保障上の理由からTikTokの米国事業の売却を要求する法案を可決し、バ...

news077.jpg

「気候危機」に対する理解 日本は米国の3分の1
SDGsプロジェクトはTBWA HAKUHODOのマーケティング戦略組織である65dB TOKYOと共同で、「...