創業期から長年にわたり AWS を使い続けている理由は、豊富なマネージドサービスにより、
インフラエンジニアが開発業務に集中できることと、現場のニーズにマッチした新サービスが次々とリリースされることにあります。

尾形 暢俊 氏 スマートニュース株式会社 エンジニアリングマネージャ SRE 担当

スマートフォン用ニュースアプリ『SmartNews』の開発ならびに運用を行っているスマートニュース株式会社。2012 年の設立以来、ニュースの配信基盤に AWS を利用しています。事業の拡大に合わせてマネージドサービスを活用し、日米で 2,000 万アクティブユーザーにニュースを配信しています。1,000 以上の EC2 インスタンスからなる基盤は、Amazon EC2 Auto Scaling と独自の運用自動化ツールによって 1 日 4 回のピークに対応。同時に、リザーブドインスタンスとスポットインスタンスを活用してコストの最適化も図っています。


“世界中の良質な情報を必要な人に送り届ける”をミッションに、スマートフォン向けのニュースアプリ『SmartNews』を提供するスマートニュース。2019 年 12 月時点で月間アクティブユーザー数(MAU)は日米で 2,000 万人を突破し、ダウンロード数は日米合算で 5,000 万を記録しています。自然言語処理や機械学習の技術要素を最大限に活用しながら、アルゴリズムの力で重要度を自動判断してニュースを配信しています。

設立当初は、創業メンバーのエンジニアは 1 名のみでしたが、今ではメンバーが増え数十名ほどのエンジニアを技術領域ごとに配置しています。それでも迅速にサービスを提供するためには、インフラ管理に多くのリソースを割くことはできません。そこで事業の成長に応じてサーバーリソースを柔軟に拡張でき、マネージドサービスが充実している AWS を採用しました。

初期は、Amazon EC2 や Amazon S3 などを中心に活用し、規模の拡大に応じて Amazon RDS や Amazon ElastiCache などのマネージドサービスを積極的に採用していきました。アメリカ版『SmartNews』の提供を始めた 2014 年頃からは、世界規模のサービスを実現するために CDN を導入してアーキテクチャを改善。以来、Amazon Aurora、Amazon DynamoDB、AWS Lambda など利用しながら進化を続けています。

『SmartNews』のシステムは現在、ニュース配信と広告配信の 2 つがあり、それぞれ記事や広告を配信したり、検索を実行したりする“オンライン処理”と、記事の収集と分析を実行する“オフライン処理”に分かれています。

オンライン処理とオフライン処理の基盤はともに Amazon EC2 を中心に構成し、現在は 1,000 以上の EC2 インスタンスが稼働しています。「EC2インスタンスは Amazon EC2 Auto Scaling で管理し、動的にインスタンスを追加したり削除したりしながらリソースの最適化を図っています」と語るのはエンジニアリングマネージャ SRE 担当の尾形暢俊氏です。近年はコンテナを導入し、Amazon EC2 の代わりに Amazon Elastic Container Service (ECS) を一部で採用しています。

アプリと直接やりとりするオンライン処理は、読者のユーザビリティーに影響することから特にスピードを重視しています。『SmartNews』の場合は朝、昼、夕方、夜と、1 日 4 回のプッシュがあり、これをトリガーにピークタイムが訪れます。そのため、ニュースを配信する API サーバーは 4 回のピーク時間の前にスケールアウトし、ピーク終了時にスケールインしながら運用しています。「スケールアウトが容易な AWS でなければ、ピークに対応することができませんでした」と尾形氏は語ります。

国民的行事やスポーツのビッグイベント、著名人の吉報・訃報などがあった際には号外ニュースを配信します。この場合、さらにアクセスが増加することから専用のプログラムを用意して自動的にスケールアウトを実行しています。

「号外検知のシステムが配信を自動検知すると 5 分以内を目標に EC2 インスタンスをスケールアウトしています」(尾形氏)

オンラインのバックエンドでは、ユーザーの行動ログやアクションログなどをすべて Amazon Kinesis、Amazon ElastiCache、イベントログ収集ツールなどを経由して Amazon S3 に蓄積。データに対してAmazon EMR で分析処理を実行して Amazon S3 に書き戻したり、クエリエンジンを用いて BI ツールで分析しています。オフライン処理では、契約した媒体のニュース記事を集めて Amazon Kinesis 経由で専用プロセスに渡し、Amazon CloudSearch で記事のテキストを分析してプロダクトフォームを解析したり、サムネイル画像を生成したりしています。

大量の EC2 インスタンスを利用する同社では、定額月額料金のリザーブドインスタンス(RI)と、余剰の EC2 インスタンスを入札制で利用するスポットインスタンスを活用しながらコストの最適化を図っています。

「現在、RI のカバー率は 80% を超えています。EC2 インスタンスは、3 ヶ月に一度の頻度で棚卸しをしながら RI の比率を高めるように運用しています。RI の活用で、オンデマンドインスタンスと比べて 50% のコスト削減が実現しました。スポットインスタンスは主にオフライン処理の Amazon EMR での分析やクエリエンジンのワーカーノードでの利用が中心です」(尾形氏)

このように同社が創業期から長年にわたり AWS を使い続けている理由は、豊富なマネージドサービスによりインフラエンジニアが開発業務に集中できることと、現場のニーズにマッチした新サービスが次々とリリースされることです。現在、AWS のエンタープライズサポートを活用し、月に 1 回の頻度でテクニカルアカウントマネージャーから最新のマネージドサービスの紹介を受けながら、同社で利用できそうなものをピックアップしているといいます。

「全社のポリシーとして AWS を前提に開発を進め、エコシステムも AWS 向けに作り込んでおり、AWS 以外の選択肢はありません。マネージドサービスを採用する一番の理由は圧倒的な安心感です。困った時でも簡単に作り直したり、サポートで対応いただけたりするのでとても助かっています」(尾形氏)


 

ニュース配信に求められるセキュリティ対策については 踏み台サーバーを用意して、ユーザーとユーザーのアクセス権限を管理する AWS Identity and Access Management(IAM) で作成したアカウントを同期しています。AWS のアカウントを持つエンジニアはすべてのサーバーにアクセス可能ですが、会計に関するログを管理するサーバーなど、監査上重要なサーバーへのアクセスは制限しています。

同社は今後も AWS の最新のサービスを活用しながらアーキテクチャを進化させていく方針です。将来的にはすべてのサービスを Amazon Elastic Kubernetes Service(Amazon EKS) を用いてコンテナ化し、より効率的なリソース活用を目指すといいます。

さらに現在、前年比 5 倍のペースでユーザーを獲得しながら急成長しているアメリカ市場への展開に向けて、アメリカ向けのアプリ開発や US リージョンを用いたマルチリージョン化を検討しています。尾形氏は「現在、US 向けのサービスも東京リージョンの基盤から提供しているため、アメリカと日本間の長距離通信となっています。US ユーザーのエクスペリエンスを向上するためにも、2020 年度中にはニュース配信のオンライン処理を優先に US リージョンのインスタンスで実行する方向で検討を進めています」と話します。

smartnews_ogata

尾形 暢俊 氏


PDF 版のダウンロードはこちら»

スケーリング管理に関する詳細は、Amazon EC2 Auto Scaling ページを御覧ください。