Yahoo!ニュースの中の人やニュースに関わる人などの声を通じて「"ニュース"とともに働くということ」について探る【ニュース×働く】、第3回目のテーマは「運用エンジニアの頭の中」。
普段当たり前のように表示されているウェブサイトですが、「いつもと変わらない日常」の裏には運用エンジニアの存在が欠かせません。今回は、普段なかなか表に出る機会の少ない、Yahoo!ニュースの"縁の下の力持ち"ともいえる運用エンジニアチームのスタッフに話を聞きました。(聞き手/Yahoo!ニュース編集担当・井上芙優)
【ニュース×働く】過去の記事
・[兼務]「記者・編集者はつぶしがきかない」は取り越し苦労?
・[時短勤務]24時間体制の職場での時短勤務は「申し訳ない」ことなの?
仲辻正幸(なかつじ・まさゆき)
Yahoo!ニュース運用プロジェクトチームリーダー。2005年ヤフー入社。旧Yahoo!コミック(現・Yahoo!ブックストアの前身)での開発運用など技術全般業務、メディア系のサービス全般の運用業務などを経て現職。
※この記事は2015年6月8日に配信された記事です。
「プラスのアウトプットが見えにくい」
――まず、運用チームの体制や業務について教えて下さい。
仲辻 Yahoo!ニュースは、外からみると一つのサービスですが、中では約150人程度のスタッフが「Yahoo!ニュース・トピックス」、「Yahoo!ニュース 個人」、「テーマ機能」、「Yahoo!ニュースのトップページ」などさまざまなプロジェクトに分かれて仕事をしています。運用チームは現在6人で、それぞれプロジェクトごとに担当を割り振っています。例えば、「Yahoo!ニュース 個人」が乗っかっているサーバの監視や障害対応などのバックエンド業務は、「Yahoo!ニュース 個人」を担当している運用メンバーが行う、といったイメージですね。もちろん、何か緊急対応が必要なときは、担当をまたいで全員で対応することもあります。
――システムの保守運用業務というのは、非常にシビアな世界だなという印象を持っています。サイトが落ちる、つまり運用におけるマイナス点は一目瞭然ですが、一方でプラスのアウトプットというのがなかなか表には見えにくい。膨大なユーザーにご利用いただいているサービスで「当たり前」の状態を保つというのは、実はすごく大変なのではないかと思います。
仲辻 Yahoo!ニュースは月間100億PVの大規模なサービスですし、ユーザーの生命財産に関わる情報も扱いますので、1秒たりとも「落ちる」ことが許されないサイトです。システムの運用でまず大事なことは、「絶対に落とさない、落とせない」ということ。深夜でも休みの日でも関係なくその意識は常にあります。「落ちないこと」が求められる世界なので、開発や企画、編集などの他の職種に比べて、運用は評価がしにくい仕事というか、アウトプットが外に見えにくい仕事かもしれません。
――「数値上がった!」「○○特集をローンチした!」というテンションとはまた一味ちがう醍醐味があるような気がします。運用エンジニアが「やった!」と感じる瞬間って、どんなときですか。
星野 あくまでも僕の場合ですが、大きなシステムの作りかえや、深夜に及ぶ大掛かりなメンテナンスなどの際に、「スムーズに進んだ」というときでしょうか。深夜メンテなどは、トラブルがおきやすかったりするケースもあるので、そういうときに何事もなくスムーズにいくと、「やった」と思いますね。
コストと社会的責任のジレンマ
――特に、災害時や突発的なニュースの際は、アクセスが集中しますよね。突発的に負荷が増大するケースがあるというのは、ニュースサービスならではの特徴かと思います。
仲辻 Yahoo!ニュースの場合は、Yahoo!ニュースの中に沢山のプロジェクトがまたがっている上に、デバイスもスマートフォンやPCなど複数にわたっています。さらに、アプリでのプッシュ通知などで重要ニュースをお届けしたときや、大きな災害が起こった際は膨大なアクセスが集中します。重大ニュースは24時間365日いつどこで発生するかわからないため、サーバ負荷の予想がしにくい。でも、そういった中でも、突発的なニュースが起こった時こそサイトを落とさないようにしなければならないので、将来いつ起こるかわからない一瞬の負荷を乗り切るために普段の業務がある、といえるかもしれません。
――予想がしにくい中でも、将来の負荷に備えてサーバを増強しなければいけない。
仲辻 何かあったときの負荷に備えて、サーバを大量に準備すればカバーはできるのですが、やはりYahoo!ニュースもイチ企業としてマネタイズしていかなければいけないため、湯水のようにサーバを追加するということは出来ません。膨大な数のユーザーにご利用いただいており、国民の生命財産に関わる情報をお届けしなければいけないという社会的責任を負っている一方で、サーバを増やせばその分コストがかかるので、そのバランスをとるのに苦慮しています。
――コストがかけられない部分はどうカバーするのでしょうか。
仲辻 ないものはない、そこは割りきって違う方向を探して、今あるサーバでチューニングしながらやりくりしていますね。開発と相談しながら、システムの中を改良しながらうまくできないか、ということも探っています。あとは、サーバの仮想化ですね。実機よりも仮想サーバのほうがコストは抑えられるので。
星野仁司(ほしの・ひとし)
Yahoo!ニュース運用プロジェクトチーム所属。2008年ヤフー入社直後からYahoo!ニュースの運用を担当。2012~2014年にYahoo!天気・災害での運用担当を経て、現職。
――サーバ仮想化のメリットとデメリットは。
仲辻 実機だとサーバ自体を用意するための時間がかかりますが、仮想機はすぐに準備できる、というのは大きいですね。必要なときに導入しやすいというのは、スピード感を求められるニュースサービスにもマッチしている部分はありますね。
星野 ただし、一台あたりのパフォーマンスでいうと仮想機よりも実機のほうが優れているというのが現状。実機と仮想機、同じ台数だけ用意した場合、やはり仮想機のほうが実機よりパフォーマンスは落ちてしまうという課題もあります。Yahoo!ニュースは規模の大きいサービスですし、突発的、瞬間的な負荷が大きいので、仮想機で台数をやみくもに増やしすぎるよりは、ある程度の実機も同時並行でそろえたほうがいいのでは、という話も出たりしています。
サーバ負荷も「盛り上がりに欠けた」?昨年末の衆院選
――「予想できない」負荷に備える一方で、昨年12月の衆院選はある程度の負荷が予想できるケースだったと思うが、当時を振り返ってみて。
星野 当時は、急に解散風が吹いて、あれよあれよという間に選挙がはじまってしまったため、短時間で準備しなくてはならず......投開票日直前ギリギリまで作業をしていました。投票締め切りの午後8時ごろに議席予測がでるので、その頃に負荷のピークがくるだろうとある程度予想を立てて、そこに向かってスケジュールを組んで作業をすすめていきました。前回の国政選挙のときの記録があまり残っておらず......さらに前回の国政選挙と今回の衆院選のあいだに、プッシュ機能が実装されたり、アプリの利用者数も増えたり、仮想機の導入も進んでいたりと状況が変わっていたので、手探りの部分も多かったですね。今回の対応は詳細に記録に残して、次回の選挙へ向けての負荷想定の材料にしています。
ヤフーでは社内フロアに「衆院選対策本部」を設置。企画、編集、エンジニア、デザイナーなど、Yahoo!ニュースを含む各部門・職種のメンバーが集まり、24時間体制で対応にあたった(2014年12月)
星野 実際にフタをあけてみると、想定外の事態もなく無事に投開票日を乗り切ることができました。当日は午後8時の投票締め切り直後に議席予測をプッシュ通知でお知らせする予定だったので、相当な負荷が来ると予想して手厚く準備していたのですが、実際にはこちらの想定を下回る負荷でした。「盛り上がりに欠ける」などといわれていた選挙でしたが、サーバ負荷にもその状況が現れていたといえるかもしれません。
(※当時の対応についてはこちらの記事を参照ください)
2014年12月14日の衆院選投開票日のサーバ負荷状況の推移。赤い丸印は、午後8時の投票締め切り直後の負荷を示している↑
「焦らないマインド」をどう身につける?
――いくら普段から備えているとはいえ、未曾有の大災害が起こってしまった場合に、大量のアクセスが集中してサーバがダウンしてしまう可能性はゼロではないですよね。「万が一」が起こったときのために心がけていることは。
仲辻 何か起こったときって、絶対に焦ると思うんですね。なので、いつかその日が来ても焦らないように、「焦らないマインド」をつける、ことでしょうか。あとは準備 検知 対応のスピードをあげることですね。何か不具合が起こったときにすぐ検知できるアラートを飛ばせる仕組みをつくって、夜中でもいつどこにいても対応できるように心がけています。あとは、メンバー同士でスケジュール管理をして、各プロジェクトの状況を常に把握できるようにしています。
――「焦らないマインド」って、どうやって身につけるんですか。
仲辻 すごく基本的なことですが......有事の際の手順やドキュメントを整理して、確認作業をしておくことでしょうか。そして自分は出来るからOK、だけではなくて、自分以外の誰かが急に対応しなければいけないときに、「こういうドキュメントがないと困るよね」ということも念頭において普段から引き継ぎをしっかり行っておくこと。また、東京本社が動けなくなってしまったときも、地方拠点がカバーできるように、BCPに関しては普段から有事の際に地方拠点と連携を取れるように心がけています。
――星野さんはどうですか。
星野 うーん......(しばらく考え込む)。......自分がどうマインドを身につけたかって、自分ではなかなか思い浮かばないものですね(笑)。
仲辻 じゃあ僕からの目からみた星野君の強みをいうと......何か緊急で対応しなければいけないとき、「絶対に失敗できないところでミスがない」ところでしょうか。星野君は入社直後からYahoo!ニュースの運用にずっと関わってきた人なので、本人は気づいていないかもしれないけれど、これまで大きなサービスにずっと関わってきて、積み重ねた経験がそうした「焦らないマインド」の形成につながっているんじゃないかなと思います。
運用エンジニア視点で見た、ニュースの未来
――現場担当者からみて、ニュース運用に関わるエンジニアの未来って、どうなると思いますか。
仲辻 ニュースはスピード感が求められるサービスなので、運用の世界でも、これからさき機械化・自動化は必須だと思います。一方で、自動化とか共通化を進めていくと、僕らの今ある仕事は減っていく。そのときに自分達は何をやるのか、ということを常に考えていかないといけないと思っています。自動化が進む中でも、「こういうときはこういう構成にしたらいい」とか、「このツールはこう使うと効率がいい」とか、これまで培ってきた視点が活かせる機会はあると思います。
星野 できるだけ手作業をなくして全部自動でなにもかも動くようなシステムが将来的にできればよいですが、自動化が進めば進んだなりに、やるべき仕事はあると思います。今後は、新しいシステムの構築の仕方、既存のシステムのチューニングやパフォーマンスをどう良くするかなど、そういったことに費やす時間が増えてくるのではないかなと思います。