NBCUniversal
大規模でマルチスピードなIT企業全体でDevOpsを拡張

NBCUniversal社は、IBM® UrbanCode™ BuildとIBM UrbanCode DeployソフトウェアをIBM Cloud for Skytap SolutionsとともにDevOpsのエンジンとして活用し、継続的な統合、デリバリー、テスト、フィードバック、モニタリングを1つの自動化されたワークフローにまとめ、組織全体でプロセス、文化、テクノロジーをつないでいます。

ビジネス上の課題

NBCUniversal社は、コードの品質を向上させ、開発を合理化し、コストを削減するために、17の事業単位で構成される複雑な企業全体のアプリケーション開発にDevOpsアプローチを採用することを目標としました。

概要と経緯

NBCUniversal社は、IBM® UrbanCode™ソフトウェアとIBM Cloud for Skytap Solutionsを利用してDevOpsを推進し、継続的な統合、デリバリー、テスト、フィードバック、モニタリングを1つの自動ワークフローにまとめています。

成果 75% 削減
新しいアプリケーションのリリースに必要な時間
回帰テストの時間の短縮
数週間から数時間に
加速させる
新しい要件への対応
ビジネス上の課題の詳細
サイロの統合

最近まで、市場の破壊者と考えられ、急速なイノベーションを目指して構築された新世代のクラウドネイティブ組織だけがDevOpsの取り組みに乗り出しているという一般的な認識がありました。しかし必ずしもそうではありません。Etsy、Uber、Netflixなどの1社1社に対して、NBCUniversal社のような既存企業が数十社存在し、DevOpsを通じて新しいアプリケーションの市場投入までの時間を一貫して合理化し、アプリケーション・コードの品質を高め、開発、テスト、デプロイのコストを削減しようとしています。

これらはさまざまな業界の代表的企業です。それらの企業は組織やITの複雑さに関係なく、アジリティ(イノベーションを加速し、変化するビジネス要件により迅速に対応する能力)が重要であるため、DevOpsアプローチを採用しています。

確かに、大企業がたどるDevOpsの道筋は、クラウド上で生まれたビジネスとはかなり異なっているように見えます。最も重要なのは、広範な文化的変化をもたらし、長年のプロセスとパラダイムを変革する最善の方法についての提案です。


NBCUniversal社は主に買収によって成長し、現在では国際的な事業拠点を含め、17の個別会社と事業単位で構成されています。ほとんどの大規模組織の特徴として、そのアプリケーション環境は多様かつマルチスピードであり、オンプレミス、プライベートクラウド、パブリッククラウドの環境が混在し、コア・ビジネス・アプリケーションと新しいWebアプリケーションやモバイル・アプリケーションが統合されています。同社のDevOpsチームは、System of Record(多くの場合メインフレーム)の開発者とSystem of Engagement(クラウドベースの顧客向けアプリケーション)の開発者の間でスピード、プロセス、ツール、スキル、文化に大きなばらつきがあったため、システム間の統合を実現するために開発者間の橋渡しが必要でした。

NBCUniversal社のプラットフォームDevOpsマネージャーであるJohn Comas氏は、NBCUniversal社のDevOpsソフトウェア開発ライフサイクル(SDLC)を支えるプロセスとツールの責任者です。「アプリケーションの顧客に単一の標準化されたSDLCを提供する必要がありましたが、それにはいくつかの理由があります。まず、複数のインスタンスを排除することでアプリケーションのライセンス・コストを削減するためです。2つ目の理由として、標準的なオンプレミスのエンタープライズ向けシステムを提供し、できるだけ多くのユーザーをそこに移行させることで、サポートとトレーニングを標準化したいと考えたからです。また、開発したコードの質を向上させ、より速く、より効率的に、より低コストで開発したいという願いもありました」とComas氏は言います。「ビルドとデプロイメントは高い失敗率でした。さらにアプリケーション・チームはほとんどテストを行わなかったため、本番に移行すべきでなかったリリースもあり、結果として障害が多発しました。」

