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
freee請求書のSLO違反改善活動について / SLO violation remediat...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
freee
PRO
June 03, 2025
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
freee請求書のSLO違反改善活動について / SLO violation remediation activities for freee invoices
freee
PRO
June 03, 2025
More Decks by freee
See All by freee
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
68
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
300
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
450
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
95
freeeにおけるAI分析エージェントの実践
freee
PRO
0
420
クラウドネイティブ会議Day1_AI時代の開発スピードに追いつけ! Argo CD ApplicationSetと挑む、PR単位の検証環境/Cloud Native Conference Day 1: Keeping Pace with Development Speeds in the AI Era! Building a Pull Request-Level Testing Environment with Argo CD ApplicationSet
freee
PRO
0
350
激動のAI導入ミッションに、 freeeのセキュリティチームはどう向き合ったのか/How did freee's security team tackle the turbulent AI implementation mission
freee
PRO
0
2.1k
10分で分かるfreee__エンジニア向け会社説明資料/freee in 10 Minutes Company Overview for Engineers
freee
PRO
0
100
20251115_btconJP_フリー社における生成AI活用の試行錯誤とこれから
freee
PRO
1
310
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
440
How to Ace a Technical Interview
jacobian
281
24k
Balancing Empowerment & Direction
lara
6
1.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Everyday Curiosity
cassininazir
0
270
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Product Roadmaps are Hard
iamctodd
55
12k
Transcript
freee請求書のSLO違反改善活動について 2025/05/29
2 kochan 経歴 • ⼊社:2024/4 ◦ 24卒で⼊社 2024年7⽉から請求書に配属された •
関⻄ネスト配属 • 趣味 ◦ お菓⼦作り • freee-developers-hub編集部に関わっています • 最近髪のダメージが酷くて悩んでいる freee請求書 エンジニア 川本 孝太朗
3 01 SLOとは 02 請求書でのSLO設定 03 改善活動について 04 まとめ Contents
4 01 SLOとは 02 請求書でのSLO設定 03 改善活動について 04 まとめ Contents
5 SLOとは • SLOとは? ◦ SLO(Service Level Objective)は、システムやサービスの提供における 具体的な⽬標値を定めたもの ◦
SLOでは、サービスレベルという形でサービスの品質を計測できるようにする
6 SLOとは • なぜSLOを設定するのか? ◦ プロダクトの品質の明⽂化 ◦ ユーザ⽬線の品質指標 ◦ ⼒をいれるところ、抜くところが明確になる
7 SLOとは • なぜSLOを設定するのか(おまけ) ◦ 進化的アーキテクチャの適応度関数の⽂脈 ◦ アーキテクチャを継続的に進化させていくにあたって アーキテクチャの満たすべき客観的指標を定めている ◦
新機能開発と品質担保のいい感じのバランスをとりやすくなる ref: https://www.oreilly.co.jp/books/9784873118567/
8 01 SLOとは 02 請求書でのSLO設定 03 改善活動について 04 まとめ Contents
9 ⼀括送付のパフォーマンスやインポートによる⼀括作成のパフォーマンスなど ◦ バリデーションなどの同期処理はp99.5で3sという⾼めの⽬標設定 ◦ ⼀⽅で⾮同期処理に関してはある程度遅くても業務を阻害しないのでp99.5で300sの設定 これらの指標はプロダクトマネージャーと協⼒してユーザー体験に基づいて決定した freee請求書でのSLO定義の例
10 ⼀括送付のバリデーションを⾏うエンドポイントが⼤きくユーザー体験を毀損している ◦ バリデーションは同期処理。3sという⽬標に対して30sぐらいかかっていた SLOを定義してわかったこと
11 01 SLOとは 02 請求書でのSLO設定 03 改善活動について 04 まとめ Contents
12 ◦ 3sという⽬標に対して30sぐらいかかっている ▪ N+1がひどい ▪ PDF⽣成処理が重い(1件500msぐらいかかっている) 原因調査 PDF⽣成処理
13 ⼀括送付の事前バリデーション処理 ⼀括送付 Validation Request freee請求書 郵送にかかる料⾦を表⽰ 料⾦は帳票のページ数に よって決定 基盤サービス
帳票⽣成リクエスト … ここが遅い
14 難しいポイント ◦ PDF⽣成処理が重いためN+1を解消しても3sというSLOは満たせない ◦ メインの開発案件ではないため⼯数最⼩で進めたい 対策⽅針を考える
15 帳票作成‧更新時にPDFを⽣成してページ数だけ保存する ◦ エンジニアの⼯数はそんなにかからない ▪ ページ数を保存するテーブルの追加 ▪ ページ数を保存/参照する処理の実装 ◦ 既存のデータを変更しないためユーザーに⾒える仕様変更はない
▪ 仕様変更に関わるユーザー影響調査が不要 この⽅針でプロダクトマネージャーと仕様合意 対策案:ページ数計算を事前に⾏う
16 作成‧更新でPDF⽣成なんて重い処理をやって⼤丈夫? エンジニアと設計を相談した時に出てきた議論 ◦ 作成‧更新の際にPDF⽣成をするならインポートのパフォーマンスが悪化するのでは? ▪ 確かにCSVインポートなど⼀括で帳票作成する処理が遅くなる
17 作成‧更新でPDF⽣成なんて重い処理をやって⼤丈夫? エンジニアと設計を相談した時に出てきた議論 ◦ 作成‧更新の際にPDF⽣成をするならインポートのパフォーマンスが悪化するのでは? ▪ 確かにCSVインポートなど⼀括で帳票作成する処理が遅くなる ◦ しかし⼤きな問題はない ▪
インポートのSLO定義はp99.5で300sなので、PDF⽣成処理を作成側に寄せてもSLOを違反しない
18 今まで一番酷かったケースは 30倍高速化 ◦ リリース前の酷かったケースと件数同じ ◦ リリース前は29.7sだったのが0.9sに 結果
19 SLOも改善傾向 完全解消とまではいかないが、大幅に改善 • 今までのひどい処理に埋もれていた部分がボトルネックに。それも近日中に修正予定 インポート系もほぼ悪化していない
20 01 SLOとは 02 請求書でのSLO設定 03 改善活動について 04 まとめ Contents
21 • サービスの品質がユーザー体験を満たしているかどうかがわかる • パフォーマンスの変化がユーザー体験にどんな影響を与えるのかを定量的に議論することができる ◦ 定量的な指標があることでスムーズに合意を得られる 結論:SLO定義はいいぞ