SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
『じゃらん』『ホットペッパー
グルメ』を支えるクラウド・
データ基盤
目次
● 弊社事業の紹介
● Capture EveryThing (CET) の取り組み
● API による分析結果の提供
● リアルタイム処理システム
● Wrap Up
自己紹介
● 堀澤健太
○ Twitter : @horiken4
● 略歴
○ 2011 年 スマートフォン向けゲーム開発会社
■ 開発, マネジメント, 採用, R&D
○ 2016 年 株式会社 リクルート ライフスタイル
■ CET アプリケーションエンジニア リーダー
弊社事業の紹介
リクルートのビジネスモデル
<価値提供>
人生や生活の中で意
思決定においてその
人が必要とする情報
を提供
<価値提供>
ユーザとの出会いの
機会や最終的なマッ
チングを創出
リクルートライフスタイルのサービス概要
Capture 
EveryThing
の取り組み
Capture EveryThing
● サービス横断でリアルタイムにデータを収集
○ 約 300GB /日
● リアルタイムデータ分析に必要な処理を
一気通貫で実施
● 分析結果を WebAPI として各サービスへ提供
チーム体制
● エンジニア, データサイエンティスト, ビジネス系メンバで構
成
● チームを跨がないため高速なイテレーションが可能
● スキルのオーバーラップ
● 専門領域以外も担当
○ データサイエンティストがインフラ構築
○ エンジニアが分析
アーキテクチャ
● 黎明期は AWS を利用
● 現在は GCP と AWS のマルチクラウド構成
○ GCP の割合が大きい
● 同等の性能でコストを安く抑えることが可能
○ GCP を利用し始めたきっかけ
AWS
Log Aggregator
Visualize (short period)
Web Beacon
Real-time Processing
Our Service
Visualize (long period) API
Machine Learning
アーキテクチャ
Re:dash
Rundeck
Kibana
elastic
search
nginx
fluentd
API による
分析結果の提供
API
● 分析結果を API として各サービスに提供
○ 機械学習による予測の結果
○ レコメンデーション
● 基本的に Key に対する Value を返せば十分
○ リクエストのたびに予測はしない
API
US Region
Our Service
Asia Region
アーキテクチャ
Cloud Load
Balancing
API
Container Engine
Asia
API
Container Engine
US
Cloud
Bigtable
API Data Loader
Worker
Compute Engine
Real-time Processing
Pipeline
Cloud Dataflow
API Data Loader
● API で提供するデータを Bigtable へ反映
○ S3 へのファイル配置イベントを SQS へ流す
○ Worker が Receive して Bigtable へ書き込む
API Data Loader の利用ケース
● 他チームの API 利用者
● 各種バッチ
● 最大数千万行の Bigtable への Put オペレーション
API サーバ
● Scalatra ベース
● GET のみ
○ リクエストパスに Key を含める
○ Key で Bigtable を引き Value を JSON で返す
API サーバ
● 列ファミリの TTL は厳密ではない
○ Bigtable の GC のタイミングで実際に削除
○ Cell の Timestamp を参照し Expire を管理
Pod の終了時
● Pod が SIGTERM を受信
● API サーバが(デフォルト)で 30 秒後に終了
Graceful Shutdown
● Pod の readinessProve と
terminationGracePeriodSeconds を設定
● SIGTERM 受信後 readinessProveに対して 500 を返す
○ readinessProve が失敗する
● 新規リクエストはルーティングされなくなる
● terminationGracePeriodSeconds 秒後に SIGKILL
● Pod が終了
Graceful Shutdown
● CMD を bash -c の exec 形式にする
○ 環境変数を展開して引数に渡すことが可能
○ シグナルを子プロセスへ伝搬
GKE と GCE を組み合わせて利用
● GKE マルチゾーン クラスタ
● Instance Group のオートスケーラ
● Instance Group のオートヒーラ
Pod 数は固定
● HPA で Pod が増減するタイミングは必ずしも
CPU 使用率が増加するタイミングではない
● リソース不足でスケジューリングに失敗する
Pod が発生
● HPA は固定し必要な Node を用意
理想のスケールアウト
● 理想は Pod 数が増減したらノード数が増減
● リソース不足による Pod のスケジューリングが失敗
○ その時に Node Pool がスケール
GKE Cluster Autoscaler
● リソース不足によりスケジューリングを待たされている
Pod を監視
● そのような Pod が発生した場合 Node Pool を大きく
● Node のリソースが十分使用されてなければ小さく
オートヒーリング
● http ヘルスチェックと Instance Group の
Auto Healing を設定
● kube-proxy により適切な Pod へルーティング
○ 実際に Unhealthy なのは別 VM かもしれない
○ Pod が Unhealthy なだけかもしれない
Node Auto-Repair
● Node のヘルスステータスをチェック
● 連続してなにも報告しない or NotReady だと再作成
負荷試験
● 性能劣化, ボトルネックの確認
● 2つの GKE クラスタを作成
○ Loader と API
○ Preemptible VM を利用
● GKE クラスタ, k8s リソースの作成, 削除が軽快
○ CI にも組み込みやすい
Loader と API
● Locust で負荷試験シナリオを作成
● Job で Loader の Pod をデプロイ
○ Pod の再作成を防ぐ
■ locust … || exit 0
● Deployment で API の Pod をデプロイ
○ Service は type: LoadBalancer
複数の負荷試験
● CI では同時に複数の負荷試験をしたい
○ API の Service の externalIPs は固定しない
○ 動的に API の IP アドレスを変更したい
● 変更可能にするため sed を挟む
■ cat job.yml | sed -e
“s/__IP__/${IP}/g” | kubectl
create -f -
ボトルネックの調査
● VisualVM を利用
○ JMX のポートに接続する必要あり
○ Service を作成する必要なし
● kubectl port-forward <pod-name> <jmx-port>
○ VisualVM で localhost:<jmx-port> に接続
リアルタイム
処理システム
概要
● サービス側からのリアルタイムなログを集計
○ 約1万 msg/s
● リアルタイムに結果を API に反映
ユースケース
● ページ閲覧 UU 数集計
● 最新予約日時抽出
● リアルタイムユーザ属性推定
○ 実サービスへの導入は未実施
Real-time processing
Our Service
アーキテクチャ
Pipeline
Cloud Dataflow
Cloud
Pub/Sub
Temporary Table
Cloud Bigtable
API Table
Cloud Bigtable
Model
Cloud Storage
Log
Aggregator
ページ閲覧 UU 数の集計
● 30 秒ごとに 30 分間の UU 数をページごとに集計
● ウィンドウが重複するのでスライディングタイムウィンドウ
を利用
SlidingWindows の問題点
● SDK 標準のスライディングタイムウィンドウ実装
● 30 分未満のウィンドウを排出してしまう
30 sec
30 min
・・・
NonMergingWindowFn を
継承し assignWindows を
Override する
ウィンドウの開始時刻<パ
イプライン開始時刻なウィ
ンドウには要素をアサイン
しない
for (long start = lastStart;
start > timestamp.minus(size).getMillis();
start -= period.getMillis()) {
if (start <
firstWindowStartBoundary.getMillis()) {
break;
}
windows.add(
new IntervalWindow(new Instant(start),
size));
}
初期のウィンドウを破棄
Bigtable の Write 変換
● SDK 標準の CloudBigtableIO
● 内部では ParDo 変換で BufferedMutator を利用
○ 並列で Bigtable へ書込み
Bigtable の Write 変換
● 書込みスループットが大きすぎる
○ Bigtable クラスタの理論限界値 50MB/sec
○ パイプライン 25MB/sec
● 複数のパイプラインを同時実行できない
Combine 変換を利用
extractOutput はシングル
スレッド
シンクなので null を返す
public Void
extractOutput(List<Mutation> accum) {
BufferedMutator mutator
= getBufferedMutator()
mutator.mutate(accum);
mutator.flush();
return null;
}
Write 変換のスロットリング
最新予約日時の抽出
● 予約ログを Pull するたびに予約日時をパース, Put オペ
レーションを実行
● 集計する必要はないのでグローバルウィンドウを利用
最新予約日時の抽出
● 予約ログの到達順序はログの発生時刻順ではない
○ Subscription からの Pull 順序は保証されない
○ ログの遅延によって古い予約ログが最近到達するか
もしれない
予約時刻を Put オペレー
ションのタイムスタンプに設
定
タイムスタンプが新しい場
合にのみ Cell 更新
public void processElement(ProcessContext c) throws
Exception {
KV<String, DateTime> e = c.element();
Put put =
new Put(Bytes.toBytes(e.getKey()),
e.getValue().getMillis())
.addColumn(
BIGTABLE_COLUMN_FAMILY,
BIGTABLE_COLUMN_QUALIFIER,
Bytes.toBytes(""" +
e.getValue().toString(DateTimeFormat
.forPattern("yyyy-MM-dd'T'HH:mm:ssZZ")
.withZone(DateTimeZone.forID("Asia/Tokyo")))
+ """));
c.output(put);
}
古い時刻での更新を防ぐ
ユーザ属性推定
● 直近数件のページ閲覧ログと検索ログから推定
● アイテムの特徴量の平均値が推定値
○ 推定処理は ParDo で実行
○ 直近数件のログを保持するため Bigtable を利用
ユーザ属性推定
● 書き込みのバッファリングが効くように固定時間ウィンドウ
を採用
○ ウィンドウごとに BufferedMutator で書込み
● 特徴量は更新を容易にするため GCS に配置
○ 有限 PCollection
○ 推定の ParDo へ副入力
複数の検収環境
● 弊社サービスには複数の検収環境が存在
● 検収環境ごとに異なる Topic にログを Publish
● 複数の Subscription から Read 変換し
無限 PCollection を作成
Flatten 後の副入力あり ParDo 変換
● エラーが発生してパイプラインが実行されない
○ GetData failed: status: APPLICATION_ERROR(3):
Computation F64does not have state family S1 for
value read
変換の順番を入れ替える
● 副入力 ParDo と Flatten の順番を入れ替えて回避
○ 複合変換は PCollectionList を受け取り
PCollectionList を返す
○ Put オペレーションを作成する ParDo 直後で Flatten
パイプラインの自動スケーリング
● スケールする時にパイプラインが一時的に詰まる
○ Unacknowledged Messages が増加
● 自動スケーリングは無効化
パイプラインの監視
● Unacknowledged Messages の監視
● Bigtable への書込み回数を監視
○ 書き込み時にログを出力
○ Stackdriver logging からログベース指標を作成
● Alerting Policy で Slack へ通知
Wrap Up
Wrap Up
● CETの取り組み
● API
○ GKE, Kubernetes, Bigtable
● リアルタイム処理
○ Pub/Sub, Dataflow
Thank You.

