SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2018】セッションレポート(AD)

情シスの仕事こそ、クリエイティブでおもしろい! 12000人以上が利用するヤフーの社内システムづくり【デブサミ2018】

【16-A-2】ヤフーを支える社内システム

  • X ポスト
  • このエントリーをはてなブックマークに追加

 やや保守的とも思われがちな情報システム(情シス)部門。ビジネスの根幹を支える重要な役割にも関わらず、控えめな印象を持たれる傾向にあるようだ。しかし、入社以来、ヤフーの内製社内システムの企画・開発・運用に携わってきた伊藤康太氏は「情シスほど面白い仕事はない」と断言する。その熱い思いと共に、ヤフーの社内システムの詳細と、あえて「内製」にこだわる理由が語られた。

  • X ポスト
  • このエントリーをはてなブックマークに追加
ヤフー株式会社 システム統括本部 プラットフォーム開発本部 クリエイターエバンジェリスト 伊藤康太氏
ヤフー株式会社 システム統括本部 プラットフォーム開発本部 クリエイターエバンジェリスト 伊藤康太氏

情シスの役割はコミュニケーションの効果を最大化すること

 「情シス部門」と聞いた時、そこに携わる人についてどのようなイメージを持つだろうか。「販売されている業務システムを導入する購買・調達的な仕事」「運用するばかりで新しい技術を取り入れず、保守的」「PCのサポートなどをしてくれるが、バックヤード部門として売上を上げないコストセンター」など……世の中の印象はネガティブなものが少なくない。

 2013年の入社時にヤフーの情シス部門に配属され、企画・開発・運用に携わってきた伊藤康太氏も、以前はそうしたイメージを持ち、転職まで考えたという。しかし、その後5年にわたってヤフーの社内システムの内製に取り組むうち、ビジネスに重要な「コミュニケーションの効果を最大化する仕事」という役割の面白さがわかってきたと話す。

 伊藤氏いわく、情シス部門の最も重要な仕事は「コミュニケーションの効果を最大化すること」。システムを入れることで、コミュニケーションコストを小さくし、本質的な業務に集中してもらえるというわけだ。

 とはいえ、システムを導入するだけなら、わざわざ内製する必要はないとの声もあるだろう。しかし、伊藤氏は「組織ごとに最適なコミュニケーションは異なる。それに対する最適なシステムを提供するには、事業を知り、業務を知り、人を知る内部の人間、すなわち情シス部門が企画し開発するほうが効率的とヤフーでは考えられてきた」と語る。

 ヤフーは6000名を超える社員の半数近く、約3000名がエンジニアやデザイナーといったクリエイターだ。うち、社内システムのクリエイターともいえる情シス部門は、企画から開発、運用、改善まで、全行程を担う。さらにユーザーインタビューやユーザーテストも行い、ヤフーが一般に公開しているWebサービスと同等のチェックを行う。

 こうしたシステムの内製は今に始まったことではない。初期の社内システムでも、サーバ調達やラッキング、OSやプログラムのインストールまで全て社内で行っていた。その後2010年頃から仮想化の波に対応し、伊藤氏が入社した2013年にはOpenStackを導入した。

 開発も、Perlが主流だった2005年頃はフレームワークも少なく、愚直に自分たちで作ることが一般的だった。2008年頃からはPHPが主流のWebサービスが増えていくのに従い、社内システムでも独自フレームワークやZendPHP、FuelPHPなどを活用するようになった。そして2013年、既存システムではPHPが引き続き使用されているものの、新規開発はJavaやNode.jpが増え、AngularJSの登場以降はSPAの開発が増えた。その他、TDDやScrumなど「新しめ」の開発手法も積極的に活用されている。

 こうした流れは、ヤフーのWebサービス開発とほぼ足並みをそろえるが、社内システムならではの特徴として、伊藤氏は「アカウントや会計、承認など、他システムとの連携が不可欠であること」を挙げる。かつてはファイルやデータベースの直接接続などで連携させていたが、最近はREST APIによる連携に移りつつある。

「必要なものは自分たちで作る」文化のもと生まれた、多種多様な社内システム

 では、ヤフーの社内システムは具体的にどういったものなのか。現在稼働中のものだけで1200以上、累計で3500以上、登録されていないものを含めるとさらに多いという。アクティブなアカウントは、グループ会社なども含めると12000以上、累計で32000にも上り、現在も右肩上がりの状況だ。ほぼ全ての社内システムは同一アカウントでのシングルサインオンが可能で、社員・部署などのマスターデータはAPIによって全てのシステムで参照することができる。つまり、省コストで社内システムを作ることができ、使える状況にあるというわけだ。

 そうした環境下で開発・活用されている、さまざまなヤフーの社内システムが紹介された。

