テレビ朝日様 開発事例

Google ソリューションの機能性、安定性が支える Web メディアサイト「favclip」の進化。TOPGATE の技術力が進化し続けるサイト構築に貢献

総合ビジネス局デジタル事業センター 中村 敦氏

プロジェクト統括のIT &コミュニケーション室のメンバー 左からIT &コミュニケーショングループ ⻄村氏、室長 中村氏、IT &コミュニケーショングループ 鈴木氏

GAE で劇的なコスト削減を実現

favclip は「あなたのネタモトニュース」をコンセプトに株式会社テレビ朝日が運営する Web メディアサイトだ。「LoGiRL(ロガール)」「favclip(総合)」「OWARAI FAVCLIP」などの複数のポータルで構成され、最大瞬間 PV は 20,000 を超える。現在の favclip のバージョンは第四世代となる。

中村氏中村氏

課題は認識していた。社内情報共有基盤として変えなければいけない。検索であったり、誰もがメンテナンス出来たり、アンケートもしたいなど様々な要件があった。当初はポータルサイト製品を 4 社ほど比較検討を行なっていき最終的にポータル専門のベンダーと Google ソリューションの提案陣営が残った。両者の印象は両極端で 1 つはポータルを作るためのスペシャル・パッケージ。一方ではクラウドでありチームワークの Google。かなりチャレンジングではあったが我々は様々な可能性に期待し最終的に Google を選択した。

第三世代でスケールの仕組みを作ったものの、運用で大きな問題を抱えていた。

中村氏中村氏

当時スケールは手動で実行していたので、イベントを開催するときには深夜でも早朝でも必ずエンジニアが立ち会って状況をモニタリングし、ボトルネックを解決しなくてはいけませんでした。また、アクセス数に応じたスケールアウト/インの判断が難しいという問題がありました。favclip は外部サイトにも配信するので、外部サイトのカテゴリトップで掲載されるとアクセス数が急増します。ここがピークなのか、それともこの後に総合 TOP に掲載されてさらにアクセス数が増加するのか、そういった掲載のタイミングはこちらではわからない。そのためアクセス数が減少しても、インスタンスをある程度の期間確保し続ける必要がありました。こうしたインフラの保守・運用よりも、もっと機能開発にコストを配分するべきだと考えていました。

サイトを作ってそこでゴールではなく、サイトを常に進化させていく

第四世代では GAE(Google App Engine)/Go と TypeScript/AngularJS を採用。一部 GAE で実現できない部分で GCE(Google Compute Engine) や、Node.js サーバーとして FE (App Engine Flexible Environment) を使用している。第四世代では GAE のオートスケール機能を利用することにより、大幅なコスト削減が実現した。

中村氏中村氏

いままでは手動でスケールしていたので、40秒から長いときは10分程度かかり、どうしても対応が遅れていました。それが GAE/GO の場合はミリセカンド単位でオートスケールができる。スケールイン/アウトが自動で迅速にできるようになったことで、短期間での急激なアクセス数の増減にも対応でき、コストが最大で20分の1程度にまで削減できました。エンジニアがイベントに立ち会ってスケールする作業もまったく必要なくなりましたね。

もうひとつ GAE を採用した背景として、サイトの基盤構築におけるビジョンがあった。

中村氏中村氏

サイトを作ってそこでゴールではなく、サイトを常に進化させていくことがビジョンとしてあります。そのため、“3 年後の当たり前をやる”を基準として技術要素を採用しています。枯れて廃れる技術でも、流行の技術でもない。たとえ今はメジャーでなくても、3 年後にあたりまえの存在となる技術を選択していくことが重要です。こうした“進化するサイト”を実現するためには、頻繁なリリースができる体制と、問題があった場合に直前のバージョンへ切り戻しができる仕組みが必要です。GAE はバージョンの切り替えが設定ひとつで実施でき、しかも安定して切り戻しができるので、安心してリリースできています。実は第三世代からサイトを一度も停止したことがないんですよ。こうした安定性も Google ソリューションの魅力ですね。

“3年後の当たり前”を実現する TOPGATE の技術力

GAEを採用するにあたり、開発パートナーとして TOPGATE を選定した。

中村氏中村氏

TOPGATE は GAE ベースのシステム構築に豊富な実績を持っていますし、なによりも評価したのは技術力ですね。抽象的なリクエストに対して、採用する技術要素と実装方法を即座に提案できる技術力があります。

第四世代のシステムは、TOPGATE と共同で構築した。

中村氏中村氏

機能の実装は、短期間の開発サイクルで何度もリリースするアジャイルな手法を採用していて、現在も週に 3 回はリリースをしています。リリースする機能の優先順位はこちらで決定しますが、TOPGATE のエンジニアは単に機能を実装するだけでなく、将来リリースする機能を考慮して正しい実装方法を提案し、正しく実装してくれます。決して小手先だけの対応はしませんね。

技術力だけではなくエンジニアの意識の高さも“進化するサイト”に貢献している。

中村氏中村氏

“3年後の当たり前をやる”ためには、未知の技術要素をプロダクトレベルで提供する技術力が必要です。未知の技術要素をマスターするには時間がかかるので、エンジニアはコストが高いと感じます。でも TOPGATE のエンジニアは慣れ親しんだ技術より、その技術に将来性を考慮しつつ、あえてコストをかけてでも適切な技術を選択します。こうした姿勢があるから“3年後の当たり前”を実現できるのだと思います。

さらなる改良と効率化を目指す

今後も継続してチャレンジを続け、さらなる改良と効率化を目指している。

中村氏中村氏

今後は Angular2 のライブラリを全面的に導入する予定です。また、東京リージョンが開設したため、そちらに移行するテストをしています。現在は US のリージョンなので、移行後は日本国内からアクセスしたときのパフォーマンスが劇的に向上すると期待しています。また、よりよい施策が打てるように AB テストのソリューションを導入したいと考えています。いろいろソリューションはありますが、組み込みは簡単でもエンジニアやデザイナーでないと使えないものだと運用が大変です。AB テストが簡単に実施できるような仕組みを favclip のインフラに取り込みたいですね。まだ導入していませんが、Google オプティマイズ 360 にも注目しています。現在の課題は IP の固定ですね。決済サーバーと通信するためにIPを固定する必要があるのですが、GAE で対応できず、GCE で代替しています。GCE にすることでオートスケールできない分、インスタンスを冗長化させなくてはいけません。GAE で IP が固定できるようになるとさらにリソースを効率よく運用できるので今後に期待したいですね。

GCP・G Suite など Google 関連技術の事ならトップゲートにお任せください

Android アプリ開発の発注・お見積もり依頼はお気軽にご相談ください

GCP・G Suite のご相談・
お見積り依頼はお気軽に
TEL.03-5840-8815
お問合せフォーム TEL.03-5840-8815