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