Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2020.02.13_ABEJA_プロダクトがスケールする過程における課題と取り組み
Search
Takayoshi Kobayashi
February 13, 2020
Technology
0
240
2020.02.13_ABEJA_プロダクトがスケールする過程における課題と取り組み
2020.02.13 数千コンテナ規模のサービスをマイクロサービスとサーバーレスでつくって地雷を踏みながらも改善している話 #abejaai
Takayoshi Kobayashi
February 13, 2020
Tweet
Share
More Decks by Takayoshi Kobayashi
See All by Takayoshi Kobayashi
AWS re:Invent 2020 SageMakerのUpdateをre:cap
koba_taka
0
150
2019.08.10_AAJUG Kyoto #2_Alexa✕ML
koba_taka
0
61
2019.07.05 Cloud Native Kansai #04 MLOpsで必要なflowを考えてみる
koba_taka
0
180
2018.07.31 JAWS-UG京都 AWSマネージドDB祭~まだDBにEC2使ってんの?~ / 今のAuroraのスゴさ
koba_taka
0
290
JAWS-UG Sales #0 「SalesがJAWS-UGに参加してみて」
koba_taka
0
190
【さるる勉強会#1】AWSの機械学習って?
koba_taka
0
310
2018.2.11- Alexa Day 2018 - Alexa Ninja Warrior 結果発表
koba_taka
0
5k
【さばわの「わ」#2】AWSパートナーとしてのサバワの営業スタイル
koba_taka
0
550
【BIファーストステップ】AWSやSalesforceとPowerBIとの連携
koba_taka
0
1.8k
Other Decks in Technology
See All in Technology
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
290
商品レコメンドでのexplicit negative feedbackの活用
alpicola
1
350
技術に触れたり、顔を出そう
maruto
1
150
FODにおけるホーム画面編成のレコメンド
watarukudo
PRO
2
270
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
370
コロプラのオンボーディングを採用から語りたい
colopl
5
1.2k
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
7.6k
Azureの開発で辛いところ
re3turn
0
240
AWS re:Invent 2024 recap in 20min / JAWSUG 千葉 2025.1.14
shimy
1
100
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
240
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
For a Future-Friendly Web
brad_frost
176
9.5k
Mobile First: as difficult as doing things right
swwweet
222
9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Statistics for Hackers
jakevdp
797
220k
Code Reviewing Like a Champion
maltzj
521
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Transcript
#abejaai 2020.02.13 数千コンテナ規模のサービスをマイクロサービスと サーバーレスでつくって地雷を踏みながらも改善している話 ABEJA, Inc. / Takayoshi Kobayashi /
@koba_taka プロダクトがスケールする過程における 課題と取り組み
#abejaai 2 ⾃社のプロダクト開発に関わっている⽅︖ さっそくですが…
#abejaai 3 どうしてますか︖ Scalability Flexibility Agility Cost
#abejaai 4 Today`s Topic
#abejaai 5 ABEJA Productʼs
#abejaai 6 今⽇お話すること ABEJAのプロダクト開発について プロダクト成⻑に伴う選択の背景 (主にインフラ)
#abejaai 7 伝えたいこと プロダクトの成⻑に伴う苦悩を乗り越える アプローチ
#abejaai 8 @koba_taka Twitter Like takayoshi.kobayashi.16 Facebook AWS Drinking Job
Takayoshi Kobayashi Who is ? ABEJA, Inc. ABEJA Platform Customer Success
#abejaai 9 ABEJA Productʼs
#abejaai 10 この数字わかりますか︖ 200,000,000
#abejaai 11 200,000,000 ⼈ Number of Visitors
#abejaai 12 700+ Shops
#abejaai 13 σʔλ౷߹ɾੳ σʔλऩू ՄࢹԽ ߦಈ Χϝϥ μογϡϘʔυ ϝʔϧͰͷि࣍ Ϩϙʔτ৴
ը૾ղੳ 画像解析の機械学習モデルを活⽤した、⼩売店舗向けのSaaS型のサービス 顧客データの⾒える化と活⽤の⽀援 ,1*ઃఆ ࢧԉ ࣄྫڞ༗ 104σʔλ ABEJA INSIGHT for Retail
#abejaai 14 インフラのこれまで Evolution
#abejaai 15 データ変換システム ダッシュボード システム メール配信 システム 監視・管理ツール ストリーム マネジメント
システム 映像解析 システム サービス基盤 全体構成
#abejaai 16 ストリームマネジメントシステム 暗号化接続終端コンテナ 録画コンテナ 動画変換コンテナ データフロー監視 コンテナリポジトリ カメラ
#abejaai 17 映像解析システム 特徴量データベース 顔画像・年齢性別・特徴量抽出部 リピーター判定部 データフロー監視 映像 ダッシュボード
#abejaai 18 映像解析システム コアの運⽤
#abejaai 19 2017.8 リピーターの研究からの開始 2018.5 リリース 当時のインフラ
#abejaai 20 リリース当初の構成 カメラ 解析 Core カメラ 解析 Core 集計
ダッシュボード
#abejaai 21 リリース当初の構成 カメラ 解析 Core カメラ 解析 Core 集計
ダッシュボード
#abejaai マズイ… 22 Refferal:flicker https://bit.ly/2OIrtq4
#abejaai 23 ・コアの⼊れ替えがツラい… ・当時、店舗閉店後の時間に コア⼊れ替え作業なども...
#abejaai CHANGE 24
#abejaai 25 モデルを⼊れ替えしやすいように マイクロサービス化
#abejaai 26 アーキテクチャー変更後の構成 カメラ カメラ 集計 ダッシュボード モデルC モデルA モデルB
モデルD キュー
#abejaai 27 モデルの⼊れ替え・検証が容易に Flexibility Agility
#abejaai 28
#abejaai 29 272 Registration 1,175 Accounts ABEJA Platform
#abejaai 30 120 TB 850,000,000 Objects ABEJA Platform
#abejaai 05 推論・再学習 04 デプロイ 03 学習 02 前処理 蓄積
01 取得 31 04 デプロイ 01 取得・蓄積 05 推論・再学習 03 学習 02 蓄積 AIのビジネススケールを 拡⼤する メトリクス監視 トリガー 推論コード管理 モデル管理 Blue/Greenデプロイメント データレイク アノテーションツール 事前推論 データセット 学習コード管理 ハイパーパラメータ管理 学習ジョブ (CPU・GPU) ABEJA Platformの機能
#abejaai 32 Retailの動画解析システム カメラ カメラ 集計 ダッシュボード モデルC モデルA モデルB
モデルD キュー 動画 保存 モデル 推論 推論結果 保存
#abejaai Gateway DataLake Trigger LB Container DB Storage Events Subscriber
Batch DB Container Image Inference log Inference Code Inference Result Platformのアーキテクチャー (以前)
#abejaai 34 DataLake
#abejaai 35 Rawデータを蓄積するためのサービス ストレージはS3を利⽤ 内製のGatewayを経由してS3へPUT DataLake
#abejaai Gateway DataLake Trigger LB Container DB Storage Events Subscriber
Batch DB Container Image Inference log Inference Code Inference Result Platformのアーキテクチャー (以前)
#abejaai 37 Trigger
#abejaai 38 特定イベントに対し、推論APIを実⾏ イベントはDataLakeへのPUT or スケジュール 推論結果はDataLakeへ格納 Trigger
#abejaai One day… 39 Refferal:flicker https://bit.ly/2H8Ffhx
#abejaai 40 2019年5⽉ Retailの通常のTrafficから6倍のTraffic
#abejaai 41 Golden Week Refferal:flicker https://bit.ly/2H81CUp
#abejaai 42 2019年8⽉ Retailの通常のTrafficから4倍のTraffic
#abejaai 43 Summer Vacation Refferal:flicker https://bit.ly/2H81CUp
#abejaai 44 ࣌ظతͳτϥϑΟοΫ্ঢ 5⽉ 8⽉
#abejaai 45 利⽤店舗増加のため、取得データ画像の増加
#abejaai 46 秒間 平均200ファイルOverのアップロード
#abejaai 47
#abejaai 48 %#$16ෛՙ
#abejaai 49 Lambda 1回の処理でさばくメッセージ数が少ない ⼤量のメッセージは捌ききれていない 結果︓バックエンド⾼負荷とキュー処理の遅延 メッセージキューの停滞
#abejaai 50 SQS Subscriber タイムアウト付きでバルク更新処理を実装 Queueを計測しつつ、同時実⾏数を調整 SubscriberをECSで実装 メッセージキューの停滞への アプローチ Queue
Status RDB Batch ECS
#abejaai Gateway DataLake Trigger LB Container DB Storage Events Subscriber
Batch DB Container Image Inference log Inference Code Inference Result Platformのアーキテクチャー (以前)
#abejaai Gateway DataLake Trigger LB Container DB Storage Events Subscriber
Batch Container Image Inference log Inference Code Inference Result DB Platformのアーキテクチャー (刷新後)
#abejaai 53
#abejaai 54
#abejaai 解決 55 Refferal:flicker https://bit.ly/2SsKEoQ
#abejaai 56 当時はタスクフォースを設⽴ モデル精度向上も実施 https://bit.ly/2Shfa6v
#abejaai 57 次のTry
#abejaai 58 AWS BatchをKubernetesへ刷新予定
#abejaai 59 We are hiring!!
#abejaai 60 Summary ・Insight for Retailの顧客数は右肩上がり ・そのスケールに対応するため、Platformも⽇々改善・開発 ・プロダクトの成⻑と共に動かし続けることの重要性 ・今後、GCPも積極的に活⽤ ・顧客価値のある機能改善・開発がより重要に
・⼀緒に取り組んでくれるメンバーを募集中︕
#abejaai 61 Thank you!!