ヤフー、モダナイゼーション推進のための3つの観点

OpenStack Days Tokyo 2019でヤフーのクラウドネイティブへの取り組みが紹介された。カルチャー、プロセス、テクノロジーの3つの観点からプラットフォームレイヤーのモダナイゼーションを推進したことで、デプロイ頻度の増加や変更リードタイムの短縮など、大きな効果が得られているという。

2019年7月22日、OpenStack Days Tokyo 2019の「ヤフーのクラウドネイティブへの取り組みとそれを支えるシステム開発」と題した講演に、ヤフー テクノロジーグループシステム統括本部 テクニカルディレクターの吉岡圭氏が登壇。Yahoo! JAPANにおけるモダナイゼーション推進の動機や手法、効果と課題などについて語った。


ヤフー テクノロジーグループシステム統括本部 テクニカルディレクター 吉岡圭氏

まず前提として、ヤフーは現在、マルチビッグデータカンパニーとしてデータ戦略に注力している。同社が運営する「Yahoo! JAPAN」は、ニュースやショッピング、オークションなど100以上のサービスを展開しており、月間総PVは757億に上る。また、グループ会社はヤフーのみで100社以上、親会社であるソフトバンクを含めると500社以上になる。そのユーザー規模を活かし、様々な業種のグループ企業と連携してデータを利活用することで、今後さらに事業を強化する考えだ。


ヤフーにおいて特に強みとなる領域のデータはメディア、コマース、金融だという

こうした状況の中、Yahoo! JAPANがモダナイゼーションを推進する理由について吉岡氏は、「データ利活用による競争力の強化」と「レガシーからの脱却」と説明する。データ利活用のためには、ユーザーからのフィードバックを得て開発改善をし、リリースするサイクルを高速に回す必要があり、これを実現するために開発環境を強化するのだという。また、1996年から20年以上にわたってサービスを展開してきたヤフーでは、独自のプロトコルで通信するアプリケーションやC言語のアパッチハンドラーといった古いアプリケーションアーキテクチャが残っており、これらがプロジェクトの俊敏性を欠く要因になっているという。

こうしたことから、Yahoo! JAPANでは約3年前からモダナイゼーションを全社における最重要案件の1つとして取り組んでいる。では、Yahoo! JAPANにおけるモダナイゼーションの取り組みとはどのようなものだろうか。

プラットフォームのモダナイゼーション

「ヤフーのサービスを本当にざっくりというと、まずサービスレイヤーというのが上にあって、その下に共通のプラットフォーム、その下にインフラといったような水平分業の形になっている。その中でまずはプラットフォームレイヤーからモダナイゼーションを始めている」(吉岡氏)。このプラットフォームのモダナイゼーションを実現するために、カルチャー、プロセス、テクノロジーの3つの観点から取り組みを推進しているという。


プラットフォームのモダナイゼーションを推進する3つの観点


まずカルチャーについては、目まぐるしく変化するテクノロジートレンドへの対応や開発サイクルの高速化を図るため、アジャイルソフトウェア開発手法の1つであるスクラムを半ば強制的に採用した。スクラムとは、「反復的かつ漸進的にプロセスを進め、短いサイクルでアプリケーションを開発」(吉岡氏)するもので、チームの現状や問題点を可視化する「透明性」、可視化された状況から問題点を見つける「検査」、問題の改善策を考えて対処する「適応」の3つを柱としている。




プロセスの面では、スクラムに即した組織づくりを実施した。具体的には、組織としてのバックログの作成や役割の明確化、1プロダクト1チーム制の導入、組織横断型のスクラムマスターの育成を行ったという。加えて「スクラムを導入することで、個々のプロダクトは回るようになるが、プラットフォーム全体として整合性が取れていないと利用者が使いにくいものになってしまう。プロダクト単体で見るのではなく、エコシステムとして1つのプラットフォームを作っていくんだというマインドの向上が非常に重要になった」と吉岡氏は言う。




また、CI/CD(継続的インテグレーション/継続的デリバリー)にも注力した。「改めて言うまでもないが、アジリティを持った開発を進める中で自動化はやはり重要。特にCI/CDは、改善の積み重ねという意味では非常にスクラムと親和性が高く、こちらも全社的な取り組みとして推進した」(吉岡氏)




テクノロジーの面では、従来のベアメタルやIaaSの利用から、CaaS(Container as a Service)に移行した。コンテナ化を進めた動機は、「インフラレイヤーとアプリケーションをできるだけ疎結合にしてアプリケーション、いわゆるサービスのアプリケーションの開発を早く回したり、サービスエンジニアがサービスの開発に集中できるような環境にしたかった」(吉岡氏)からだという。この取り組みを3年間進める中で、現在では約50のサービスがコンテナオーケストレーションツール Kubernetesを利用したCaaS環境に移行している。また、CaaS以外にも必要に応じてPaaS、FaaS(Function as a Service)といったよりサーバレスなアーキテクチャも構築している。サーバレスになるほどサービスエンジニアがインフラ環境に依存せず、サービス開発のみに集中できる。


続きのページは、会員の方のみ閲覧していただけます。

RELATED ARTICLE関連記事

SPECIAL TOPICスペシャルトピック

スペシャルトピック一覧

NEW ARTICLES新着記事

記事一覧

FEATURE特集

WHITE PAPERホワイトペーパー

ホワイトペーパー一覧
×
無料会員登録

無料会員登録をすると、本サイトのすべての記事を閲覧いただけます。
また、最新記事やイベント・セミナーの情報など、ビジネスに役立つ情報を掲載したメールマガジンをお届けいたします。