コメント機能やライブ配信機能を備えた、新しい経済ニュースアプリを開発。
及川
まずは杉浦さんがCTOを務められるNewsPicksについてご紹介いただけますか。
杉浦
NewsPicksは経済情報に特化したニュースサービスです。いちばんの特徴はニュースにコメントができることであり、特に「プロピッカー」と呼ばれる専門家のコメントが読めるのが評判です。
経済ニュースというのは、専門的な内容に通じていないとその背景までわからないことが多いと思いますが、ひとつのニュースに対して多面的な考えを提示し、読み手の理解を促そうというのがNewsPicksのコンセプトです。
及川
NewsPicksを運営されるにあたって、技術的に工夫されていることはどのようなことでしょう?
杉浦
やはり課題としては大きいのは負荷軽減ですね。朝昼晩のピークタイムには一気に負荷がかかるので、それをどう分散するか。NewsPicksはそのサービスの特性上、キャッシュヒット率が下がるんですね。
ニュースだけならキャッシュすれば返せるんですが、リアルタイムでどんどんコメントがつきますし、最近は経済ニュース番組のライブ配信もスタートしたので、なかなかキャッシュできずどうしても負荷が高まってしまう。
そこでニュース、コメント、ライブ配信それぞれにキャッシュレイヤーを設けて負荷分散を図っています。また、高速性が求められるアドサーバーは内製しています。瞬間的に負荷が上がっても5ミリ秒以内でレスポンスできるよう、そのへんは技術的にかなり頑張ってますね。
及川
NewsPicksはユーザーからのコメントをランキングされていますよね。その機能はどう実現されているのですか?
杉浦
良いコメントはなるべく多くの方に見てもらいたいので、アルゴリズムでコメントをスコアリングする工夫をしています。とはいえ、どんなコメントが良いのかという判断はなかなか難しく、アルゴリズムを日々改善しているところです。
及川
ユーザーからのコメントで、コミュニティが荒れるケースもありますよね。それを技術的なアプローチからも解決されようとしている?
杉浦
技術とコンテンツの両側のアプローチを常に考えて、ひたすらユーザーの役に立つ質の高いものを提供していこう、というのが我々の基本的な思想です。
たとえばプロピッカー制度も賛否ありますが、コメントの質を高めるにはどうすればいいかという課題があり、その解決策として専門家の意見をたくさん集めようという施策をみんなで議論して実践したもの。編集者やデザイナーもエンジニアも関係なく、設定された課題に対してチームで解決していくのが当社におけるサービス成長の基本スタイルです。
及川
コンテンツと技術を分けないというのは、いわば“サービスデザイン”の発想ですね。あと、個人的に知りたいのはNewsPicksがどのような技術スタックで構成されているかということですね。
杉浦
インフラはAWSを使っていますが、最近スタートしたLivePicksというニュース番組のライブ配信はMicrosoftのAzureを活用しました。
及川
Azureを選択したのはどういった思想からですか?
杉浦
ひとつはAzureはAIに力を入れていたからです。LivePicksでは字幕起こしや検索インデックスづくりにAIを活用していく予定で、Azureが持つ機能がまさにフィットしました。
また、AWSはIaaSから始まったのでサービス志向が薄いところがあるのですが、Azureは当初からそれが強く意識されていて、ライブ配信のようなサービスをクリックひとつですぐに実現できるような世界が築かれている。
特にLivePicksは準備期間がきわめて短かったので、こうした外部のクラウドサービスを使わないと物理的にもまず実現できませんでした。
及川
スタートアップの場合、内製するものと外部のリソースを使うもののバランスが難しいと思いますが、その判断基準はどこにおいていますか?
杉浦
最初から内製化を決めていたのはアドサーバーです。これはメディアの収益構造につながる重要な機能であり、自らマネタイズをコントロールできないと収益化できず、結果としてサービスの改善も果たせない。ですから、アドサーバーだけはコストをかけても内製化しようと判断しました。
及川
なるほど、アドサーバーは命綱なので、他社に任せるわけにはいかないと。
杉浦
ええ。一方、LivePicksのような新しいサービスはヒットするかどうかも不確実なところがありますし、動画の生配信は我々にとっても初めてのチャレンジだったので、そこは他社からノウハウを借りてまず立ち上げることを優先しました。
及川
そのほか、NewsPicksで使われている技術を教えていただいてよいですか?
杉浦
AWSの上ではJavaでアプリケーションサーバーを構築しています。
及川
Javaを採用したのはどのようなお考えからですか?
杉浦
私も含めて社内にJavaに通じたエンジニアが多かったというのが正直なところです。まあ、VMの処理性能も早くて信頼性も高いですし、Java8以降は文法も柔軟で、昔ほどストレスを感じないので、トータルで評価してJavaを採用しています。
あと近々新しいアプリをリリースする予定ですが、そこではサーバーサイドKotlinの開発にチャレンジしています。KotlinはJavaとの親和性も高く、我々がいままで蓄積したノウハウをうまく組み合わせながら開発を進めています。