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
260
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
170
2019.08.10_AAJUG Kyoto #2_Alexa✕ML
koba_taka
0
73
2019.07.05 Cloud Native Kansai #04 MLOpsで必要なflowを考えてみる
koba_taka
0
200
2018.07.31 JAWS-UG京都 AWSマネージドDB祭~まだDBにEC2使ってんの?~ / 今のAuroraのスゴさ
koba_taka
0
300
JAWS-UG Sales #0 「SalesがJAWS-UGに参加してみて」
koba_taka
0
200
【さるる勉強会#1】AWSの機械学習って?
koba_taka
0
340
2018.2.11- Alexa Day 2018 - Alexa Ninja Warrior 結果発表
koba_taka
0
5.1k
【さばわの「わ」#2】AWSパートナーとしてのサバワの営業スタイル
koba_taka
0
580
【BIファーストステップ】AWSやSalesforceとPowerBIとの連携
koba_taka
0
1.9k
Other Decks in Technology
See All in Technology
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1.1k
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
330
What's new in OpenShift 4.19
redhatlivestreaming
1
220
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
160
ゆるSRE #11 LT
okaru
1
590
基調講演: 生成AIを活用したアプリケーションの開発手法とは?
asei
1
130
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
6
1.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
42
25k
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
150
Long journey of Continuous Delivery at Mercari
hisaharu
1
210
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The Cost Of JavaScript in 2023
addyosmani
50
8.3k
Documentation Writing (for coders)
carmenintech
71
4.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
KATA
mclloyd
29
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Why Our Code Smells
bkeepers
PRO
337
57k
The Invisible Side of Design
smashingmag
299
51k
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!!