DevOps採用を阻むビジネスと技術障壁の克服:Computer Weekly製品導入ガイド
DevOpsのメリットは十分に検証されている。だが、ソフトウェア開発とデリバリにこのアプローチを採用するに当たり、企業はどのような手順を踏むべきなのか。
2015年の主要なITカンファレンスで、DevOpsの話題が多くのセッションを独占した。サプライヤーやアナリストは、企業がソフトウェア開発にアジャイルのアプローチを採用しなかった場合のビジネスリスクについて、盛んに警鐘を鳴らした。
競争力を維持したい企業はもはや、開発部門とIT運用部門が切り離された、大規模で時間がかかるソフトウェア開発やテストサイクルにしがみついている余裕はないと、よくいわれる。そこで、開発側と運用側が小規模チームを組んで連携する協調的な方法でソフトウェアを開発してテストや更新リリースを行い、自動化ツールやモニタツールを使って新製品投入のペースをこれまで以上に速める必要があるという。
だが、古いソフトウェア開発手法にとらわれた企業にとって、CIOがIT部門全体の支持を得ることなくDevOps方式の働き方を導入するのは容易ではない。
「DevOpsは一見すると素晴らしく単純に思えるが、『開発』と『運用』の世界には、多様な職務が隠れている。しかも、そうした陣営のチーム間ではこれまで相互の交流がほとんどなかった」。IT研修企業Unicom Seminarsのゴータム・ミトラ氏はそう解説する。
「適切なツールやプロセスを導入するのは比較的簡単だ。しかし文化は無視できない。この2つの陣営を連携させ、協調させるためには大きな変化が必要になる」(同氏)
DevOpsの導入
Ordnance Surveyは紙の地図製作で有名だが、地図製作者や測量技師、政府機関、公益企業、建設会社で構成する社内チームのためのソフトウェア開発も手掛ける。
Ordnance Surveyのアジャイルデリバリ管理者、キース・ワトソン氏は、社内の幅広いチーム間コミュニケーションやコラボレーション向上を後押しする一環として、DevOpsの道をたどってきた。
かつてOrdnance Surveyにはソフトウェアインフラチームの他に、必要な環境を構築するためのチームがあった。
「われわれが提供するサービスには、デベロッパーの要望に追い付けていないという点で、顧客に一定の不満があった。つまり開発環境の提供に時間がかかっていた。しかも開発は、半自動化されたスクリプトを使って手作業で行っていた。そのため個々の環境の提供に時間がかかっただけでなく、常に同じものになるとは限らなかった」。ワトソン氏はそう振り返る。
提供した環境は必ずしも要求を満たしていなかったことから、ソフトウェア開発チームとインフラ構築チームの間の不和につながることもあった。
この状況を是正するため、ワトソン氏は開発者とインフラアーキテクトの少人数グループをつくり、両グループ間でリクエストのやりとりに使っていたチケットシステムを廃止した。
「チームができると、全員が互いの隣に座ることの効用が直ちに表れた。ニーズを理解するだけでなく、開発チームも環境チームも実在の人間だったと気付き、互いにうまくやっていけるようになった」とワトソン氏は説明する。
Computer Weekly日本語版 最近のバックナンバー
Computer Weekly日本語版 9月2日号:Windows Server 2003少しだけ延命策
Computer Weekly日本語版 8月19日号:64ビットARMチップ アリか? ナシか?
Computer Weekly日本語版 8月5日号:BoxとDropboxどっちの箱を選ぶ?
テクノロジーの変化
DevOpsを取り入れるために、会社のITインフラの刷新が必要になることもある。多くの企業は、重要な一歩としてクラウドへの移行を推進している。
「Amazon Web Services EC2」のようなクラウドサービスでは、DevOpsチームが必要とするリソースにオンデマンドで手早くアクセスでき、オンプレミス技術では引き出せそうにないレベルのアジリティを実現できる。
Unicomのミトラ氏は、「クラウドはDevOpsと同様に、組織内の柔軟性を高め、状況の変化に対するプロジェクトの反応を速める手段として浮上した」と指摘する。
「クラウドがDevOpsを推進し促しているのか、それともDevOpsがクラウドのニーズを生じさせているのかについては論議もある。2つの実装が同じになることは決してなく、状況次第でいずれの想定も成り立ち得る。だがはっきりしているのは、DevOpsとクラウドが複雑に絡み合っているということだ」(同氏)
ただし、DevOpsの成功のためにクラウドが必須とは限らない。オンラインマーケットプレース「Etsy」のスタッフオペレーションエンジニア、ジョン・コウィー氏によると、同社は2009年以来、ソフトウェアのデリバリにDevOpsのアプローチを採用してきた。このアプローチのおかげで、2080万のユーザーが利用するサービスを途切れさせることなく、20分ごとにサイトを更新できているという。
DevOps導入にクラウドが役割を果たす場合もあることは同氏も認める。だがEtsyの業務は、自前のデータセンターで運用しているオンプレミスインフラによって支えている。
「われわれのサイトはトラフィックの仕組み上、一度に押し寄せる大量のトラフィックに対応する必要がない。トラフィックパターンは季節ごとの要因に沿って比較的予想しやすく、実際にかなりの精度で特定の時点でのトラフィックがどうなるかを予測できている。もしNetflixのようなトラフィックが押し寄せ、突然の需要急増に見舞われるのなら、話は全く別だ」とコウィー氏は言う。
DevOpsに投資する前に目標を見極める
Ordnance Surveyの場合、既にソフトウェア開発のために社内クラウドを「Microsoft Azure」やAmazon Web Servicesと併せて使っていたため、技術的には特に準備は必要なかったとワトソン氏は振り返る。
もしそうでなかったとしても、そのことはDevOps推進の妨げにはならなかっただろうと語るのは、同社インフラアーキテクト、サイモン・パークス氏。
「DevOpsに関する他の事例を見ると、クラウド機能の構築は技術的な先行投資を必要とする。従って技術が推進の妨げになりかねない危険はある」と同氏は言う。
「われわれに必要なのは文化と仕事のやり方の変化だった。そこでまず何よりも、技術的地ならしに過度にこだわる代わりに、とにかくプロジェクトを見つけて直ちに始動する姿勢を取った」
DevOpsの道をたどるためにはビジネス的にも技術的にも多大な準備が要る。それは必ずしも、どんな組織にも適しているわけではない。
ミトラ氏は「DevOpsに確固とした終わりはない。これは開発へのアプローチの手段だ。しかしこの投資は高くつくこともあり、変化を推進する前に、何を達成したいのかについてしっかりした考えを持たなければならない」と述べ、こう言い添えた。
「つまり、みんながやっているからというだけの理由でやってはいけない」
Copyright © ITmedia, Inc. All Rights Reserved.