今回はソフトウェア開発現場でもすっかり浸透しているDevOps(デブオプス)について解説します
ソフトウェア開発会社の開発部門には、ソフトウェアを開発するためのチーム(Development Team)とソフトウェアを運用(Operations Team)するためのチームが存在します。DevOpsとはいわゆる、これらの2つのチームが協力体制を取ってソフトウェア開発と運用に取り組むという開発モデルです。
ではなぜDevOpsが注目されているのでしょうか?今回はこのDevOpsについて解説します。
DevとOpsの犬猿の仲?
開発チームと運用チームが分断されているソフトウェア開発会社やシステムインテグレータ、社内情報システムの多くは例に漏れず、2つのチームが対立関係に立っていることがよくあります。
それはなぜか?開発チームは「新しい機能をリリースする」という目的があり、運用チームには「ソフトウェアを安定稼働させて満足度を維持・向上する」という違った目的があるからです。
新しい機能がリリースされるということは、ソフトウェアにこれまでと違った影響が発生することになり、パフォーマンスが低下したり、バグにより運用が停止する可能性があります。そのためどんどん開発したいチームと、問題を嫌うチームとでは犬猿の仲になっても仕方がないことでしょう。
しかし開発チームと運用チームのビジネス的目標を深く掘り下げて考えれば、両チームとも「ソフトウェアを通じてユーザーに最高の体験と、ビジネス課題を解決するためのソリューションを提供する」という部分で一致しているはずです。つまり、開発チームと運用チームが互いに協力すれば、これまでにないビジネス価値をこれまでにないスピードで提供できるようになり、ユーザーに最高の体験を提供することはもちろん組織にとって多大な利益をもたらすことになります。
こうした考え方からDevOpsが注目され、取り組む企業が増えているのです。
[SMART_CONTENT]
DevOpSの誕生
DevOpsという概念が世界に知れ渡ったのは今から約10年前のことです。2009年に米オライリーが開催した「Velocity 2009」というITカンファレンスにて、Flickrの開発チームと運用チームがその取り組みについて公開しました。Flickrとは写真共有を目的にしたコミュニケーションサービスです。
同社の開発者が登壇したセッション「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr(1日に10回のデプロイ:Flickrにて開発とオペレーションの協力)」というスライド資料と共にDevOpsの概念について語られ、1日で10回以上のデプロイを可能にしたという事例も紹介しています。同スライドは公開されているので、一度ご覧いただければDevOpsへの理解が深まるのではないかと思います。
DevOpsがビジネスにもたらすメリット
では、開発チームと運用チームが協力することで具体的にどういったメリットがあるのでしょうか?
1. 部門間連携の強化
DevOpsに取り組む最大の目標は「顧客に素早く価値を届けること」です。これはすべてのソフトウェア会社が持つ目標であり、DevOpsで部門間連携を強化することで製品サイクルを短縮化し、常に新しい価値を素早く提供し続けるための体制を整えられます。
2. アップグレードサイクルの短縮化
DevOpsでは短期間のスプリントでアジャイル開発を用いることで、製品サイクルを短縮化できます。加えて製品のアップグレードも短縮可能になるため、1年は半年ではなく1ヵ月や1日の連続的なリリースによって製品のビジネス価値を最大化できます。
3. 自動化ができる
DevOpsでは開発チームと運用チームが協力することはもちろん、従来の作業を自動化することで生産性を向上させ新しいリソースを生み出します。定型的な作業を自動化することでクリエイティブな仕事により集中でき、さらなる価値を生み出すきっかけになります。
4. スキルの拡大
開発チームと運用チームを協力させることで相互交流が生まれ、従業員各人が新しいスキルを獲得するようになったり、他部門で行われている日常業務に対する理解を深めていくことができます。
5. 無駄を排除する
アジャイル開発によって素早いイテレーションを繰り返すことで企業はリソースを効率良く活用できるようになり、これによって無駄が排除されます。DevOpsに取り組む企業の中には「コスト削減のため」と考える企業も多いようですが、それよりも「新しい価値を生み出し無駄を排除する」という効果の方が大きく出ます。
6. モチベーションの向上
DevOpsのアジャイル開発では開発チームと運用チームが1つのチームとなって、他のメンバーと頻繁にコミュニケーションを取ることが大切です。これによって従業員は多くのことを学び、事業に与える影響を考えられるようになります。自分たちが取り組んでいるプロジェクトが頻繁なリリースを繰り返すうちに事業への責任感も生まれ、モチベーションの向上に繋がります。
7. 素早いフィードバック
DevOpsは短いサイクルで製品や機能をリリースしていくことでより多くのフィードバックをユーザーから得ることができます。これは新しい製品や機能にすぐさま反映させることで、その価値を最大限に高めていくことが可能です。
8. 問題への視点が変わる
開発チームと運用チームが協力することで、これまで問題に対して持っていた視点が変わることがあります。たとえば運用チームは新しい機能がどんどんリリースされることが問題なのではなく、もっと別のところにシステムパフォーマンスに影響する問題があると考え方を変えるようになり、それが開発に良い影響を与えます。
9. 新しいインフラへの柔軟性
DevOpsへ取り組むということは開発チームと運用チームが協力するための体制を整えるにあたって、クラウドプラットフォームを採用することが多くなります。そのため次世代のインフラに対して高い柔軟性を持つようになり、組織としてのクラウド対応能力も高まります。
このようにDevOpsを実現することで企業には多数のメリットが生じます。DevOpsへ取り組むにあたっての労力もありますが、これらのメリットを考慮すると実現する価値は大いにあります。
[RELATED_POSTS]
DevOpsとストレージの関係
DevOpsの実現にあたって欠かせないのが「湯水のように利用できるITインフラ」です。開発チームと運用チームが協力すると自然と製品サイクルとアップデートサイクルは短縮されます。それはすなわち、従来よりも圧倒的大量のデータが流通されるようになるということです。
プライベートクラウド基盤を構築してセルフサービス化を行い、場合によっては消費型のサービスを最大限に活用することで、インフラの準備にかかる負荷を軽減します。さらにソフトウェア開発サイクルを自動化することで、効率よくサービスを開発し、リードタイムを短縮することが可能です。
その結果、リリースのタイミングを早め、市場シェアの獲得を容易にするという効果も得られる。市場からのフィードバックを高速に反映できるのも、DevOpsの効果の1つです。結果的にリリースサイクルを高速化して、さらなるビジネス成果につなげることができます。
参考:DevOpsの最大の課題は「データ管理」、進化するストレージの全貌をご紹介
DevOpsにチャレンジしよう
すべての企業にとってDevOpsが正解というわけではありません。しかし、DevOpsに取り組むことでビジネス価値を高め、様々なメリットを享受できることは確かです。現状のソフトウェア・システム開発に満足していない、もっとスピードを求めているという企業はこの機会にDevOpsへの取り組みを具体的に考えてみましょう。
- カテゴリ:
- トレンド