Más contenido relacionado

La actualidad más candente

コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法Toru Makabe
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するKiyoshi Fukuda
 
Google Cloud Platform は何がすごいのか?
Google Cloud Platform は何がすごいのか?Google Cloud Platform は何がすごいのか?
Google Cloud Platform は何がすごいのか?Kiyoshi Fukuda
 
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなしAWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなし修一 高橋
 
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介de:code 2017
 
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISAIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISDaisuke Ikeda
 
Spanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみたSpanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみたtechgamecollege
 
Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊Toru Makabe
 
クラウドネイティブガバナンスの実現
クラウドネイティブガバナンスの実現クラウドネイティブガバナンスの実現
クラウドネイティブガバナンスの実現Minoru Naito
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版Minoru Naito
 
インフラ野郎AzureチームProX
インフラ野郎AzureチームProXインフラ野郎AzureチームProX
インフラ野郎AzureチームProXToru Makabe
 
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018Toru Makabe
 
このService Fabric野郎!!
このService Fabric野郎!!このService Fabric野郎!!
このService Fabric野郎!!Toru Makabe
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送Google Cloud Platform - Japan
 
DatadogでAWS監視やってみた
DatadogでAWS監視やってみたDatadogでAWS監視やってみた
DatadogでAWS監視やってみたtyamane
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpNobuhiro Sue
 
