はてなの金次郎

Pythonエンジニアの奮闘記。Python, Django, Gitlab, Docker, AWS, k8s...

Yahoo! JAPAN Tech Conference 2018に参加してきました

Qiitaの記事の再掲です。今後の勉強会レポートははてなブログに投稿していこうと考えています。

f:id:gyuuuutan:20180320051349p:plain

はじめに

Yahoo! JAPAN Tech Conference 2018 に参加してきました。とても勉強になることが多かったので復習も兼ねてまとめます。まとめた内容はスライドの内容のみではなく、後から自分で調べた内容もあるのでご了承ください。

安心安全な次世代認証を目指して 〜社会に溶け込む認証技術〜

パスワードによる認証ではなく、FIDOを用いてユーザーにとって使いやすく安心安全な認証を行おうという話でした。Yahoo!JAPAN IDの認証方法として検討中とのことです。

前半はヤフーのテックブログの過去の記事(次世代認証プロトコルFIDOの動向)に似ていました。後半はスマートデバイスを用いたコンテキストアウェアネスな認証についてでした。例えば、ユーザーが外出時しているかどうかで認証レベルをコントコールするといった、スマートフォンの位置情報を利用した認証方法や、スマートスピーカーによる音声認証などが挙げられていて、なるほどなと思いました。

サブタイトルにある「社会に溶け込む」という意味について明確には触れていなかったと記憶していますが、こういった次世代の認証技術を組み合わせることでユーザーによってノンストレスで意識する必要がない=社会に溶け込む認証が実現できるという意味であると解釈しました。

ユーザーの位置情報解析の最先端

隠れ避難所の早期発見がメディアに数多く取り上げられ話題となったそうです。このような効果を出す位置情報解析を行うためには、位置情報における3種の神器が必要であるとおっしゃっていました。

位置情報における3種の神器とは、

膨大な位置情報
正しいデータであるという確信
いつものパタンという武器

です。

膨大な位置情報とは、約1000万人が利用しているヤフー防災アプリの位置情報を利用しており、位置情報に関して毎日1億5千万行もの処理が発生するとのことでした。

さらに、正しいデータであるという確信とは、解析を行う前に扱うデータが正しいものであるかどうかを検証しなければならないということです。Yahooでは、ある特定の位置における時間経過ごとの人数を、ヤフー防災アプリの位置情報による推定結果と交通量調査のような人力のカチカチ結果が概ね正しいことによってそれを検証したとのことです。

また、いつものパタンという武器とは、独自に生み出したバイリニアポアソン回帰モデルを用いることでいつものパタン(正常時)を正しく収集できているからこそ異常時のイベントを検出できるというお話でした。例えば、東京マラソンの時の人の流れを見せていただきましたが、概ね東京マラソンのルート通りに人が移動していることが確認できました。一見すると簡単に思えるような可視化も、いつものパタンを正しく収集できているからこそというお話でした。

ヤフーにおけるOSS開発

主にヤフーが開発したOSSScrewdriver.cdApache Pulsarの紹介とその開発フローについてでした。

OSS開発フローが興味深く、有益性をリーダーが判断し、許諾すれば業務時間内で開発ができるとのことでした(OSS認定デベロッパー制度)。却下されたことはほぼないそうです。また、直接OSSへのプルリクを行うのではなく、社内コミッターのレビューをはさみ問題なければOSSへプルリクを行うといったフローをとっているそうです。OSSへのプルリクのハードルが下がりそうでとてもいい取り組みだなと思いました。

アプリケーションの高速デプロイを可能にする技術 - Yahoo! JAPAN の Kubernetes as a Service

KaaSを導入することでVMやIaasを意識することなくKubernetesの状態のみを管理するだけで良くなり、アプリケーションの開発により多くの工数を当てることが可能になるというお話でした。KubernetesはYahoo!ズバトクで導入実績ありがあるそうです。

KaaSは、VMの追加・VM脆弱性対応・VM障害対応・Kubernetesバージョンアップ・etcdのバックアップ・システムコンポーネントの管理など従来専門的な知識を要していた手作業の部分を管理してくれ、さらに、複数構築も可能でHV障害などでVMが落ちてもVMごとに復旧可能。また、ローリングアップデート機能がありPodを一定数保ちつつVMを更新することができます。

テクノロジーとブランディング ~人を惹きつける技術~

まず「ヤフーにおけるブランディングとは、ヤフーをいかに好きになってもらうか」ということをおっしゃっていました。ブランディングって正直よくわかっていなかったのでとてもわかりやすい説明だなと思いました。

ブランディングをより効果的なものにするための3TIPを教えていただきました。それは、

広い技術
よさ
メッセージ

です。

広い技術とは、技術を広く捉えるべきであるということでした。これは、プログラミングや最先端なものだけが技術ではなく、デザインの技術、世の中の心を掴む技術、炎上させたりバスらせたりする技術、モテる技術なども同じ技術として捉えられるということです。例えば、君の名は。ペア動画は、サーバー処理、動画同期、PR、記事、デザイン、タイトル、SNS拡散などすべての技術を組み合わせることでバズらせることができたとおっしゃっています。

次に、よさとは、最新・最先端に躍らされず、定性的な良さに対する評価を見直そうというお話でした。新しい古いの前に良いか悪いかを見極めることが重要であるということです。ありがちなパターンとしては、新しくて良いものをやろうとして新しくて悪いものになってしまうというものです。新しくても悪いものになってしまっては意味がありません。

最後のメッセージとは、「具体的に・シンプルに・短く」、また、「いつ、何をいうか。」ということが重要であるとおっしゃっていました。例として、History of the Internetがあり、これは「Yahoo!JAPAN 20周年 にインターネットの歴史 20年 を振り返る」ということで効果的にメッセージを伝える意図があるということでした。

Yahoo!JAPANアプリの作り方

アプリの利用体験を向上させるためにデザインシステムを活用するというお話でした。Yahoo!JAPANでは、スタイルガイドやコンポーネントライブラリ、デザイン原則などデザインの考え方を上位概念から体系化し整理しているとのことです。 FYI:Yahoo! JAPANのデザインの考え方

デザインシステムを活用することで、UIに一貫性を与えUX向上を測ります。これは、デザインの一貫性を担保しヤフー「らしさ」を醸成できたり、ユーザーの学習コストを削除できたり、(同じコンポーネントを使うことでユーザーは再学習なしで利用できる)、車輪の再発明を防止したりといった効果があります。

参加した感想

全体的な感想としては、 ヤフーってすげーいい企業だな です。 例えば、

  • 業務時間内でOSSのコミットができ、それが評価されるOSSデベロッパー認定制度がある。
  • 月5回までリモートワーク可能。
  • 社食は3食提供されており、朝食は無料。
  • 土曜日が祝日だと金曜日が振替休日になる。
  • 新卒○年目のスピーカーが多い。
    (若手社員の活躍・教育制度の充実などが想像できました。)
    3年以内の新卒離職率2.5%という驚愕の数字。)
  • プレゼンが上手でパターンがある。
    (そういう細かいところまでナレッジの共有がされているんだなと感じました。)

などなどです。普段ヤフーのサービスに触れる機会が少なかったのですが、今後使ってみたいですね。(実はこのカンファレンスに参加するために初めてYahoo!JAPAN IDを作成しました)

また、カンファレンスへの参加はPyConに続く人生で2回目の経験でしたが、カンファレンスには積極的に参加するべきだと思いました。視野が広がりますし、何より勉強になります。