linotice

linotice

2020.03.19

「Yahoo! JAPAN Advent Calendar 2019」Best AuthorとCTO藤門がヤフーを支える技術やデザインを語る

料理を前に藤門と受賞者2名が並んで座っている写真
ヤフーの持つテクノロジーやカルチャーの魅力を発信するブログ「Yahoo! JAPAN Tech Blog」。2019年もヤフーのエンジニアやデザイナーたちが、技術情報や自身の取り組みに関する記事を投稿するアドベントカレンダー企画「Yahoo! JAPAN Advent Calendar 2019」を25日間にわたり開催しました。
2019年度のテーマは「ヤフーを支える技術とデザイン」。Best Authorに選ばれたのは、2名の中堅エンジニア。CTOの藤門とでテーブルを囲むランチでは、それぞれの記事についてはもちろん、仕事のやりがい、ワークライフバランスなど、たくさんの話題で盛り上がりました。

「Yahoo! JAPAN Advent Calendar 2019」Best Author

▲岡部和昌(おかべ かずまさ)
メディアカンパニーメディア統括本部 開発本部。新卒入社13年目。第4代~6代黒帯(HTML5、ウェブディベロップメント)。Best Author受賞は2度目。
受賞記事は「Yahoo! JAPANトップページを Atomic Design と React・Redux・TypeScriptで作り変えたお話」(2019年12月3日公開)。「Yahoo! JAPAN」のトップページを 2019年10月1日に刷新するにあたって、主に開発環境をアップデートした経緯と採用した技術に関して述べました。

▲藤見和英(ふじみ かずひで)
テクノロジーグループシステム統括本部 サイトオペレーション本部。新卒入社10年目。入社前はウェブ開発、データセンター業務のアルバイト経験も。入社以来、一貫してサーバーインフラエンジニアの道を歩む。
受賞記事は「大規模オンプレミスなヤフーのサーバーインフラの裏側 ~ サーバー調達や運用の流れを紹介します」(2019年12月17日公開)。自社でサーバー機器を調達して、大規模プライベートクラウドを構築した技術や開発の舞台裏について伝えました。

CTO藤門と表彰ランチ

紀尾井町の「ノマドグリル・ラウンジ」を会場に、二人を表彰するランチで繰り広げられた様子を紹介します。

▲会場は紀尾井町の「NoMad Grill Lounge(ノマドグリルラウンジ)」。メイン料理は、島根産大国牛とUSプライムビーフのグリル。

ユーザー惑わさないサイトリニューアルに必要なこと

──まず、お二人をBest Authorに選んだ理由を教えてください

今年のテーマは「ヤフーを支える技術とデザイン」。25本すべての記事を読み、それぞれのPVやソーシャルなエンゲージメント、拡散された数字も見ました。お二人の記事はその数字がダントツに高かったこともありますが、なにより「ヤフーを支える技術とデザイン」という今年度のテーマに一番合っていたのが二人の記事でした。
本当はBest Authorを一人に絞りたいところだけど、今年も絞りきれずにお二人をたたえることにしました。
なぜこの記事を選んだかというと、まず岡部さんの「Yahoo! JAPANトップページを作り変えたお話」。リアーキテクトは僕も何度か経験がありますが、そもそもが大変なんですよ。
一般的にリアーキテクトするときは、古いUIを変更したり古い仕様をなくしたりすると楽なんですが、Yahoo! JAPANトップページは1ページしかない。そのUI/UXをガラッと変えてしまうと、何万人というユーザーが路頭に迷うことになります。だから、あまりやりたがる人がいない。
ただ、2008年の大規模リニューアルからすでに11年もたっており、積み重ねで運用、開発を続けた結果、デバイスの進化などに対応して最適化するためには、大規模な刷新をするしかなかった。
岡部さんは現行の仕様を踏襲しながら、「ユーザーを不用意に迷わせることなく、リアーキテクトする」という難しい課題にチャレンジしたわけです。その過程がつぶさに紹介されていて、とても興味深かったですね。