AWS 技術者向け Azure サービス解説 de:code2019版 #CD81
AWS 技術者向け Azure サービス解説 de:code2019版 #CD81AWS 技術者向け Azure サービス解説 de:code2019版 #CD81
AWS 技術者向け Azure サービス解説 de:code2019版 #CD81Minoru Naito
 

La actualidad más candente (20)

コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法コマンド1発でAzureにDC/OS環境を作る方法
コマンド1発でAzureにDC/OS環境を作る方法
 
No-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現するNo-Ops で大量データ処理基盤を簡単に実現する
No-Ops で大量データ処理基盤を簡単に実現する
 
Google Cloud Platform は何がすごいのか?
Google Cloud Platform は何がすごいのか?Google Cloud Platform は何がすごいのか?
Google Cloud Platform は何がすごいのか?
 
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなしAWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
 
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
 
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISAIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
 
Spanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみたSpanner移行について本気出して考えてみた
Spanner移行について本気出して考えてみた
 
Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊Azure Infrastructure as Code 体験入隊
Azure Infrastructure as Code 体験入隊
 
クラウドネイティブガバナンスの実現
クラウドネイティブガバナンスの実現クラウドネイティブガバナンスの実現
クラウドネイティブガバナンスの実現
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
インフラ野郎AzureチームProX
インフラ野郎AzureチームProXインフラ野郎AzureチームProX
インフラ野郎AzureチームProX
 
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
 
