大量配信システムにおけるSLOの実践:「見えない」信頼性をSLOで可視化
by
PLAID Tech
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
| © PLAID Inc. 2025.07.12 | SRE NEXT | 1 大量配信システムにおける SLOの実践: 「見えない」信頼性を SLOで可視化 株式会社プレイド ⼟⾕ 優五
Slide 2
Slide 2 text
2025.07.12 | SRE NEXT | | © PLAID Inc. • 2020~2023 Unipos株式会社 • バックエンドエンジニア • SRE • テックリード • 2023~ 株式会社プレイド • KARTE Message テックリード 2 ⾃⼰紹介 Yugo Tsuchiya ⼟⾕ 優五 Github : @gal1996 X: @prooooograming 2025.07.12 | SRE Next |
Slide 3
Slide 3 text
2025.07.12 | SRE NEXT | | © PLAID Inc. KARTE Messageについて
Slide 4
Slide 4 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 本日のゴール 4 本⽇のゴール ⽉間10億通を超える⼤規模配信 において1通1通の配信結果を どのようにSLOに落とし込み 運⽤‧改善していったのか
Slide 5
Slide 5 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 本日のテーマ 5 アジェンダ 1. 配信システムの全体像 2. SLI/SLO 3. 運⽤の課題と改善 話すこと
Slide 6
Slide 6 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 本日のテーマ 6 アジェンダ 1. 配信システムの全体像 2. SLI/SLO 3. 運⽤の課題と改善 話すこと
Slide 7
Slide 7 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 配信の最小単位 7 KARTE Messageにおける配信の単位 ● キャンペーン ○ 配信の単位。誰に‧何を‧いつ配信するのかを設定する ○ 1キャンペーンの配信で⼤量の配信対象へ配信がされる
Slide 8
Slide 8 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 8 配信処理の流れ 配信準備 Cloud Spanner BigQuery Kubernetes Engine 送信処理 Kubernetes Engine Cloud Spanner 配信完了 エンドユーザー メール送信処理 SES プッシュ通知、LINE メール
Slide 9
Slide 9 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 9 配信処理の流れ 配信準備 Cloud Spanner BigQuery Kubernetes Engine 送信処理 Kubernetes Engine Cloud Spanner 配信完了 エンドユーザー メール送信処理 SES プッシュ通知、LINE メール
Slide 10
Slide 10 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 10 配信準備 配信対象の決定 client-data BigQuery user_id email name 000001
[email protected]
Tony 000002
[email protected]
Nick … … 005000
[email protected]
Peter … … 100000
[email protected]
Steve 配信対象リスト user_id email 000001
[email protected]
… … 100000
[email protected]
user_id name 000001 Tony … … 100000 Steve 配信リスト 配信対象 決定クエリ
Slide 11
Slide 11 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 11 配信準備 配信対象のキューイング client-data BigQuery 配信データ Cloud Spanner 000001
[email protected]
… … 000500
[email protected]
099500
[email protected]
… … 100000
[email protected]
… 配信対象リスト 配信queue user_id email name 000001
[email protected]
Tony 000002
[email protected]
Nick … … 005000
[email protected]
Peter … … 100000
[email protected]
Steve
Slide 12
Slide 12 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 12 配信処理の流れ 配信準備 Cloud Spanner BigQuery Kubernetes Engine 送信処理 Kubernetes Engine Cloud Spanner 配信完了 エンドユーザー メール送信処理 SES プッシュ通知、LINE メール
Slide 13
Slide 13 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 13 送信処理 詳細 配信データ Cloud Spanner 配信基盤 Kubernetes Engine … MessagingService 000001
[email protected]
… … 000500
[email protected]
099500
[email protected]
… … 100000
[email protected]
…
Slide 14
Slide 14 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 14 配信処理の流れ 配信準備 Cloud Spanner BigQuery Kubernetes Engine 送信処理 Kubernetes Engine Cloud Spanner 配信完了 エンドユーザー メール送信処理 SES プッシュ通知、LINE メール
Slide 15
Slide 15 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 15 メール送信処理 詳細 MessagingService EndUser … SMTP
Slide 16
Slide 16 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 16 配信システムを 俯瞰して見る 配信準備 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール Name Compute Engine キャンペーン Name Compute Engine キャンペーン Name Compute Engine キャンペーン
Slide 17
Slide 17 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 本日のテーマ 17 アジェンダ 1. 配信システムの全体像 2. SLI/SLO 3. 運⽤の課題と改善 話すこと
Slide 18
Slide 18 text
2025.07.12 | SRE NEXT | | © PLAID Inc. クライアントの期待 18 クライアントのKARTE Messageに対する期待 ● 想定したタイミングで配信が 開始‧完了する ● ⾼い確率でメッセージが届く ● 意図した対象に意図した 内容が届く ● etc
Slide 19
Slide 19 text
2025.07.12 | SRE NEXT | | © PLAID Inc. SLO設定前の課題 19 SLO設定前の課題 クライアントは1通1通の配信に対し て、配信時間や配信の成功の期待値 を持っているが、その期待値を正確 に数値に落とせていない
Slide 20
Slide 20 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 20 各STEPでのSLO 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 各STEPごとにSLOを設定 配信準備 配信準備の 成功率 送信処理の 成功率 配信時間の 達成率
Slide 21
Slide 21 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 21 送信処理STEP SLO 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 各STEPごとにSLOを設定 配信準備 配信準備の 成功率 送信処理の 成功率 配信時間の 達成率
Slide 22
Slide 22 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 22 配信データ Cloud Spanner 配信基盤 Kubernetes Engine … MessagingService 000001
[email protected]
… … 000500
[email protected]
099500
[email protected]
… … 100000
[email protected]
… 99.5%以上がリクエスト成功 でキャンペーン成功 送信処理STEP SLO
Slide 23
Slide 23 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 23 送信処理STEP SLO 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール Name Compute Engine キャンペーン Name Compute Engine キャンペーン SLO: 99.9% 配信準備 配信準備の 成功率
Slide 24
Slide 24 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 24 メール送信処理 SLO 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 各STEPごとにSLOを設定 配信準備 配信準備の 成功率 送信処理の 成功率 配信時間の 達成率
Slide 25
Slide 25 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 25 MessagingService EndUser … 2時間以内 メール送信処理 SLO
Slide 26
Slide 26 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 26 送信処理 配信完了 エンドユーザー プッシュ通知、LINE メール 送信処理の 成功率 配信準備 配信準備の 成功率 メール送信処理 Name Compute Engine キャンペーン SLO: 98.0% メール送信処理 SLO
Slide 27
Slide 27 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 27 ダッシュボードでの可 視化 様々な指標を可視化 ● SLI/SLO ● 配信ボリュームごとのエラー率 ● 配信チャンネルごとのエラー内訳 ● キャンペーン単位での成功‧失敗 ● etc
Slide 28
Slide 28 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 本日のテーマ 28 アジェンダ 1. 配信システムの全体像 2. SLI/SLO 3. 運⽤の課題と改善 話すこと
Slide 29
Slide 29 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 29 運⽤の課題 SLOの運⽤で直⾯した課題 これまで説明したSLOは技術的な 側⾯が強く、ビジネスサイドの メンバーには理解が難しい
Slide 30
Slide 30 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 30 ● 成功率の⼊れ⼦ ○ 99.5%以上の送信対象への送信成功でキャンペーンが成功 ○ SLOとしては成功したキャンペーンが99.9%以上 ● 各STEPのSLOがブリーチした時の影響が不透明 ○ 配信準備が失敗したらエンドユーザーにはどういう影響が出 る? ○ 送信時間が遅延するとエンドユーザーにはどういう影響が出 る? ● etc… 運⽤の課題
Slide 31
Slide 31 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 31 どのように解決したか 複数の技術観点のSLI/SLOを組み合わせ ビジネス向けSLI/SLOを定義 運⽤の改善
Slide 32
Slide 32 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 32 ビジネス向けの SLO 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 配信準備 配信準備の 成功率 送信処理の 成功率 配信時間の 達成率
Slide 33
Slide 33 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 33 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 配信準備 ● エンドユーザーに配信が届いたか ● 配信が遅延していないか 配信時間の 達成率 ビジネス向けの SLO
Slide 34
Slide 34 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 34 配信処理の流れ 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 配信準備 信頼性を⾃分たちで管理できる 信頼性を管理しきれない部分がある ex) IP/ドメインレピュテーション,etc ビジネス向けの SLO
Slide 35
Slide 35 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 35 配信処理の流れ 送信処理 配信完了 エンドユーザー メール送信処理 プッシュ通知、LINE メール 配信準備 ● エンドユーザーに配信が届いたか ● 配信が遅延していないか 配信時間の 達成率 ビジネス向けの SLO
Slide 36
Slide 36 text
2025.07.12 | SRE NEXT | | © PLAID Inc. 36 今後の展望 ● エラーバジェットの有効な活⽤ ● より納得感の持てるSLOの閾値 ● 配信システム以外のSLO ● etc 今後の展望
Slide 37
Slide 37 text
2025.07.12 | SRE NEXT | | © PLAID Inc. ブースもあるよ 37 ブースもあるよ プレイドでは⼀緒に働く仲間 も募集しております!
Slide 38
Slide 38 text
No content