DevOpsに取り組むことは、歴史的にうまく統合されていなかった4つのグループ(開発、QA、実行、SDLCチーム)を横断するワークフローを構築する推進力となりました。この取り組みはテクノロジーだけでなくマインドセットも対象となっており、複雑なプロセスを最小の作業単位に分解し、可能な限り並列で実行することでイノベーションを加速させます。

アプリケーションの顧客に単一の標準化されたSDLCを提供する必要がありました...また、開発したコードの質を向上させ、より速く、より効率的に、より低コストで開発したいという願いもありました。 John Comas プラットフォームDevOpsのマネージャー NBCUniversal
概要と経緯の詳細
イノベーションをより迅速に実現

Comas氏とNBCUniversal社のサービス戦略およびコラボレーション担当シニア・ディレクターであるCharles Williams氏は、イノベーションをより迅速に実現するために、DevOpsを社内の共有プラットフォーム/フレームワークと位置付けました。IBM UrbanCodeプラットフォームであるUrbanCode Build(アプリケーション・ビルド・オートメーション・ソフトウェア)およびUrbanCode Deploy(アプリケーション・リリース・オートメーション・ソフトウェア)はDevOpsのエンジンとして機能し、NBCUniversal社が継続的な統合、継続的なデリバリー、継続的なテスト、継続的なフィードバック、継続的なモニタリングを1つの自動化されたワークフローにまとめ、組織全体でプロセス、文化、テクノロジーをつなぐことを可能にしています。

UrbanCodeプラットフォームは、多様なIT環境をサポートし、NBCUniversal社のような複雑な企業にとって重要である包括的な監査機能を提供します。「UrbanCode製品を使用すると、組織にサービスとしてのビルドを提供できます。ボタンをクリックするだけで、UrbanCodeに組み込まれたビルドを再現できます」とComas氏は言います。「当社には、あらゆるアクティビティーを確認できる単一の統合ダッシュボードがあります。何がビルドされたか、そのビルドに関連するバイナリー、そのビルドで何が行われたか、どのようにテストされたか、どの環境にデプロイされたかなど、すべてについて明確な記録が残されています。日付を指定し、その日に何が本番環境に導入されたかを知りたいとすれば、すべてを説明できます。」

NBCUniversal社は、IBMビジネス・パートナーであるSkytap社が開発したIBM Cloud for Skytap Solutions(ICSS)をIBM UrbanCode Deployソフトウェアと組み合わせて使用して、ソフトウェア開発ライフサイクル全体にわたってテスト環境の構成と管理を自動化し、QA自動化の一環として回帰テストを並列処理しています。

あるケースでは、NBCUniversal社のテレビ・グループはICSSを使用して、テレビ番組のスケジュール設定に使用される大規模なアプリケーションであるCompassの回帰テストにかかる時間を、6~8週間からわずか3時間に短縮しました。Compassには、1,000のテスト・ケースで構成される巨大な回帰テスト・スイートが関連付けられています。ICSSを利用する前は、組織のQAチームはこれらのテストをローカルで1つずつ実行していました。現在では50台のテスト・マシンから成る環境をセットアップし、そのすべてがオンプレミスのCompass QA環境を構成しており、1台のマシンで20のテストが並列で実行されます。

DevOpsを通じて、NBCUniversal社は、以前はモノリシックであった1プロセスを構成要素別に分割し、Comas氏のDevOpsチームが主導して、DevOpsツールをサポートするインフラストラクチャーを備え、ツール自体を管理し、それらのツールの使用におけるベスト・プラクティスを管理するようにしました。また、開発チーム用の自動化も構築しました。

当初はDevOpsを提唱することは簡単ではありませんでした。皆に歓迎されたわけではなく、Comas氏とWilliams氏には乗り越えなければならないいくつかの文化的なハードルがありました。「Johnと私はしばらくの間DevOpsについて説明していたのですが、ほとんど耳を貸してもらえませんでした。機能について話し始め、アプリ所有者に機能を示し、さらにQA環境に機能を提示したときからようやく注目を集めるようになりました」とWilliams氏は言います。「ある時点で、Johnと私は『DevOps』という言葉を使わないようにしようとさえしました。それがほとんどの人にとって何の意味もなかったからです。」アプリケーション開発における配信速度の向上、テストを繰り返し一貫性のある仕方で実行して結果を迅速に取得できること、それが重要事項です。そういった表現で話すことで、文化が変わり始めました。その後、アジャイル開発機能をデモする機会が何度かあったときに、『ああ、これがDevOpsですね。これこそ私が求めていたものです』という意見を聞くようになりました。」

