2013年11月21日 15時00分 UPDATE
特集/連載

技術革新で急成長に対応月間2億5000万人が遊ぶ「Angry Birds」、大人気ゲームを支える仕組みとは

月間利用者数で2億5000万人超を誇る大人気ゲーム「Angry Birds」。急速な成長を遂げているが、その反面、データ処理能力には、大きな負荷が掛かっていた。

[Antony Adshead,Computer Weekly]

 大人気ゲーム「Angry Birds」を開発するフィンランドのRovio Entertainmentは、米Basho Technologiesが提供するオープンソースの分散型データベース「Riak」を導入した。同ゲームの累計ダウンロード数は約20億件、月間利用者数は2億5000万人超に達する。そこから発生する膨大な量のデータを処理している。

急成長を遂げるRovio、データ処理能力の負荷が課題に

 2003年創業のRovioは現在、700人の従業員を抱え、急速な成長を遂げている。フィンランド、米国、中国、スウェーデン、日本、英国に事業所を構えている。

 急成長を遂げる同社のデータ処理能力には、大きな負荷が掛かっていた。Rovioは、高いサービスレベルを維持しながらも、低コストなシステム構築方法を模索していた。さらには、スマートフォンタブレットなど、複数プラットフォームをまたがったデータ処理も状況を複雑にしている。ユーザーエクスペリエンスの一貫性を保つため、さらなる投資が必要になるためだ。

 大量に流れ込むデータとピーク時の負荷に対処するため、データベースは拡張性と可用性に優れていなければならない。加えて、需要が予測を下回った際には、インフラシステムを縮小し、不要な費用を抑えることのできる柔軟性も欠かせない。

オープンソースのNoSQLデータベース「Riak」を採用

 Rovioは最終的に、スケーラブルでオープンソースの分散型NoSQLデータベース、RiakをAmazon Web Services(AWS)上に構築した。これにより、データ処理の増加およびそれに起因するデータ量の増大を、経済的かつ効率的に管理できるようになった、と同社のリードサーバアーキテクト、アリ・タルジャ氏は述べた。

 「Angry Birdsユーザーの利用状況などを基に、クラウドでの設計と実装を開始した。大規模な利用に備え、必要に応じて迅速に拡張できるようにする必要があった」(タルジャ氏)

 同氏によると、Riakは、Rovioの要件にフィットし、多様なユースケースをサポートしていたために選定されたという。

 タルジャ氏は、Riakを選んだ理由について、次のように話す。「Riakは、どのような状況においてもデータを消失しないという点で優れており、支払い処理といった重要なデータの保管に利用できる。非常にスケーラブルで、巨大で動的なデータセットにも対応する。単一障害点もない。複数データセンター間でのリアルタイムなレプリケーションも可能だ。運用は容易で安定している。パブリック/プライベートのどちらのクラウド環境でも運用可能。また、素晴らしい開発者支援プログラムも用意されている」

データを管理する柔軟なアプローチ

 RovioのITチームは現在、利用状況に応じて、Riakを稼働するサーバ数を数10台から数100台にまで拡張することができる。

 Riakは、低レイテンシといった特徴や、データベース内で複数ノード間のデータを複製する機能により、ハードウェア障害への耐性が高く、重要なユーザーデータを失うことはない。ノードの1つに障害が起きても、システムのパフォーマンスを維持することができる。また、複数のデータフォーマットにも対応する。

 Riakの導入後、社内開発にも、より一層の合理化が図られている。新たな社内用ユーザーインタフェース「Bigbird Library」は、Riak上に構築され、Rovioの開発者らに一貫性のあるシンプルなインタフェースを提供している。

 これにより、開発者らは、新機能の導入や、必要に応じて既存利用パターンの微調整を容易に行えるようになった、とRovioでリードサーバ開発者を務めるアンナ・コイブ-チュー氏は話す。

 「Riakクラスタは、さまざまなユースケースに最適化された複数のものがセットアップされている。クラウド同期サービス向けの要件は、広告プラットフォーム向けのものと大きく異なっている」とコイブ-チュー氏は述べる。「一部のクラスタは単独のサービスで使い、また一部は共有して使っている。しかし、全てのサービスが社内にある同じ抽象レイヤー、つまりBigBird Libraryを使っている」