Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
freee請求書のSLO違反改善活動について / SLO violation remediat...
Search
freee
PRO
June 03, 2025
1.2k
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
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
520
freeeに点在する案件・プロジェクトを統合するための案件マスタ開発
freee
PRO
0
52
freeeにおけるSoftware Factory
freee
PRO
0
580
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
230
AIから最も使われやすいfreeeへ
freee
PRO
0
58
認知負荷との戦い〜 freee AIアシスタントの誕生からハーネス改善まで 〜
freee
PRO
0
53
脱SaaS脳 キャリア25年目の挑戦
freee
PRO
0
44
攻めと守りを両立するデータ基盤 〜中央集権型からデータメッシュへの道のり〜
freee
PRO
0
45
セキュリティチームのAIエージェントを チーム内の誰でも改善できるようにするまで
freee
PRO
0
45
Featured
See All Featured
Side Projects
sachag
456
43k
Typedesign – Prime Four
hannesfritz
42
3.2k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
We Are The Robots
honzajavorek
0
410
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
470
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
430
From π to Pie charts
rasagy
1
420
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
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定義はいいぞ