その意味で、UrbanCodeソフトウェアのようなツールとテクノロジーは、文化とプロセスの変化を推進しました。「このツールは、文化の向かう先、つまりよりアジャイルな開発、よりシフトレフトなテストという目標を強化するのに役立ったと思います」とWilliams氏は言います。「このツールによって、私たちが思い描くDevOpsプロセス、つまりエンドツーエンドのワークフローが下支えされました。」

その後、アジャイル開発機能をデモする機会が何度かあったときに、「ああ、これがDevOpsですね。これこそ私が求めていたものです」という意見を聞くようになりました。 Charles Williams Senior Director of Service Strategy and Collaboration(サービス・ストラテジーおよびコラボレーション担当シニア・ディレクター) NBCUniversal
成果の詳細
スピードと品質のための自動化

ニューヨークにあるNBCUniversalテレビ・グループは、組織のDevOpsへの取り組みがどのように形になったかを示す一例です。この特定の事業単位はNBCUniversalのテレビ配信部門であり、NBCUniversalが所有するすべての放送局のオンエア・コンテンツのスケジュールを部分的に担当しています。前述のとおり、Compassアプリケーションはその中心的なタスクを担っています。

Comas氏と彼のチームは、大規模な.netベース・アプリであるCompassの開発を約18カ月前にUrbanCodeプラットフォームに移行しました。「以前のCompassプロセスは、『マニュマティック』プロセスのようなものだと言えます。コードをリポジトリにコミットし、手動でビルド・ボタンをクリックして、環境にデプロイします。環境にデプロイした後の処理は、基本的にQAチームに任せました」とComas氏は言います。「1週間ほど経つとある程度の結果が得られ、そこから別のビルドを行ってQAに送り返すということを繰り返していました。そのため、アプリケーションの市場投入までの時間は非常に長く、リリースまでに20週間かかっていました。それほどの時間がかかった理由の1つは、QAチームがビジネス要件を満たしているかどうかわからないリリースに対しても本格的なテストを行ったことにあります。」

Compassアプリケーション・チームの目標は、その時間を75%短縮して5週間にすることでした。「作業をUrbanCodeプラットフォームに移行すると、その目標を達成することができました。現在では、市場投入までの時間を2週間に短縮することを目指しています」とComas氏は言います。まず、彼のチームはQAオートメーションをCompassワークフローと統合し、デプロイメントごとに多数のQAテストを手動で実行する必要がないようにしました。「まずシフトレフト・テストから始めました。アプリケーション・リリースの単体テストを行い、コード・カバレッジ分析を行いました。同時に、さまざまなビジネス要件を観察し、それらを実行するテストを作成する小規模な機能テストも開始しました。そのため、リリースがQAチームに渡されて完全に機能し、回帰テストが行われるよりも前に、リリースが適切であるかどうかすぐにフィードバックを得ることができました。それ自体で、物事の進み方は大きく加速しました。」

NBCUniversal社のDevOpsアプローチは、デプロイメントにおけるサイロ化も打破しました。「それまでは、リリースは特定の曜日、通常は火曜日と木曜日の夕方にしか行われませんでした。そのタイミングを逃すと、次のタイミングになるまでリリースできませんでした」とComas氏は言います。「Compass実行チームと連携することで、本番環境へのデプロイメントをより頻繁に実行できるようになり、その結果、より小規模でより頻繁なリリースが可能になりました。それによりアジリティが大幅に向上し、ビジネス要件をより迅速に満たせるようになりました。要するに、コード品質が向上し、作業スピードが速くなり、ビジネス要件をはるかに迅速に満たせるようになったのです。」