このService Fabric野郎!!
このService Fabric野郎!!このService Fabric野郎!!
このService Fabric野郎!!
 
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
[Cloud OnAir] Talks by DevRel Vol.5 アプリケーションのモダナイゼーション 2020年9月3日 放送
 
DatadogでAWS監視やってみた
DatadogでAWS監視やってみたDatadogでAWS監視やってみた
DatadogでAWS監視やってみた
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocp
 
AWS 技術者向け Azure サービス解説 de:code2019版 #CD81
AWS 技術者向け Azure サービス解説 de:code2019版 #CD81AWS 技術者向け Azure サービス解説 de:code2019版 #CD81
AWS 技術者向け Azure サービス解説 de:code2019版 #CD81
 
Developer summit 2015 gcp
Developer summit 2015   gcpDeveloper summit 2015   gcp
Developer summit 2015 gcp
 

Destacado

データプランナーによるデータ系施策について
データプランナーによるデータ系施策についてデータプランナーによるデータ系施策について
データプランナーによるデータ系施策についてRecruit Lifestyle Co., Ltd.
 
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
売上に効くデータ組織~データから売上や利益を作るために何をしているか~売上に効くデータ組織~データから売上や利益を作るために何をしているか~
売上に効くデータ組織~データから売上や利益を作るために何をしているか~Recruit Lifestyle Co., Ltd.
 
リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤 リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤 Recruit Lifestyle Co., Ltd.
 
大規模システムリプレイスへの道
大規模システムリプレイスへの道大規模システムリプレイスへの道
大規模システムリプレイスへの道Recruit Lifestyle Co., Ltd.
 
Seem~知るところから、はじめよう。~
Seem~知るところから、はじめよう。~Seem~知るところから、はじめよう。~
Seem~知るところから、はじめよう。~Recruit Lifestyle Co., Ltd.
 
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤Recruit Lifestyle Co., Ltd.
 
Rlsにおけるプロダクト プロジェクトマネジメント
Rlsにおけるプロダクト プロジェクトマネジメントRlsにおけるプロダクト プロジェクトマネジメント
Rlsにおけるプロダクト プロジェクトマネジメントRecruit Lifestyle Co., Ltd.
 
新規プロジェクトにおけるエンジニアの働き方
新規プロジェクトにおけるエンジニアの働き方新規プロジェクトにおけるエンジニアの働き方
新規プロジェクトにおけるエンジニアの働き方Recruit Lifestyle Co., Ltd.
 

Destacado (10)

データプランナーによるデータ系施策について
データプランナーによるデータ系施策についてデータプランナーによるデータ系施策について
データプランナーによるデータ系施策について
 
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
売上に効くデータ組織~データから売上や利益を作るために何をしているか~売上に効くデータ組織~データから売上や利益を作るために何をしているか~
売上に効くデータ組織~データから売上や利益を作るために何をしているか~
 
リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤 リクルートライフスタイルの売上を支える共通分析基盤
リクルートライフスタイルの売上を支える共通分析基盤
 
大規模システムリプレイスへの道
大規模システムリプレイスへの道大規模システムリプレイスへの道
大規模システムリプレイスへの道
 
Seem~知るところから、はじめよう。~
Seem~知るところから、はじめよう。~Seem~知るところから、はじめよう。~
Seem~知るところから、はじめよう。~
 
SeemのUXは難しい
SeemのUXは難しいSeemのUXは難しい
SeemのUXは難しい
 
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
Step functionsとaws batchでオーケストレートするイベントドリブンな機械学習基盤
 
Setとして活動しはじめた話
Setとして活動しはじめた話Setとして活動しはじめた話
Setとして活動しはじめた話
 
Rlsにおけるプロダクト プロジェクトマネジメント
Rlsにおけるプロダクト プロジェクトマネジメントRlsにおけるプロダクト プロジェクトマネジメント
Rlsにおけるプロダクト プロジェクトマネジメント
 