▲ヤフー株式会社 取締役 常務執行役員CTO 藤門千明
静岡県生まれ。2005年に筑波大学大学院を卒業後、ヤフー株式会社に新卒入社。エンジニアとして「Yahoo! JAPAN ID」や「Yahoo!ショッピング」「ヤフオク!」の決済システム構築などに携わる。決済金融部門のテクニカルディレクターや「Yahoo! JAPAN」を支えるプラットフォームの責任者を経て、2015年にCTOに就任。2019年10月より現職。

ありがとうございます。トップページのリニューアルとはいっても、見た目はそう変わっていないんですね。ヤフーの社員でも気づいていない人もいるんじゃないでしょうか。Atomic Design も Reactも以前からある手法ですが、ヤフーで取り組むのは比較的新しい。そこで、こうした技術やフレームワークを使ってリニューアルを進めた事例をきちんと残すことは、とても貴重なのではないかと思ったのが、執筆の動機です。
記事が出てから、「React使いたいんだけれど、どうやるのがベストなのかわからない」という課題を抱えていた社内の別のチームから問い合わせが来るなど、かなり反響がありました。
また、今回のリニューアルでは、フロントエンドに関わる担当デザイナー全員が 「HTMLについては、日本一と言われるぐらいの文章構造にしよう!」と意気込んでページ全体の構造の最適化を行いました。その意気込みも伝えられたと思います。
ウェブ制作の現場では、クライアントの意向で新しい技術を使えないというデザイナー、エンジニアもいると思いますが、例えば「ヤフーで使っているから」ということで他社も提案しやすくなったらうれしい。大きく言えば、日本のインターネット技術をアップデートしたかったという思いがあります。

誰も知らないサーバーインフラの裏側を赤裸々に紹介

フロントエンドのUIフレームワークで現在の主流はReact.jsとVue.jsですが、それぞれ一長一短ありながらすみ分けができています。今回はトップページの画面は1枚だから、Vue.jsを使ってもできたと僕は思うのですが、それでも彼らはReactを選んだ。みんなで議論しながら、Reactを選んだ過程もよく書かれている。技術選択、デザインのフレームワーク選択はこうしてやるんだよというよい事例。これはきっとほかの企業にも参考になると思います。
そして、藤見さんの「大規模オンプレミスなヤフーのサーバーインフラの裏側 ~ サーバー調達や運用の流れを紹介します」。ヤフーは、自社でサーバー機器を調達し、自社のデータセンターを活用して大規模プライベートクラウドを組んでいます。実は、サービス開発をしているヤフーの従業員は、インフラの裏側をあまり意識しなくてもサービス開発ができるようになっています。
サービスを作り上げる技術の進化はユーザーの皆さんにもわかりやすく伝わりますが、その裏側も大きく進化をしているんですね。ただ、現場の作業風景の写真があったりして、あまりにも生々しい記事なので、ここまで赤裸々に公開しちゃっていいのか、読んでいてハラハラしました(笑)。



インフラ業界は、セキュリティの関係やいろいろな要因もあって意外とクローズドな文化があります。とはいえ、サーバーインフラの現場も進化しているし、僕らの仕事も多岐に及んでいる。それを発信して認知してもらうことが大切だと以前から考えていました。編集前の最初の原稿はもっと赤裸々でした(笑)。
自社サービスをパブリッククラウドで運用する会社が増えていますが、ヤフーは社内にオンプレミスのインフラをもっている。そこが強みにもなっています。サーバーの選定から運用、さらには機材の廃棄に至るまで、サーバーインフラエンジニアの仕事をあらためて紹介することもできたと思っています。

ヤフーのサービスのなかには、パブリッククラウド上で提供しているものももちろんあります。ただ、インターネットのベースになっているような社会基盤的なサービスについては、他社のクラウドが動かないからヤフーのサービスも動きませんという言い訳は効かない。
それを言うのはエンジニアとしては悲しいもの。だから、自前の技術でのプライベートクラウドにこだわるわけです。自分たちの責任で社内のインフラに取り組むことで、技術も磨かれます。
藤見さんの記事は、他社のサーバーインフラエンジニアにとってもインパクトを与えたんじゃないでしょうか。国内でも大きな会社はインフラを自前で持っていたり、クラウドとオンプレミスのハイブリッドでシステムを組んでいたりとか、インフラ運用の実態はさまざまです。
ただ、会社の垣根を越えたインフラ技術者同士の情報交換などの場では比較的オープンな議論がされている。「ああ、ヤフーの人もこういうところで苦労しているんだな」ということがわかってもらえたかもしれませんね。


