日本の企業はデジタルトランスフォーメーションにどう関わるべきか。モダナイゼーションにどう取り組むべきか。20年以上Yahoo! JAPANを運営するヤフーの事例や、ベンダーとして多くの企業の相談に乗ってきた日本IBMの講演、そして、両者の議論から探る。
@ITは、2019年4月16日に「果たせアプリケーション維新! 〜コンテナ型仮想化基盤が実現するアプリ・モダナイゼーション〜」セミナーを開催した。本稿では、セミナーの内容をダイジェストでお届けする。
1996年にサービス提供を開始し、月間ページビュー約700億を超え、1日当たり9302万ユニークブラウザのサイトへと成長した「Yahoo! JAPAN」を運営するヤフー。基調講演に登壇したテクノロジーグループ グループCTO(最高技術責任者)の服部典弘氏は「プラットフォーム改善事例に見る、ニーズが激変する中でYahoo! JAPANが顧客の支持を獲得し続けられる理由」と題して、コンテナ技術やPaaSなどのクラウドネイティブ技術を活用しながら、同社がどのようにプライベートクラウド基盤を構築し、プラットフォームのモダナイゼーションを進めているのかを紹介した。
服部氏は、2008年にヤフーに入社し、「Yahoo!地図」の技術ディレクター、情報システム部門責任者、開発基盤部門責任者を経て、2018年から現職。ヤフーにおけるインフラ、開発基盤、データ基盤の技術責任者として、最先端技術の追求や大規模組織への最新技術の導入、エンジニア育成などに取り組んでいる。
服部氏はまず、ヤフーのビジネス動向について「メディア、コマース、金融といった事業ドメインで、100を超えるサービスを展開しています。グループ会社も多く、それぞれの企業が持つさまざまな種類のデータセットを掛け合わせたサービスを提供できることが強みの一つです。グループとして、マルチビッグデータカンパニーを目指すことを掲げています」と解説した。
服部氏によると、これからの「データ時代」を生き抜くためには、サービスやプラットフォームを時代に合ったものにしていくことが求められる。ヤフーでは、そこに向けたシステム対応をモダナイゼーションと呼び、約3年前から優先度の高い全社プロジェクトとして推進している。服部氏はモダナイゼーションに取り組む背景は大きく2つあると説明する。
「1つ目は、データの活用を進めビジネスの競争力を強化することです。それには、ユーザーからのフィードバックを受けてプロダクト素早くリリースし続けることが求められます。このサイクルを高速で回すために重要になるのが開発競争力の向上です。2つ目はレガシーからの脱却です。創業から20年を迎え、さまざまな資産がレガシー化していました。これからの20年に向けてヤフーのサービスを使い続けてもらうためにはモダナイゼーションは欠かせないものでした」(服部氏)
ヤフーが全社的に取り組むモダナイゼーションには、大きくサービスそのもののモダナイゼーションと、それを支えるプラットフォームのモダナイゼーションがある。服部氏が担当しているのはこのうちのプラットフォームのモダナイゼーションであり、大きく3つの軸で進められた。
「カルチャー、プロセス、テクノロジーを3つの軸にしてプラットフォームのモダナイゼーションを進めています。プラットフォームのモダナイゼーションというと技術にフォーカスされがちです。ただ、それだけでは不十分で、カルチャーやプロセスを合わせてモダナイズしていくことが重要です」(服部氏)
カルチャーにおける取り組みのポイントは「スピーディーな改善サイクル」ことだ。その背景について服部氏は、技術トレンドの変化が速い上に、プラットフォーム領域が専門領域で複雑であることを指摘する。
「流行の技術が1年後には廃れるということがよく起こります。また、プラットフォーム領域では、作っているうちに要件が変わることもあり、エンジニアの戦力になるのは3年後ということも多い。DevOpsによるスピーディーな改善サイクルが必須なのです」(服部氏)
DevOpsを推進するためにヤフーが採用したのがスクラムだ。スクラムは反復的かつ漸進的にプロセスを含め現状や問題を把握するための、アジャイル開発のフレームワークだが、「ヤフーではこのフレームワークを促進することで、組織の文化を変えていくというアプローチを採用しました」と服部氏。
プロセスのモダナイゼーションにおいてもスクラムを活用した。スクラムに即した組織作りとして「組織としてのバックログ作成」「プロダクトオーナー、スクラムマスター、開発マネジャーの役割の明確化」「1プロダクト1チーム体制」「組織横断のスクラムマスター育成」などを進めた。またCI(継続的インテグレーション)/CD(継続的デリバリー)を促進し、自動テストや自動デプロイでサイクルをスピーディーに回し、リードタイムの短縮と生産性向上を図った。スクラムがうまく回るように開発組織の仕事の進め方も変えていったという。
テクノロジーのモダナイゼーションでは、新たにコンテナとKubernetesの採用を進め、IaaS(Infrastructure as a Service)、CaaS(Container as a Service)、PaaS(Platform as a Service)、FaaS(Function as a Service)といった開発環境を整備し、サービスの要件に沿って最適な環境を利用できるようにした。現在、コンテナは100超サービスのうち約50について何らかのかたちで採用されているという。
またテクノロジーの採用では「Make(作る)」と「Use(使う)」で使い分けている。
Makeは、いまだ世の中にないモノや既存資産を生かすもので、オープンソースソフトウェア(OSS)をベースに構築した。「PULSAR」「ATHENZ」「Screwdriver.cd」などヤフーが開発協力したプロダクトをOSSとして公開し、コミュニティーにも貢献している。OSSはヤフーのような大規模環境で利用すると、未知のバグや障害を踏むリスクもあるため、OSS利用ガイドラインを設け、OSSライセンスの教育も徹底しているという。
Useは、世の中にあるモノでいち早く価値を届けられる場合に採用した。商用プロダクトとしては「Pivotal Cloud Foundry」「Splunk」「IBM Cloud」「IBM Spectrum」などだ。
こうしたモダナイゼーションの取り組みの結果、ヤフーはどんな成果を得たのか。服部氏はまず「デプロイ頻度が月1〜2回や週1回のものが、月4回や週2〜3回へと改善しました」とし、「変更リードタイムが1日から1時間」といった数字を挙げた。
このように、サービス開発エンジニアが新機能開発に割ける時間も増え、これまではシステム改善や運用保守などにかかっていた時間も、モダナイゼーションの中で新機能開発にかける時間に充てられるようになり、「サービス開発エンジニアがより磨かれたサービスをお客さまに届けられるようになりました」とした。
服部氏は最後に「モダナイゼーションに対する理解が進まないといった課題もありましたが、プラットフォームのアーキテクチャ図やサービスカタログ、クックブックを見せながら納得してもらう活動を行いました。現在はスクラムに加えて『Lean XP』を、技術面ではマイクロサービスやサービスメッシュの取り組みを進めています。モダナイゼーションには終わりがありません。これからもカルチャー、プロセス、テクノロジーの観点から常に追い続けていきます」と述べ、講演を締めくくった。
続いて、日本IBM クラウド事業本部 クラウドテクニカルセールス エグゼクティブITスペシャリストの樽澤広亨氏が登壇。「基礎から理解するアプリケーション・モダナイゼーション」と題して、アプリケーションモダナイゼーションの手法や進め方、最新動向を解説した。
樽澤氏はまず、アプリケーションモダナイゼーションでは、クラウドネイティブコンピューティングの要素技術であるマイクロサービス、コンテナ、動的オーケストレーションが重要だと指摘。特にマイクロサービスは、クラウドネイティブアプリケーション開発・運用のベストプラクティスであり、アプリケーション個別の保守を可能にする柔軟なモジュラー構造(サービス)を実現する重要な要素だとした。
その上で「アプリケーションモダナイゼーションには大きく3つのパターンがあります。アプリのコンテナ対応が適したもの、アプリのマイクロサービス化が適したもの、アプリとデータベースのマイクロサービス化が適したものです。アプリとデータベースを、順を追って段階的に変えていくことがポイントです」(樽澤氏)とアドバイスした。
こうした段階的な移行は「ストラングラーパターン」と呼ばれており、IBMでもストラングラーを生かしたステップ・バイ・ステップのモダナイゼーションを推進している。樽澤氏は、同社のソリューションの一つとして「IBM Cloud」「IBM Cloud Private」を紹介し、「製品、サービスの両面から全局面でシステムモダナイゼーションを支援できます」とアピールした。
Copyright © ITmedia, Inc. All Rights Reserved.