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
成長痛に立ち向かうBill One SREのミッションと取り組み
Search
paper2
March 09, 2023
Programming
1.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
成長痛に立ち向かうBill One SREのミッションと取り組み
急成長を支える開発組織の紹介を交えながら、Bill One の SRE チームが掲げるミッション、開発組織全体での信頼性担保の取り組みやその成果についてお話しします。
paper2
March 09, 2023
More Decks by paper2
See All by paper2
SREは何を目指すのか
paper2
7
5.6k
Other Decks in Programming
See All in Programming
「人を評価する AI」の設計と実装
ryoyanara
0
200
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
230
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
560
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
220
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
690
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
1
210
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Code Review Best Practice
trishagee
74
20k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
340
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Designing for humans not robots
tammielis
254
26k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
A Modern Web Designer's Workflow
chriscoyier
698
190k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Transcript
成⻑痛に⽴ち向かう Bill One SRE のミッションと取り組み 2023-03-09
スピーカー紹介 Sansan 株式会社で Bill One プロダクトの SRE チームに 2022 年
8 ⽉から所属。前職は SIer 企業でコンテナ技術や SRE の普及活動、AWS・Azure での Kubernetes サービスの 設計・構築に従事。現職では SRE のミッション定義や信頼 性向上の⽂化づくり、負荷試験による性能改善、 IaC 化など を推進。最近は Google Cloud ⼀筋。趣味は家族。 Twitter: @paper2parasol Kamitsukasa Yohei Sansan株式会社
Bill One のご紹介 01 03 02 Bill One SRE のビジョンとミッション
SRE プラクティスの実践 04 その他の取り組み 05 まとめ
Bill One のご紹介 01
Bill One プロダクトの紹介 Bill Oneは、Sansan株式会社が提供するインボイス管理サービスです。 郵送やメールといったさまざまな⽅法・形式で届く請求書をオンラインで⼀括受領し、素早く正確にデータ化。請求書をク ラウド上で⼀元管理することで、アナログで⾮効率な請求書業務をデジタル化します。インボイス制度や電⼦帳簿保存法に も対応し、⽉次決算業務を効率化することで、企業経営における意思決定のスピードを加速します。 ※⽉次決算業務 毎⽉の営業成績、財政状況を明らかにするために⾏われる業務。経理担当者が⾏う業務で、毎⽉の数字の締め処理作業として発⽣します。
急成⻑中のプロダクト Sansan株式会社 2023年5⽉期 第2四半期 決算説明資料より引⽤
スケーラブルな開発組織 急成⻑に伴った組織規模拡⼤のためにシステム同様組織のスケーラビリティが重要となる 可能な限りの権限が委譲され、上⻑がボトルネックにならないスケーラブルな組織を⽬指している グループリーダ 権限委譲しない組織 全部 決めたい!! 忙しい、、承認待って これ以上チームは 増やせない、、
承認伺い 権限委譲する組織 ええやん 相談 相談を重ねて ⾃らが 最終判断をする グループリーダ チーム チーム チーム チーム チーム チーム チーム チーム
プロダクト開発チーム 4 ⼈前後のチームが 12 個存在 SRE 機能開発 グローバル対応 機能開発 機能開発
機能開発 グローバル対応 グローバル対応 機能開発 機能開発 機能開発 機能開発
横串チーム 運⽤改善推進 IaC (Infrastructure as Code) 改善 押忍 (Auth) オンボーディング...etc
フロントエンド エラー改善 開発組織横断の課題を解決する有志メンバによるチーム、任意結成・任意解散
マイクロサービスを採⽤ サービス 機能開発チーム 機能開発チーム サービス 機能開発チーム サービス 機能開発チーム 開発・運⽤ 信頼性向上
開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上 主要マイクロサービスが 6 個存在し、各マイクロサービスを 1~2 の機能開発チームで担当する
アーキテクチャ
Bill One SRE の ビジョンとミッション 02
Bill One SRE チームのビジョンとミッション ミッション 開発チームが⾃律的に動ける仕組みを整えつつ、 信頼性と開発効率の向上をリードする ビジョン ⾃律的に⾼い信頼性を維持できる 開発チームを⽀えるための触媒となる
開発組織のスケーラビリティの維持 Bill One の成⻑のためにも SRE チームがボトルネックになり、 開発組織のスケーラビリティを低下させてはいけない SRE チーム スケーラビリティを阻害する例
インフラ全部やる! 信頼性向上全部やる! なんでもやる!! 忙しすぎ、、これ以上は 対応できない、、、 環境構築 依頼 チーム チーム チーム 変更依頼 性能問題 調査依頼
ビジョン ⾃律的に⾼い信頼性を維持できる開発チームを⽀えるための触媒となる ※ 触媒とは化学反応の反応速度を速める物質で、⾃⾝は反応の前後で変化しないものをいう サービス 機能開発チーム 機能開発チーム サービス 機能開発チーム サービス
機能開発チーム 開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上
ビジョン ⾃律的に⾼い信頼性を維持できる開発チームを⽀えるための触媒となる ※ 触媒とは化学反応の反応速度を速める物質で、⾃⾝は反応の前後で変化しないものをいう SRE チーム サービス 機能開発チーム 機能開発チーム サービス
機能開発チーム サービス 機能開発チーム 開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上 なんかめっちゃ 信頼性維持しやすい!
ミッション 開発チームが⾃律的に動ける仕組みを整えつつ、信頼性と開発効率の向 上をリードする • SRE チームメンバの専⾨性が必要なタスクは SRE が主導する • 並⾏してそれらを機能開発チームに委譲する仕組みづくりを検討・推進する
SRE チーム サービス 機能開発チーム 機能開発チーム サービス 機能開発チーム サービス 機能開発チーム 開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上 開発・運⽤ 信頼性向上 信頼性向上 促進
SRE プラクティスの実践 03
SRE プラクティス実践例のご紹介 SLI / SLO トイル削減 可観測性向上
SLI / SLO • ユーザリクエストのレスポンスレイテンシ とエラー率を SLI としている • SLI
が急激に低下した場合にバーンレートを 活⽤し、アラートを発報 • SLO は定義しているがエラーバジェットに よる意思決定は実施していない Users Bill One サービス サービス ・・・ SLO レイテンシ 99%tile が 1000ms 以下 エラー率 0.1% 以下
トイルの削減 • 各メンバが個⼈・または横串チームなどで ⾃律的に削減活動を実施 例) 運⽤改善横串チームでは運⽤作業におけ るトイルの収集、タスク化、優先度付け、 各チームへの実装依頼などを実施 • SRE
チームとしての施策は特になく、組織 全体でトイル削減を実施できている 解消 解消 解消 解消
可観測性向上 • アプリおよびインフラのログをトレースに 紐付け、ユーザの 1 リクエストに関する各 コンポーネントのログを抽出可能 • 性能問題など細かい挙動の把握が必要な際 に課題を感じており、スパンの活⽤余地が
ある トレース ID によるログ抽出
その他の取り組み 04
その他の取り組み例 • 開発者の⾃律的な信頼性向上の⽂化づくり ◦ SRE のビジョン・ミッションの定義、 開発組織全体への共有 ◦ ポストモーテムの推進 ◦
機能開発チームと週次でメトリクス確 認を開始 ◦ インフラの課題解決を SRE の⽀援を 前提に適宜機能開発チームに依頼 • 性能改善 ◦ 負荷試験による性能劣化原因の特定、 解消による信頼性向上(詳細後述) ◦ SRE チームで週次のメトリクス確認、 懸念点を機能開発チームと解消 • 可観測性向上 ◦ 分散トレーシングの活⽤、改善 ◦ サービスダッシュボードの作成
プロダクトの成⻑痛 成⻑に伴い負荷量が増え、⾼負荷時に性能劣化が発⽣ Bill One サービス サービス ・・・
ユーザリクエストのレイテンシ SLI が急激に低 下したことをアラートにより検知 原因が特定できず、試⾏錯誤の中で実施した DB のスペックアップにより解消 ⾼負荷時の性能劣化 Bill One
Users Bill One Users
負荷試験による性能劣化原因の特定・解消 • 負荷試験による原因調査を実施 • Google Cloud のサポートと連携し調査を進めることで以下が判明 ◦ Cloud SQL
の監査⽤クエリログの量が多いことが原因 ◦ 当原因は Google Cloud の提供するメトリクスやログでは特定できない • 別種の DB ログと組み合わせ、監査⽔準を維持しつつログ量を削減することで問題を解消 Bill One サービス サービス ・・・ GCE
• DB の CPU、メモリ、ネットワークトラフィックなどはメトリクス上枯渇していなかった • アプリで記録される DB クエリのレイテンシが⻑い( 例 :
300ms )のに対して、Cloud SQL の ログに表⽰されるクエリレイテンシは⾮常に短かった( 例 : 1ms ) • アプリを重点的に調査したが問題を⾒つけられず、Cloud SQL の確認も実施 • Cloud SQL のログが⽋損していることを(たまたま)発⾒ ◦ BigQuery で本番環境でも 30 秒以上ログが出⼒されない期間があることなどを確認 • その後サポートと連携し調査を進めることで原因を特定 Google Cloud の提供するメトリクスやログから原因が特定できないこと 困難だったこと
まとめ 05
まとめ Bill One のご紹介 • Bill One は機能開発チームとは別に有志メンバによる横串チームがある • マイクロサービスアーキテクチャを採⽤している
ビジョン・ミッション • ビジョン ◦ ⾃律的に⾼い信頼性を維持できる開発チームを⽀えるための触媒となる • ミッション ◦ 開発チームが⾃律的に動ける仕組みを整えつつ、信頼性と開発効率の向上をリードする 取り組み例 • SRE チームでは SLI/SLO の定義、可観測性向上などに取り組んでいる • トイル削減は組織全体で実施できている • 負荷試験により成⻑痛(性能問題)を解消できた
Bill One の SRE 募集中です!!
None