サーバーインフラエンジニアはときに世界を駆け巡る

──お二人のヤフーでのキャリアを教えてください。

学生時代からアルバイトでウェブ開発やデータセンターのサーバーのラッキング、ケーブリングなどをやっていて、そこでサーバーインフラ技術に興味をもちました。ヤフーにサーバーインフラエンジニアとして入社して10年目。いまはインフラに使う機器の購買活動にも関わっています。
購入するところから、検証、運用、トラブルシュート、廃棄するフェーズまですべてに関わっています。サーバー、サーバーパーツのサプライヤーはほとんど海外なので、海外とのやりとりも多いですね。



サーバーは、単に購入するだけではなく、最近は「調達」という考え方が重要になっています。buy(バイ)じゃなくて、procurement(プロキュアメント)ですね。世界のどこにパーツが存在していて、どこが安いかを把握しないといけない。商社のようなところがあるんです。
もちろん会社にも購買部門はありますが、どれをいつ買うかを決めるにあたっては、技術動向を知り、それを予測する、エンジニアの知見が不可欠です。
インフラ機器のプロキュアメントは、GAFAもより大きな規模でやっています。いわば、グローバルスタンダードな仕事。ヤフーはGAFAと同じような仕事をやっているんですよね。

例えばSSDの調達一つをとっても、他社の採用動向の影響を受けたり、スマートフォンなど他分野の市況に左右されることがあります。新世代のスマートフォンが発売される時期にはSSDサプライヤーのリソースがスマートフォン業界へ流れたり、調達ボリュームが大きい会社が特定のパーツを買うとそのパーツだけマーケットから枯渇するなどといったことが発生します。SSDを含めたサーバー調達においては外部要因によって常に流動的であるため、それを見越して情報収集・調達をしなくてはいけません。そのためにベンダーとの技術コミットメント、コミュニケーション、地政学的リスク、製品ラインアップ、販売ネットワークなど、さまざまな観点を考慮し、リスクヘッジのためにマルチベンダー・マルチソース体制を取っていたりします。
海外への出張も多いですね。OCP(Open Compute Project)などのインフラ系のカンファレンスやイベントで実際にベンダーのキーパーソンの方と関係性を構築できると、有用な1次ソースの情報が得られます。日本にいても情報は入ってきますが2次3次ソースの情報だったりするので価値が違うと感じています。
インシデントが起きて何かアクションが必要な時も、ベンダー側に動いてもらうために、キーパーソンに直接コミュニケーションできるのとできないのとでは、その後の動きも大きく違ってくるため、ベンダーとの信頼関係構築はとても重要になります。



僕は、大学時代は応用化学専攻で、オゾンで汚れを落とす研究をしていました。唯一の趣味と言えるのがゲーム。ただ、ゲームで遊ぶことよりも、ゲームユーザーとの情報交換のためのサイトを作るのが好きで、サーバーを自分で立てて、掲示板を作ったりしていました。
HTMLはサイト制作に不可欠なので、独学で覚えました。しかも、ウェブデザインソフトなどは使ったことがなくて、HTMLをすべて直打ちするというタイプです。
学部の専攻からいうと、化粧品会社などへの就職が一般的なのでしょうが、その趣味を生かす路線で一社だけ受けてみようと思い応募したのがヤフーでした。それが13年前で、ヤフーにとっては初めての新卒デザイナー採用でした。
これまでYahoo! JAPANのトップページ、会社概要、メルマガ、キッズ向けサイトなどいろいろ関わりましたが、いまはYahoo! JAPANのトップページ専任です。所属部署はエンジニア系ですが、自分の認識としてはフロントエンドデザイナーですね。
Yahoo! JAPANのトップページをデザインしていると言えば、ほかの業界の方や、スマホを使えないうちの親にも自分がやっていることを理解してもらえます。それがうれしいですね。
いま、トップページにかかわるエンジニア、デザイナーはスマホサイトも合わせると100人以上います。年次に関係なく、1、2年目の若手も重要なデザインやそのリニューアルに関わっています。


