まるで“SIer版ヤシマ作戦” 「エヴァ」公式アプリを配信基盤含め1カ月で開発 エンジニア2人の失敗できない挑戦記

0

2021年09月21日 12:02  ITmedia NEWS

  • チェックする
  • つぶやく
  • 日記を書く

ITmedia NEWS

写真茂木寛記さん(左)、磯貝重之CTO(右)
茂木寛記さん(左)、磯貝重之CTO(右)

 「2019年7月1日までに必ず出さなきゃいけないと言われたのが同年4月末。アプリの審査に最大1カ月掛かると考えると、開発とインフラの用意を1カ月でこなさなくてはいけなかった。失敗できないので、頭の中ではずっと『ヤシマ作戦』の曲が流れていた」──Web開発などを手掛けるeffective(東京都港区)の磯貝重之CTOは、同社が手掛けたスマートフォンアプリ「EVA-EXTRA」の開発当時をこう振り返る。



【その他の画像】



 EVA-EXTRAはカラーや「エヴァンゲリオン」シリーズ(エヴァ)のライセンス管理を手掛けるグラウンドワークス(東京都杉並区)と共同開発した、「シン・エヴァンゲリオン劇場版」(シン・エヴァ)シリーズの最新情報や、エヴァシリーズのミニゲームを提供するPR用アプリだ。カラーなどの都合により、発注はギリギリのタイミングにもかかわらず要件はほぼ未定、アプリ自体や配信基盤の仕様も決まっていなかったという。



 人員を増やすと逆に開発に時間がかかると想定したため、プロジェクトに参加したのは磯貝さんと、effectiveの茂木寛記さん(上級エンジニア)の2人だけ。時間もメンバーも少ない状況で挑んだ“SIer版ヤシマ作戦”の裏側を磯貝CTOに聞いた。



●「決まっていた仕様は2つだけ」インフラ整備と開発を並行して進行



 そもそもeffectiveに案件が回ってきたのは、シン・エヴァの配給を手掛ける東映による紹介があったためだ。過去にPR施策の効果計測ツールの開発を東映から受注した経験があり、それがきっかけになったという。



 「はじめに案件の話を聞いたときは『世界的に有名なコンテンツがすごく短い期間でアプリを作りたがっている』としか教えてもらえなかった。やりますと答えたらシン・エヴァの話題でびっくりした」



 納期などの詳細も聞いていなかったが、もともとeffectiveが要件などを顧客と一緒に話し合いながら開発を進めるスタイルを採用していたことから相性が良いと判断し、受注を決めたという。



 しかし、当時決まっていた仕様は「アプリとしてリリースする」「7月6日に行うイベントをライブ配信する」のみ。どんなコンテンツを掲載するか、配信基盤をどうするかは決まっていなかったため、詳しく要件定義や分業をしている時間はないと判断。配信基盤の構築と、開発・要件定義をそれぞれ並行して行うことにした。



●基盤構築は2〜3日で、さくらのクラウドとAWSのCDNを併用



 配信基盤の構築ではまず、利用するインフラの選定が課題になった。effectiveはこれまでIaaSを使った案件に取り組んだことがなく、社内に専門人材もいなかったためだ。



 そこで磯貝CTOは、案件を受けたときの会議に、企画のサポーターとして同席したさくらインターネットの責任者や、情報セキュリティ企業のゲヒルンの代表・石森大貴さんに相談。ゲヒルンがさくらインターネットの子会社なこともあり、両社のサポートを受けながらIaaS「さくらのクラウド」で基盤を構築することに決めた。



 Amazon Web Services(AWS)も検討したが、設定するパラメータが多く、作業に時間が必要な可能性があり断念したという。ただしコンテンツ配信に使うCDN(コンテンツ・デリバリー・ネットワーク:複数の別サーバがサーバ本体に代わってコンテンツを配信する技術)のみ、セキュリティの都合からAWSの「CloudFront」を採用した。



 こうして始まったさくらのクラウドを活用した基盤構築。構成の検討から実際に環境を作り上げるまで、およそ2〜3日で完了できたという。短時間で基盤を構築できた理由について、磯貝CTOはこう分析する。



 「さくらのクラウドは良くも悪くも設定項目が少なくシンプルで、迷う点があまりない。さくらのクラウドにはサービス内のGUIでシステムの構成図を描ける『マップ』機能があり、これもかなり助かった。AWSなどでは構成図を外部サービスなどで整理するが、マップ機能では実際の構築中に構成を表示してくれるため、各種IDの整合性が確認しやすかった」



 こうして構築した基盤では、キャッシュできるコンテンツはCloudFrontからエッジサーバを介して配信。ユーザー情報を保存したり、ユーザーの入力によって内容が変わるような“動的”なコンテンツを配信したりするアプリサーバはさくらのクラウドで運用する構成を採用。各種データべースなどもさくらのクラウド上に設置したという。



●LINEグループ名は「爆速」 決定権者を集め要件定義を高速化



 一方の要件定義とアプリ開発では、意思決定をいかに迅速化するかがカギになった。そこで磯貝CTOたちはカラーやグラウンドワークスの担当者といった決定権者が全員参加する「爆速」という名前のLINEグループを設立。実装したい仕様などについてのやりとりにLINEグループを活用することで、要件定義に掛かる時間を短縮したという。



 「こういう仕様はできますか、という質問に対して『できます』『代わりにこのやり方はどうですか』という返答が数分ででき、(決定権者がそろっているため)『持ち帰ります』が起こりにくく、かなり役に立った。常に会話があったため、こちらから『こういう機能はどうですか』という提案もしやすかった」



 例えば、障害物を避けながらアイテムを獲得し、ハイスコアを狙うミニゲーム「エントリープラグ飛ばし」はカラーなどが発案したものではなく、effective側が先に提案し、LINEグループで意見を聞きながら開発したものという。



 「自分がエヴァ世代なこともあり、アプリ開発に携わっているのが楽しかったのかもしれない。何か力になりたいなと思いながらの開発だった」



●当初の予定通りリリース、サーバもダウンせず



 こうした工夫が奏功し、EVA-EXTRAは当初の予定通り、7月1日に配信を開始。当日は10万以上のアクセスがあったが、サーバを落とさず耐えきったという。大量のアクセスに耐えられた理由として、磯貝CTOはインフラ設計時に心掛けたというコンセプトを挙げる。



 「可能な限りCDNのキャッシュサーバでアクセスを処理できる仕組みにし、できるだけアプリサーバに一度もアクセスさせないことを心掛けて構成を考えた。セキュリティの都合で細かいことはいえないが、UIやコンテンツをなるべく動的にせず、したとしてもアプリ側で処理させるように頭をひねった」



 当初決まっていた要件の一つ、7月6日に開催したイベントのライブ配信では数十万規模のアクセスが発生したが、こちらも耐えきったという。effectiveは現在でもEVA-EXTRAの保守を続けているが、すでにシリーズが完結したため、今後は関連情報を発信する場になるとしている。



●「撃ち漏らさず成功」



 “SIer版ヤシマ作戦”を成功させたeffective。EVA-EXTRAの開発を通してクラウドインフラ開発の経験を身に付けたことから、以降はIaaSを活用する案件も受け付けるようになった。すでに何件かの受注もあったという。磯貝CTOは今回の案件をこう振り返った。



 「当初は『絶対ミスできない!』と思っていた案件。エヴァのヤシマ作戦は1発目を撃ち漏らしていたが、今回のプロジェクトはミスなく標的を撃ち落せたのではないか」


    ニュース設定