社内ポータル「WORK」

 記事の投稿や検索ができ、誰もが朝出社するとまず開くという、まさに「ヤフーの中のヤフー」ともいうべきシステム。約5000人が毎日利用し、1日約10万PVものアクセス、約1万回の検索が走る。承認フローやフォームが作成できる承認管理システム「WorkflowPlatform」とも連携しており、対応待ちの確認などが表示されるようになっている。

社内ポータル「WORK」
社内ポータル「WORK」

「PC管理システム」

 社員への貸与機器の多い同社では、機器の管理も情シス部門の重要な仕事だ。それを支えるのが「PC管理システム」であり、WindowsPC7000台、Mac1万台、iPhone7000台といった大量の端末管理を行う。毎年3000台を入れ替えるような状況でも、スムーズかつ確実な管理を実現。さらにIPなどの管理情報を用いて、設定ファイルの自動生成を行うシステムも用意されている。そのため、PCを設定すれば1時間程度で社内のLANに自動で接続できるようになり、新しい機器を受け取ればすぐに業務がスタートできる。

空調管理システム「Air-con」

 ブラウザから空調の操作ができるシステム。エリアごとに温度変更が可能で、営業時間でも空調予約ができる。紀尾井町のビルを建てる段階から空調システムのベンダーと調整しながら開発した。

社内位置情報検索システム「Pozzy」

 社内Wi-FiにつながっているPCとスマートフォンから、誰がどこにいるのか検索できるシステム。ヤフーのオフィスはフリーアドレスのため、フロアの混雑度を表示したり、座席やロッカーなどを管理したりすることで、快適な仕事空間作りに寄与している。

社内SNS「MYM」

 Slackに似たシステムで、社内で一番使われているという。2011年の社内ハッカソンで誕生し、現在は社長をはじめとする経営陣も利用。常時接続数は15000以上、総メッセージ数は2億以上、チャンネル数は11万以上、Botの数は1万以上と、大きなシステムに成長した。ソースは社内に公開しており、バグや拡張機能などはGitHub Enterpriseでプルリクエストされ、問題がなければ即時リリースされる。

社内SNS「MYM」
社内SNS「MYM」

 他にも会計システムや人事システム、予定調整ツールなどさまざまなシステムを自前で作っている。いわば「必要なら作ってしまう文化」というわけだ。

自分たちの手で作ったシステムだからこそ、自らの責任のもと管理・復旧が可能

 「内製を大事にする文化は、情シスのみならず全社的なもの」と伊藤氏は話す。その例として、同社CTOの藤門氏が2年前のデブサミにて「全体を自社で開発することで、たとえサービスがダウンした際にも自らの責任のもと復旧できる」と語ったことを紹介。伊藤氏自身も同様に考えているという。

 もちろん、必ずしも良いことばかりではない。作ったものがレガシー化する可能性があるのは変わらない。しかし、伊藤氏は「(内製は)メリットの方が大きい」と言う。

 そんなヤフーの情シス部門にとって、2016年の本社移転は大きなチャレンジだった。前述した空調管理システムなど、建物の設計時から事業者との連携が必要なシステムも多いからだ。また、フリーアドレスでPCの無線化を進めた結果、前例のない同時接続数を実現する必要も生じた。

 他にも大規模災害時の冗長化に備えるため、通常の電話回線に加えてヤフー専用の回線を敷設。さらに会議室やセミナールームについても音響から計算し、テレビ電話や同時通訳の仕組みなど、さまざまな要望に応えたという。さらに全国8拠点の全てのインフラを手がけ、どの拠点でも同クオリティで使用できるようにした。出張時に別拠点で仕事をする際も、パソコンさえ持っていけば普段と同じ仕事ができるというわけだ。

 近年、カードリーダーや監視カメラなど、あらゆるものがネットワークにつながり始めたことで、情シス部門が扱う範囲は急速に増えている。それでも、自分たちが作った環境であれば、どこに行っても管理・復旧ができる。それが内製の最大のメリットだ。