業務における“属人化”を極力排す

──それぞれの働き方についてはいかがですか。特にインフラ系というと、トラブル対応で仕事がハードというイメージがありますが。

私の部署でも、機器の運用を担当している人は、出社と退社の時間が不安定になるということは確かにあります。ハードウエア的な問題が起きて、しかもそれが緊急であればすぐに対応しないといけませんから。僕の場合は海外とのメール対応や電話会議のため早朝や夜の時間に対応することもあります。データセンターにも月に何回か行きますね。

サーバーの動きは通常リモートで監視していますが、動いてはいるけど、時々よくわからない動きをするとか、なんとなく不調ということもあって、これがやっかいですね。そうした場合は、ベンダーの人と一緒にデータセンターに行って、ラックの前でサーバーの動きを自分の目で見る必要があります。僕も昔はよくやりました。

ただ、そういうトラブルこそが、いろいろな情報が入ってくるチャンスでもあります。だから、イレギュラーなことも多いですが、楽しいですね。



僕の部署では同じYahoo! JAPANトップページでも、以前は、スマホはスマホ担当の人、PC向けサイトはPC担当の人しか分からないなど、属人化されたところがありました。いまはそれを止めて、誰かが休んでも困らないように誰でも管理できるようにしたところ、結果的に残業は減っています。僕自身、残業は好きじゃないし、ほとんどしないですよ。

ヤフーの残業時間の平均は月に15時間ほどです。僕自身も海外とのテレカン(電話会議)も多いし、仕事の波は不規則ですが、週2回子どもの保育園のお迎えをしています。けっして“イクメン”として自慢できるようなものではないですけど(笑)。

わが家では、夕飯は必ず自宅で妻と一緒に食べると決めています。妻も働いているので、どちらか早く帰って来た方が作ることにしています。


僕は一人暮らしなので、料理はしますよ。最近ハマっているのは煮卵とかチャーシューです。

チャーシュー手作りですか! すごいですね!

好きな領域を突き詰めるからこそ、足りないスキルも見えてくる

──最後に、5年後のキャリア、どんな像を描いているか聞かせてください。

サーバーインフラに関して、いろいろな領域を横断して動いていくと思います。調達、検証、運用、トラブルシュート、廃棄などです。組織にこだわらずにサーバーに関することであればなんでもやっていくつもりです。サーバーインフラの奥深い世界をもっと探求したいですね。
この分野の時間軸は3年から5年で1サイクルというイメージなので、10年やってもまだ2サイクルぐらいしか回していない。やっと初心者レベルが終わったくらいです。

フロントエンドデザイナーをやりつつ、最近はウェブの標準化団体「W3C」に関連する社内の仕事にも参加しています。ブラウザー関連の技術調査や、世界標準をキャッチアップするための仕事は今後も増えそうです。
いずれはヤフーで培った技術やデザインを世界に押し出していきたい。そのためにも、英語はもうちょっと磨きをかけたいですね。リスニングやリーディングは多少は得意だと思っているのですが、スピーキングの上達が課題。字幕なしの海外ドラマでトレーニングしています(笑)。
社内的には、新技術とレガシーのバランスが重要だと思っています。レガシーだから捨てるというだけでもなく、一方で新しいものもどんどん取り入れていく。いずれは、デザインに関するツールについても、「ヤフーも使っているから、うちの会社でも採用しよう」と言われるような、業界をリードする立場に立ちたいと思います。

自分が好きな領域を突き詰めることはとても大切です。そこで足りないスキルも発見できる。藤見さんだったら調達のスキル、岡部さんのW3Cだったらネゴシエーションなど、そうしたスキルを身につけてさらに次のステップに上がってほしいと願っています。

(岡部・藤見)
今日は藤門さんの意外な側面も知れて楽しかったです。肉ランチ、ごちそうさまでした!

採用情報 公式SNSアカウント

このページの先頭へ