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
freee
PRO
June 03, 2025
1
680
freee請求書のSLO違反改善活動について / SLO violation remediation activities for freee invoices
freee
PRO
June 03, 2025
Tweet
Share
More Decks by freee
See All by freee
激動のAI導入ミッションに、 freeeのセキュリティチームはどう向き合ったのか/How did freee's security team tackle the turbulent AI implementation mission
freee
PRO
0
320
20251115_btconJP_フリー社における生成AI活用の試行錯誤とこれから
freee
PRO
0
63
dbt platform導入前の不安を解消する───リアルな一ヶ月検証記/Addressing Concerns Before Implementing the dbt Platform: A Real-World One-Month Trial
freee
PRO
0
550
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
PRO
4
1.2k
10分でわかるfreeeのPdM
freee
PRO
28
26k
AI時代の開発組織デザイン
freee
PRO
0
87
支出管理船団 エンジニア向け会社説明用資料/Company_Presentation_Materials_for_Fleet_Engineers_in_Expenditure_Management.pdf
freee
PRO
0
170
[2025/09/12更新] freeeのAIに関する取り組み
freee
PRO
2
1k
開発組織発 AI駆動経営
freee
PRO
0
550
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
91
The SEO Collaboration Effect
kristinabergwall1
0
350
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Code Reviewing Like a Champion
maltzj
527
40k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
230
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
The Invisible Side of Design
smashingmag
302
51k
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定義はいいぞ