エンタープライズの現場がDevOpsを必要としている
マイクロソフトの長沢智治氏は最近、「エンタープライズの現場でも、戦略的なITが強く必要とされている」と感じているという。大手企業の担当者からDevOpsやアジャイルについての質問を受ける機会が増えているからだ。
現在のビジネスは、ITと融合している。いわゆるビジネスアジリティに対応するため、IT自身にも求められているのが俊敏性だ。そのためにはDev(開発)とOps(運用)の双方が、アジリティを意識せざるを得なくなっている。
長沢氏は、「エンタープライズにおけるITをアプリケーションの進化という形で見ると、基礎体力作りのITと戦略的な攻めのためのITの二種類に分けられる」と分析する。基礎体力で一番分かりやすいのは、「ERPのパッケージを導入し、その会社向けにカスタマイズ」というような形だ。リリースサイクルは長期にわたり、コンテンツを蓄積していくようなモデルになる。
ただ、今やエンタープライズでも、基礎体力だけでは勝てない時代になってきている。競合他社に勝つ、より顧客を引き寄せるビジネスを運営していかなければならない。
そこで求められるのが戦闘力となる攻めのITだ。何が求められているのかを見極めた上で、どのようなサイクルでITを提供すべきなのかを検討する。さらにDevOpsなどのムーブメントをどこで生かすのか、開発はベンダーに任せるのか、内製化するのかを考えていく。
特にエンタープライズのITでは、コンシューマだけでなく、従業員が非常に重要な位置を占める。従業員のコラボレーション、ビジネスソーシャルにより、快適に事業を遂行可能にするような形も必要になってくる。
ただ長沢氏がエンタープライズについて話すと、必ず聞くのが、「DevOpsは、ITが大規模で、担い手が複雑に絡み合っているエンタープライズでは適用できない」という意見だという。それに対し長沢氏は「エンタープライズでも、導入可能な部分ではDevOpsをやるべきだ」と強調する。
そのためには、先進的なビジネスの要素であるアプリケーション、アプリケーションライフサイクル、データセンター、それぞれについて考えていかなければならない。特にエンタープライズのITでは、インフラの自動化が進んでいる。インフラはかなり整いつつあるので、ビジネスに貢献するアプリケーションにフォーカスする。
マイクロソフトが考えるDevOpsとその活かし方
では、DevOpsをどう活かしていくのか。マイクロソフトはDevOpsを「継続的に価値を提供し続けるための一つの活動であり、ムーブメント」と見て、2011年6月に製品のコンセプトとして発表し、使い続けている。例えば開発ツールのVisual Studioは、Devだけを見てはいない。Ops側のアプローチとしては、System Centerというシステム運用管理を行うためのプラットフォームがあり、両者はDevOpsを遂行するためのツール、プラットフォームという位置づけを持っている。
長沢氏はDevとOpsの違いと、間に存在する壁を知るため、両者の現状を整理してみせた。
まずDev側では、開発業者が担当しているケースも見受けられる。そこでよく言われるのが、開発のブラックボックス化だ。また、実際には使われない機能も多い。とはいえ、ビジネスに貢献するアプリの開発は必須だ。開発サイクルの短期化へも取り組まなければならない。
さらに「作って終わり」というアプリはない。作り、運用して初めてビジネス価値を生む。ビジネスのモデルが、それなりに変化し続ける時代であり、当然、アプリも変わっていく必要がある。
Opsに関しては、システムの自動管理がかなり進んでいる。また、パッケージを購入すればいいものに関しては、開発が関わっていないケースもある。Ops側の業務は長期戦であり、今、注力しているのは、アプリの安定利用だ。ディスクなどのハードと違い、アプリが動かなくなると、そう簡単には直らない。本当は直るようにしなければならないのだが、そこまでは至っていないところがある。実際、Opsの自動管理の流れの中に、アプリがまだまだ乗り切れていない。
やはりDevとOpsでは、お互いの考え方、立ち位置にはギャップがあり、それを理解することが非常に大事だ。長沢氏はその上でやらなくてはならないのが、「共通ゴールを持つこと」と語る。具体的には、サイクルタイムとMTTR(平均復旧時間)という、分かりやすいメトリクスを持って、それが遂行できるかどうかを見ていく。そのためには自動化と共同所有、透明性が不可欠だ。
DevOpsの課題
長沢氏は、DevOpsをやる上での課題として、以下の3項目を挙げ、それぞれの解決策、得られるビジネス価値を示した。
課題1:運用要件を満たしていないソフトウェア
- 解決策:早期の要求獲得と品質の作りこみ
- 得られる価値:ビジネスに到達するソフトウェア
課題2:顧客ニーズにアラインできない開発サイクル
- 解決策:アジャイルプラクティスと検査と適応
- 得られる価値:ビジネス価値に到達するソフトウェア
課題3:運用中の障害検出と解決が極めて困難
- 解決策:本番稼働環境でも開発プラクティスを実践
- 得られる価値:MTTRの短縮
中でも長沢氏はDev側へ「早いうちから、運用を含めた品質を作り込むクセをつけなければならない」と注文する。
またMTTRへの対応は、できるだけ本番環境にしわ寄せが来ないようにしたい。そのためDev側は、本番環境に近いところで、常にテストがずっと回っている状態にしたい。ただ、Dev側だけで、そうした環境を用意することは容易ではない。そこでOps側も協力し、例えばプライベート・クラウドのような形でラボ環境を提供できれば、常に効果的なテストを回すことができる。
ここで長沢氏は、Dev側のツールVisual StudioファミリーのTeam Foundation Server、Ops側のSystem Centerなどを連携させた、DevOpsで求められる自動化、Dev側とOps側のコミュニケーション、ダッシュボードによる必要情報の把握などについてのデモを披露した。
ポイントはDev側とOps側がそれぞれ、自分たちのフローで作業しながら、それが効率化されると同時にミスが防止される点だ。さらに自分たちの作業に専念している間にも、必要に応じて相手とうまくコミュニケーションが取れる。トレーサビリティも重要な要素だ。例えば、Dev側でビルド―デプロイまでを一つのアプリの都合で行ってしまうとOps側で把握できない問題の要因となることがある。Ops側で認定された実績のある自動化のRunbookをDev側で利用できれば、Dev、Ops双方が最大限のパフォーマンスを発揮することができる。Dev側でもつ、透明性とトレーサビリティの維持された開発リソースの共同所有は、Opsでの自動管理をインフラだけでなく、アプリも含めた次のステージに引き上げることにつながる。
最後に
マイクロソフトは昨年、Visual Studio 2012をリリースしたが、これまでサービスパックは1度も出していない。その代わり3か月に1回程度、アップデートという形で、メジャーバージョンアップ級のものを出している。そのため「キャッチアップが大変」という意見が聞かれるが、長沢氏は「それだけ新しいものに取り組まなければならない時代」と指摘する。
加えてマイクロソフトは今、プラットフォームベンダーとしてクラウドOSを推進しようとしている。それによりDevOps、ビッグデータなども含めた、より広い範囲でビジネスに貢献できるITを実現できるようにするのが狙いだ。インフラ中心からビジネス、アプリを中心にできるプラットフォームを提供しようとしている。
最後に長沢氏は「我々が提供するプラットフォームを生かすも殺すも皆さん次第。価値を生むのは皆さん。ぜひ、マイクロソフトの技術をうまく活用し、皆さんのビジネス、お客様のビジネスに貢献してほしい」と述べ、セッションを閉じた。