新規プロジェクトにおけるエンジニアの働き方
新規プロジェクトにおけるエンジニアの働き方新規プロジェクトにおけるエンジニアの働き方
新規プロジェクトにおけるエンジニアの働き方
 

Similar a 『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤

ログにまつわるエトセトラ
ログにまつわるエトセトラログにまつわるエトセトラ
ログにまつわるエトセトラ菊池 佑太
 
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようGoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようHidemasa Togashi
 
Google APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブGoogle APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブHagiwara takayuki
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発Naoki (Neo) SATO
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料Shinichiro Isago
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料guest628c07
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由gree_tech
 
Logにまつわるエトセトラ
LogにまつわるエトセトラLogにまつわるエトセトラ
Logにまつわるエトセトラleverages_event
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIANVIDIA Japan
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~griddb
 
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfGC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfssuser41f27b
 
OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】Midori Oge
 
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws   sqaleの場合サーバ構築自動化 On aws   sqaleの場合
サーバ構築自動化 On aws sqaleの場合Ryo Kuroda
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Ryuichi Sakamoto
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~normalian
 
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例UnityTechnologiesJapan002
 

Similar a 『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤 (20)

ログにまつわるエトセトラ
ログにまつわるエトセトラログにまつわるエトセトラ
ログにまつわるエトセトラ
 
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようGoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
 
Google APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブGoogle APP Engine vs リアルタイムウェブ
Google APP Engine vs リアルタイムウェブ
 
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
 
Logにまつわるエトセトラ
LogにまつわるエトセトラLogにまつわるエトセトラ
Logにまつわるエトセトラ
 
GPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIAGPU と PYTHON と、それから最近の NVIDIA
GPU と PYTHON と、それから最近の NVIDIA
 
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
日本発オープンソース!! スケールアウト型データベース GridDB入門 ~ GitHubからダウンロードして使ってみましょう ~
 
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfGC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdf
 
OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】OSC2014広島 CloudStackの歩き方【完全版】
OSC2014広島 CloudStackの歩き方【完全版】
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws   sqaleの場合サーバ構築自動化 On aws   sqaleの場合
サーバ構築自動化 On aws sqaleの場合
 
Fcp
FcpFcp
Fcp
 
20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf20221105_GCPUG 女子会 Kubernets 編.pdf
20221105_GCPUG 女子会 Kubernets 編.pdf
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
 

Más de Recruit Lifestyle Co., Ltd.

業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ーRecruit Lifestyle Co., Ltd.
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方Recruit Lifestyle Co., Ltd.
 
OOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なことOOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なことRecruit Lifestyle Co., Ltd.
 
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものRecruit Lifestyle Co., Ltd.
 
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020Recruit Lifestyle Co., Ltd.
 
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理Recruit Lifestyle Co., Ltd.
 
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナーAir事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナーRecruit Lifestyle Co., Ltd.
 
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチリクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチRecruit Lifestyle Co., Ltd.
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤Recruit Lifestyle Co., Ltd.
 
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embeddingReal-time personalized recommendation using embedding
Real-time personalized recommendation using embeddingRecruit Lifestyle Co., Ltd.
 
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはデータプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはRecruit Lifestyle Co., Ltd.
 
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤Recruit Lifestyle Co., Ltd.
 
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方Recruit Lifestyle Co., Ltd.
 
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりThe Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりRecruit Lifestyle Co., Ltd.
 
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法Recruit Lifestyle Co., Ltd.
 
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡Recruit Lifestyle Co., Ltd.
 

Más de Recruit Lifestyle Co., Ltd. (20)

業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
業務と消費者の体験を同時にデザインするリクルートの価値検証のリアル ー 「Airレジ ハンディ」セルフオーダーのブレない「価値」の確かめ方 ー
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
OOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なことOOUIを実践してわかった、9つの大切なこと
OOUIを実践してわかった、9つの大切なこと
 
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
 
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
 
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
 
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナーAir事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナー
 
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチリクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチ
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
 
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embeddingReal-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
 
データから価値を生み続けるには
データから価値を生み続けるにはデータから価値を生み続けるには
データから価値を生み続けるには
 
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはデータプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
 
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤
 
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
 
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方
 
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりThe Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
 
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
 
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡
 
Refactoring point of Kotlin application
Refactoring point of Kotlin applicationRefactoring point of Kotlin application
Refactoring point of Kotlin application
 

『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