大量配信システムにおけるSLOの実践:「見えない」信頼性をSLOで可視化
by
PLAID Tech
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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