新しい技術が試せて、ユーザーの顔が見える! 裁量の範囲が広いことも情シスの魅力

 こうした「自分たちで作ることを大切にする」ヤフーの文化は、これからも「変わらないもの」として引き継がれていくと伊藤氏は語る。しかし、その一方で必要な部分ではOSSを利用し、使ったからには貢献するというように「変わってきた」部分もある。伊藤氏は、自身のもうひとつの役割である「Node.jsのサポート」業務を紹介。Node.jsで問題があった際のサポートを担っているが、同時にバグや修正点の発見時のフィードバックも行うという。

 そして情シス部門についても、内製のスタンスは変わらずとも、作ったものや技術については他社の情シス部門とも共有する姿勢に変わってきたという。

 さらに伊藤氏は「最も変わったのは自分自身」と続ける。配属直後までは「情シス部門なんて、絶対に嫌!」と考えていた。それがこの数年で「情シスはすごく面白いところ」と劇的に変わった。その理由を伊藤氏は次のように振り返る。

 「ユーザーにサービスを提供したいと考えていたため、『ヤフーで情シスなんて』と思っていた。しかし、ヤフーはサービスが中心の会社というよりも、技術が中心の文化。情シス部門では開発などしないと想像していたが、実際はシステムを内製する、ベンチャー気質な組織だった。そのため、『新しい技術を試す場が大きく』『ユーザーである社員との距離が圧倒的に近く』『さらに一般のWebサービス開発に携わる人数と比べて少ないため、個人の裁量が大きい』。この3点がそろって面白くないわけがないだろう」

情シス部門の業務は想像以上に面白い
情シス部門の業務は想像以上に面白い

 例えば、ブラウザを気にせず新しい技術を試すことができ、リリースすると1万人のユーザー(社員)が使ってくれる。そのため適切なデバッグもダイレクトに受けられ、一般向けのサービスで利用する前に技術を社内で使い倒せる。

 こうした「ユーザーとの近さ」を実感した例として、伊藤氏は社内ポータル「WORK」の画面上で12月24日と25日に雪を降らせた日のことを紹介する。社内ではチャットで雪が降っていることに反応があり、情シス側も途中で吹雪かせたり、降ってくるものを変えたりするなど、ユーザーの反応を見ながら調整していった。

 伊藤氏は、実際に何度もやりとりすることで「みんなで改善できるものである、といった意識が醸成される」と語る。さらに情シス部門にとって、細かい改善を素早く重ねられることは大きな意味を持ち、ユーザーにも使いやすさだけでなく、「楽しい」「うれしい」といった体験まで含めた価値を提供することができるという。

 そしてもうひとつ、伊藤氏が魅力と評する「個人の裁量が大きい」こと。実際、「WORK」での雪の施策はほぼ個人の責任の範囲で行っており、上長に確認は取るものの、理にかなっていれば意見は基本的に通るという。端的に言えば、人数が少ないからこそ個人の意図が反映しやすいメリットがあるのだ。

全てを体験できる社内システム開発を通じて、エンジニアとしての「体験から創る」力を育む

 会社にとってシステムを内製する最大のメリットは「ビジネスや制度などの変化に即座に対応できる環境を作れること」。つまり、ユーザーとのコミュニケーションを重ねる経験を多く積むことで、自ら考え、改善のサイクルを身につけた人材を育成できるのだ。

 そして、技術者自身にとっても、新しい技術を最速で使い、多くの人数に届けることができるメリットは大きい。また、ユーザーの声を聞くところから始まり、システムの開発・整備まで、サービスを運用する知識が一通りつくことも大きな価値がある。そして、何より伊藤氏が価値を見いだしているのが、「ユーザーから直接ありがとうと聞けること」だ。顔を知るユーザーからもらえる感謝の言葉は大きなモチベーションになる。

 エンジニアを取り巻く環境は大きく変わろうとしている。「システムを作る」から「体験から創る」へと役割が変わり、エンジニアとデザイナーの境目は曖昧になっている。「その両者における、より総合的なスキルを持つことが、今後エンジニアが生き残る鍵ではないか」と伊藤氏は語る。

エンジニアを取り巻く環境の変化
エンジニアを取り巻く環境の変化

 そして、そうした人材を育成するために組織として、個人として最も有効なことは、最初から最後まで一人で作る経験を積むこと。すなわち内製することが、エンジニアの力を底上げすることになる。そこで、コストが低く始められる社内システムの登場というわけだ。

 伊藤氏は、「エンジニアとして力をつけるなら、まずは1つでも社内システムを作るところから始めてほしい」と提案。そして、「そうした機会を持つことで『体験から創るエンジニア』を増やしていきたい」と語り、セッションを結んだ。

お問い合わせ

 Yahoo! JAPAN

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10693 2018/03/05 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング