「5年ぶりの放送のため、どれくらいの投票があるか事前に読みにくかった」。朝日放送(ABC) 技術局 開発部の小南英司氏は、お笑い番組「M-1グランプリ2015」に向けて開発した敗者復活戦投票システムの取り組みについてこう説明する。

 M-1グランプリは現在、朝日放送と吉本興業が共催する漫才コンテストのテレビ番組で、朝日放送が制作し、ABC・テレビ朝日系列で放送している。2001年から2010年まで毎年12月に開催されており、2015年に5年ぶりに復活した。予選を勝ち抜いた8組に加え、敗者復活1組の合計9組が決勝戦に出場する。敗者復活戦投票システムは、視聴者投票によって敗者復活のメンバーを決める重要なシステムだ。

オンプレはリソースに不安

 小南氏によると、「2015年8月に5年ぶりの復活を盛り上げる演出の一環として、敗者復活選での視聴者投票ができないかとの打診を受けた」という(図1)。当時、オンプレミス(自社所有)環境にも、視聴者投票を集計するシステムがあった。

図1 AWSを使ったM-1投票システム構築の経緯
図1 AWSを使ったM-1投票システム構築の経緯
[画像のクリックで拡大表示]

 朝日放送 技術局 開発部の高木衛氏は「ピーク処理のリソースに問題があった」と打ち明ける。オンプレミス環境のシステムは「関西ローカルの番組対応が基本」(同)だったため、全国かつ生放送のM-1グランプリで利用するには不安があった。

 小南氏は「初めからクラウドしか選択肢が無かった」と語る。朝日放送ではそれまでパブリッククラウドの活用例は無かった。ちょうどその折、小南氏らはAWSジャパンの大阪拠点で月1回開催されているセミナーに参加した。AWSの担当者に相談したところ、「お手伝いしますとの返事をもらった」(同)という。

試行錯誤を経て構成決定

 システム構成の検討段階では、「当初はEC2を複数並べて負荷分散する構成を考えていた」と小南氏は話す。EC2が主体の構成ではアクセスが集中した際に「サーバーの増設や設定値のチューニングなどで手間が掛かる」(同)恐れがあった。

 放送は12月と決まっており、「開発期間は実質1カ月強」(小南氏)に限られていたため、AWSがサーバーの運用管理などを担うマネージドサービス主体の構成を採用した。中心となるサービスは、リアルタイムのデータ収集・処理を実行する「Amazon Kinesis Streams」だ(図2)。

図2 M-1敗者復活戦投票システムの概要(2016年版)
図2 M-1敗者復活戦投票システムの概要(2016年版)
[画像のクリックで拡大表示]

 Kinesisは「シャード」と呼ぶデータ処理経路を持ち、1シャードで秒間1000件(Kinesisではレコードと呼ぶ)のデータを受けられる。