テクノロジーの観点から見ると、Comas氏は、UrbanCodeプラットフォームにより、チームはさまざまなツールを1つの自動化されたワークフローに統合して、開発者への過度の依存を排除できるようになったと述べています。「UrbanCodeでは、開発者が適切な単体テストを行わずにコードをコミットすると、フラグが立てられます。開発者がワークフローの一部にそれを取り入れていなかったら、知りようがありません。アプリケーションのステータスを知らせるプロセスへのフィードバックはありません。当社のCompassワークフローは、おそらく当社が保有する最も包括的な自動化であり、このテクノロジーはアプリケーションの品質を向上させ、ビルド品質を桁違いに向上させるのに役立っています。それだけでなく、ビジネスに求められる変更をはるかに迅速に実現します。それが究極の目標であり、このDevOpsの取り組みを続けている理由です。」

Williams氏とComas氏にとって、DevOpsとは信頼と確信を構築することであり、ソフトウェア配信ライフサイクルに予測可能性、速度、品質を導入することです。「私たちはアプリケーション・チームに、一定の品質レベルとサービス・レベルを保証する堅牢なインフラストラクチャーを提供しています」とComas氏は言います。実際、DevOpsチームは十分な信頼を勝ち得ており、現在ではより大規模なプロジェクトへの協力をビジネス部門から依頼されています。「機能が柔軟で拡張可能であり、非常に厳しいスケジュールでも提供が可能であるとわかったため、10個のアプリケーションから60個以上のアプリケーションへと、プロジェクトの量は6倍に増加しました。当社これまでにないレベルの信頼感を生み出すアプリケーション生産への道を切り開いています。」

...コード品質が向上し、作業スピードが速くなり、ビジネス要件をはるかに迅速に満たせるようになったのです。 John Comas プラットフォームDevOpsのマネージャー NBCUniversal
NBCUniversal

NBCUniversal社は、ニューヨーク市に本社を置く多国籍マルチメディア複合企業です。約300億米ドルの収益を誇る同社は、主にメディアとエンターテインメント業界に携わっています。その最も重要な部門には、NBCテレビ・ネットワークと大手映画スタジオであるユニバーサル・スタジオがあります。さらに、ユニバーサル・デスティネーションズ&エクスペリエンシズ事業部門を通じて、世界第3位のアミューズメント・パーク運営会社でもあります。

次のステップ

IBM UrbanCodeソフトウェアまたはIBM Cloud for Skytap Solutionsについて詳しくは、IBM営業担当員またはIBMビジネス・パートナーにお問い合わせいただくか、以下のWebサイトにアクセスしてください。


お客様事例をもっと見る または IBM Cloudについてもっと知る

PDFで表示する 動画を見る:NBCUniversal社は大規模なマルチスピードIT企業全体でDevOpsを拡張
脚注

© Copyright IBM Corporation 2016.IBM Cloud、Route 100, Somers, NY 10589、アメリカ合衆国、2016年11月。IBM、IBMロゴ、ibm.com、UrbanCodeは、世界の多くの国々で法的に登録されているInternational Business Machines Corp.の商標です。その他の製品名およびサービス名は、IBMまたは他社の商標である可能性があります。IBMの登録商標の現在のリストは、ウェブページ「著作権および登録商標情報」www.ibm.com/jp-ja/legal/copytrade.shtmlでご確認いただけます。本書は最初の発行日時点における最新情報を記載しており、IBMにより予告なしに変更される場合があります。IBMが事業を展開しているすべての国または地域において、すべての製品を利用できるわけではありません。IBM製品およびプログラムを使って他社製品またはプログラムのオペレーションを評価したり、検証する場合は、お客様の責任で行ってください。本書の情報は「現状のまま」で提供されるものとし、明示または暗示を問わず、商品性、特定目的への適合性、および非侵害の保証または条件を含むいかなる保証もしないものとします。IBM製品は、IBM所定の契約書の条項に基づき保証されます。IBMの将来の方向性と意図に関する記述は目標や目的を表すものに過ぎず、予告なしに変更または撤回されることがあります。