Upload
yahoo
View
7.400
Download
0
Embed Size (px)
Citation preview
黒帯に任命されるとお手製の盾が授与されるのがヤフー
黒帯: 専門性に優れたエキスパート人財を認定する制度
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
ヤフーの"リアル"を
紹介します
ヤフーの"リアル"を
紹介します
ヤフーの"リアル"を
紹介します
ヤフーの"リアル"を
紹介します
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アプリパブリッシャーランキング
2014 2015
2年連続No.1
出典: App Annie Index 2014年総括、 iOSとGoogle Playの合計(日本国内)、ゲームアプリケーションを除く
数字で見るヤフー⑩
アプリパブリッシャーランキング
2014 2015
2年連続No.1
数字で見るヤフー⑩
アプリの会社
出典: App Annie Index 2014年総括、 iOSとGoogle Playの合計(日本国内)、ゲームアプリケーションを除く
サービングエンジン(Webサーバランタイム)
インターネットサービス
HTTP Cache(CDN、エッジ)
ミドルウェア、プラットフォーム(データベース、検索インデックス、セキュリティなど)
インフラ(OS、物理サーバ、仮想サーバ)
言語、開発ツール(プログラミング言語、DevOps)
ファシリティ(ハードウェア, ネットワーク)
どんな技術で運営しているのか
インフラの進化(In-House時代)
クラウドの基本機能
ベンダーのマイナー機能
ヤフー独自の機能
独自開発
2013年まで
どんな技術で運営しているのか
10k VMの限界• 運用で手一杯• 他のOSSとの親和性が薄い
インフラの進化(OpenStack導入)
コミュニティによるグロース
ベンダーと共同開発
独自開発
クラウドの基本機能
ベンダーのマイナー機能
ヤフー独自の機能
独自開発
2013年まで 2013年以降
どんな技術で運営しているのか
インフラの進化(OpenStack導入)
コミュニティによるグロース
ベンダーと共同開発
独自開発
クラウドの基本機能
ベンダーのマイナー機能
ヤフー独自の機能
独自開発
2013年まで 2013年以降
どんな技術で運営しているのか
80k+ VMへ到達• ヤフー独自機能にフォーカスできる• OSSコミュニティを盛り上げられる• 社内のほとんどのサービスで利用される
開発ツール
Push Build
GitHub CI as a Service
Configuration Servers Package repo
Deploy
Upload
Install
Deploy
どんな技術で運営しているのか
プログラミング言語
言語を選ぶことは難しい
• 複数のビジネス分野
• 好き嫌い(宗教戦争)
ヤフーの言語の選定基準
• メンテナンス、学習コストを最小化する
• オープンソースとの親和性
• 過去のソフトウェア資産の活用
どんな技術で運営しているのか
Webサーバ
Webサーバ
• Apache
• Node.js
• Jetty
安定性とパフォーマンスのためのカスタマイズ
• Apache→yApache
• Node.js→yNode.js
• …
どんな技術で運営しているのか
HTTP Cache
サービスのオリジンサーバー
CDN(*.yimg.jp)
どんな技術で運営しているのか
静的コンテンツの高速配信
大量リクエストからWebサーバを保護
画像/CSS/JS
*.yahoo.co.jp
サービングエンジン(Apache, node.js, Jetty)
ヤフーテクノロジースタックHTTP Cache
(Apache Traffic Server, Nginx)
ミドルウェア、プラットフォーム(RDBMS, オブジェクトストレージ, アプリ系、セキュリティ)
インフラ(RHEL, OpenStack, 物理サーバ, 仮想化技術)
言語、開発ツール(C, C++, PHP, Java, JavaScript, GitHub, Chef, Jenkins, ...)
ファシリティ(データセンター, ネットワーク)
どんな技術で運営しているのか
サービングエンジン(Apache, node.js, Jetty)
ヤフーテクノロジースタックHTTP Cache
(Apache Traffic Server, Nginx)
ミドルウェア、プラットフォーム(RDBMS, オブジェクトストレージ, アプリ系、セキュリティ)
インフラ(RHEL, OpenStack, 物理サーバ, 仮想化技術)
言語、開発ツール(C, C++, PHP, Java, JavaScript, GitHub, Chef, Jenkins, ...)
ファシリティ(データセンター, ネットワーク)
どんな技術で運営しているのか
総合的な取り組み
サービングエンジン(Filo CGI, node.js, Jetty)
20年前のテクノロジースタックHTTP Cache
(Apache Traffic Server, Nginx)
ミドルウェア、プラットフォーム(RDBMS, オブジェクトストレージ, アプリ系、セキュリティ)
インフラ(UnixWare, OpenStack, Filo Server, 仮想化技術)
言語、開発ツール(C, C++, PHP, Java, JavaScript, GitHub, Chef, Jenkins, ...)
ファシリティ(データセンター, ネットワーク)
これからのヤフーの技術
サービングエンジン(Apache, node.js, Jetty)
10年前のテクノロジースタックHTTP Cache
(Yahoo Traffic Server,, Nginx)
ミドルウェア、プラットフォーム(RDBMS, オブジェクトストレージ, アプリ系、セキュリティ)
インフラ(FreeBSD, OpenStack, 物理サーバ, 仮想化技術)
言語、開発ツール(C, C++, PHP, Java, JavaScript, GitHub, Chef, Jenkins, ...)
ファシリティ(データセンター, ネットワーク)
これからのヤフーの技術
サービングエンジン(Apache, node.js, Jetty)
現在のテクノロジースタックHTTP Cache
(Apache Traffic Server, Nginx)
ミドルウェア、プラットフォーム(RDBMS, オブジェクトストレージ, アプリ系、セキュリティ)
インフラ(RHEL, OpenStack, 物理サーバ, 仮想化技術)
言語、開発ツール(C, C++, PHP, Java, JavaScript, GitHub, Chef, Jenkins, ...)
ファシリティ(データセンター, ネットワーク)
これからのヤフーの技術
More...
LAMP時代全盛期
これからのヤフーの技術
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
オープンソースへの貢献
コミッターと貢献賞
ほげ
目の前にあるユーザーの課題をとにかく解決し続けた
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
パーソナライズしたい
個々のユーザーに最適なコンテンツの提供
• 属性
• 行動履歴や趣味嗜好
IDが必要なサービスを提供したい
• 米ヤフーで成功しているサービスを日本でも導入したい
これからのヤフーの技術
Web Login
Yahoo! JAPAN IDとパスワードの認証• 米ヤフーのログインエンジンをローカライズ開発(C++)
• My Yahoo!、Yahoo! ページャー、ゲーム、掲示板が スタート
1996 20162006
1998
これからのヤフーの技術
ID連携したい
ユーザー側: IDの管理が大変
• 利用サービスごとにIDを作る必要がある
• 同じパスワードを使いまわしてしまう
サービス事業者側: IDの管理が大変
• 重要な個人情報を扱う
• 高いレベルの認証システムの維持
これからのヤフーの技術
Single Sign On
ID連携(認証連携)時代の幕開け• 一度ログインすると提携サービスが利用できるようになる仕組み
• Yahoo!リクナビ(当時)等で利用
1996 20162006
2003
これからのヤフーの技術
Browser-Based Authentication
ブラウザベースの認証API• ログインボタンの始まり
• ID連携(認証)とWeb API利用(認可)
• 各社独自路線時代
• Google: AuthSub
• AOL: OpenAuth
1996 20162006
2007
これからのヤフーの技術
Client-Based Authentication
アプリでもログインする時代の到来• アプリに保存したYahoo! JAPAN IDとパスワードを認証サーバに送信する(!)
• ヤフーが提供するアプリのみ
1996 20162006
2008
これからのヤフーの技術
ID連携したい
これからのヤフーの技術
ユーザー側: IDの管理が大変
• 利用サービスごとにIDを作る必要がある
• 同じパスワードを使いまわしてしまう
サービス事業者側: IDの管理が大変
• 重要な個人情報を扱う
• 高いレベルの認証システムの維持
• 複数IDサービスの対応がつらい
• ID事業者ごと仕様が違う
解消
増えた
ID連携したい
これからのヤフーの技術
ユーザー側: IDの管理が大変
• 利用サービスごとにIDを作る必要がある
• 同じパスワードを使いまわしてしまう
サービス事業者側: IDの管理が大変
• 重要な個人情報を扱う
• 高いレベルの認証システムの維持
• 複数IDサービスの対応がつらい
• ID事業者ごと仕様が違う
解消
増えた
標準仕様に高まる期待感
OpenID
標準仕様の「認証」の仕組み• 2008年1月に日米ヤフー同時リリース
• OpenID ファウンデーション・ジャパンへの加入
1996 20162006
2008
これからのヤフーの技術
OpenIDを認可に使えないか?
• Twitter ブレインクック氏(当時) の提言
We want something like Flickr Auth / Google AuthSub
/ Yahoo! BBAuth, but published as an open standard,
with common server and client libraries, etc. The trick
with OpenID is that the users no longer have passwords,
so you can’t use basic auth for API calls without
requiring passwords (defeating one of the main points of
OpenID) or giving cut-and-paste tokens (which suck).
-- Blaine Cook, April 5th, 2007
これからのヤフーの技術
出典: History - http://hueniverse.com/oauth/guide/history/
OAuthの拡大で問題が発生
厳密には「ソーシャルログイン」ではない
• OpenID(認証)と OAuth(認可)
実装が難しい
• 署名の生成方法が難しい
• パートナーの導入サポートで四苦八苦
これからのヤフーの技術
OpenID Connect
認証と認可を同時にできる標準仕様• 米ヤフーのローカライズをやめる
• 世界の大手IDプロバイダーの中で一番最初に提供を開始
1996 20162006
2012
これからのヤフーの技術
Web Login - セキュリティ4兄弟
1996 20162006
2010〜2013
リスクベース認証 シークレットID
ログインテーマ ワンタイムパスワード
“怪しい”ログイン成功をユーザに通知
Yahoo! JAPAN ID以外の文字列でログイン
スマートフォン時代のフィッシング対策
メールとアプリで動く二要素認証
これからのヤフーの技術
ログインの歴史
1996 20162006
SSO(2003)
Web Login(1998)
BBAuth(2007)
CBAuth, OpenID(2008)
OAuth(2009)
OpenID Connect(2012)
ログイン4兄弟(2010〜2013)
これからのヤフーの技術
ログインの歴史
1996 20162006
SSO(2003)
Web Login(1998)
BBAuth(2007)
CBAuth, OpenID(2008)
OAuth(2009)
OpenID Connect(2012)
ログイン4兄弟(2010〜2013)
これからのヤフーの技術
ニーズへの対応
ヤフーのログイン→日本のログイン
国内ソーシャルログイン
シェアNo.1
出典:フィードフォース - ソーシャルログイン利用率 - https://www.feedforce.jp/release/4979/
これからのヤフーの技術
ヤフー(56.5%)
20年で改めてわかったこと
変わらないものはない
• 技術やニーズは必ず移り変わる
• 今日のベストは明日のベストではない
最大限に想像しておくことが重要
• 課題が分かってから取り組むと遅い
• 未来を予測して取り組むこと
これからのヤフーの技術
広告課金技術の特許
総合ランキングNo.1
2〜3年先の広告の世界を想像する
これからのヤフーの技術
出典: Patent Result - 広告課金技術 特許総合力ランキング - http://www.patentresult.co.jp/news/2016/02/adcharge.html
Open Compute Project
台数が多いと納期が間に合わない
ロット不良で全滅することもある
いままでの
インフラの強化が必要
Internet of Things
Virtual Reality
…
これからのヤフーの技術
調達方法では…
Open Compute Project
最も効率の良いハードウェアを
オープンな仕様で設計する
ハードウェアにもOSSの考え方を
Hyper Scale 企業と同じ
ハードウェア調達力を持つ
これからのヤフーの技術
ビッグデータ関連の研究開発
WSDM: Web Search and Data Mining
UIST: User Interface Software and Technology Symposium
国内外の学会で研究成果を発信
WSDM 2016(Web検索とデータマイニング)
2本の論文が採択
UIST 2015(ユーザーインタフェース)
People's Choice Best Poster
これからのヤフーの技術
オープンソースへの貢献
第10回 OSS奨励賞
米ヤフーが公開するOSS(YUI等)の開発に寄与
Apache Traffic Server
3名のコミッターが誕生(日本人初)
これからのヤフーの技術
出典: OSS奨励賞 - http://ossforum.jp/ossaward10th2