# Notes from Production Engineering
![[_attachments/srecon15-canahuati-notes-from-pe/frame-001.jpg]]
[[Pedro Canahuati]](Facebook Production Engineering ディレクター)による SREcon15 の基調的トーク。Facebook が 2009 年に SRE チームをゼロから立て直し、2015 年時点の Production Engineering 体制に至るまでの 5 年半の組織変革の記録。
## 概要
2009 年、Facebook の SRE チームは深刻な課題を抱えていた。オンコールツールなし・ポストモーテムなし・割り込み駆動・手動作業中心・エンジニアリングとの低い連携。Canahuati はこれを 5 つの組織的変革で段階的に修正し、「オペレーションを必要としない会社をどう作るか」という視点からスケールを実現した。
## 主要メッセージ
- **役割は行動で定義される**: タイトルではなく、問題を解決するために必要な役割を担う柔軟性が本質である。DevOps はチームの名前ではなくプラクティスであり、「DevOps エンジニア」という肩書き自体が問題を示す。
- **最大の転換点はソフトウェアエンジニアへのオンコール委譲**: 組織のオーナーシップと信頼性意識を根本から変えた。
- **オートメーションは人を置き換えるものでなく、人がやるべきことを変える**: FBAR で定型作業を委譲し、人は本来の工学的問題に集中する。
- **名前が認識を規定する**: AppOps → Production Engineering への改名が「ops monkey ではなく、エンジニアだ」というシグナルを社内に送った。
## 映像で確認できる重要点
**Facebook 2009 年時点の SRE の問題一覧**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-010.jpg]]
スライド "SRE @ Facebook in 2009" に 8 項目が列挙される(自動字幕由来、映像で確認):
1. Hired for some coding
2. No oncall tool
3. Postmortems documented by one person
4. Interrupt driven
5. Low engagement with Eng
6. Mostly manual solutions
7. Shift work to keep site running
8. Turn up new clusters for new capacity
**1. Re-org: SRE → SRO + AppOps**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-011.jpg]]
SRE を SRO(Site Reliability Operations)と AppOps(Application Operations)の 2 チームに分割。SRO は運用とオートメーションを担い、AppOps は各ソフトウェアエンジニアリングチームに埋め込まれた。
**2. Hiring: 採用の 5 次元**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-013.jpg]]
採用評価の 4 技術的次元+文化: TCP/IP(ネットワーク)・Systems(Linux)・Network(大規模ネットワーク)・Arch(分散システム設計)・Culture(認識を変える、かつ嫌なやつにならない)。
**4. Better Post Mortems: "FIX MORE, WHINE LESS"**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-015.jpg]]
Tシャツ印刷スローガンとして全インフラに配布。毎週金曜の SEV レビューが基盤。Jay Parikh が同席することで、リソース不足の場合に即座に追加対応を決定できた。
**FBAR API アーキテクチャ**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-018.jpg]]
FBAR API ← Remediation Plugins ← Mon API / Config API / HW API / Repair API。壊れたサーバの検出・除外・修復を完全自動化する階層構造。
**Cobalt: クラスター・スタータスダッシュボード**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-020.jpg]]
クラスター×サービスのグリッドで稼働状況を色表示(緑=正常、赤=障害、紫=テスト失敗)。赤横線は廃止中クラスター、紫縦線はテスト失敗を示す。
**SRO の生命周期: 2010-2014**
![[_attachments/srecon15-canahuati-notes-from-pe/frame-027.jpg]]
SRO は 2014 年 3 月 31 日に解散。集中型の 24 時間監視チームが「クラッチ」になり、エンジニアリングチームの自立を阻んでいたと判断。データ駆動のアプローチで各チームの準備状況を確認し、段階的に移行した。
## 口頭説明・補足
**DevOps を巡るスタンス**([00:11:13.120])
「チーム名に DevOps を使わないでほしい。DevOps はプラクティスであり、ほぼ全てのエンジニアが実践するものだ。DevOps エンジニアという肩書きなら上司に変えるよう話してほしい」
**物理的障壁の除去**([00:09:09.680])
2009 年、オペレーションチームへはソフトウェアエンジニアが廊下を 20〜25 フィート歩かなければならないレイアウトだった。物理的な距離が関係構築を妨げていたため、これを解消した。
**ブートキャンプ排除問題**([00:10:25.760])
Canahuati が入社 2 週目にブートキャンプ参加を希望したところ、「あなたはオペレーションだから不要」と断られた。この経験が組織変革の強い動機となった。
**エンジニアをオンコールにした衝撃**([00:20:27.200])
13 サービスのうち 7 サービスの ops 担当を各ソフトウェアチームに委譲し、残る 6 つのコアサービスに注力した。「これは人気がなかった」が Jay Parikh が後ろ盾となって実施した。
**FBAR の効果**([00:27:20.080])
トーク前週時点で FBAR が 1 日に 13,600 人時相当の作業を処理。これはカーネルアップグレードなどの定型作業にも汎用的に活用されている。
**ODS の規模**([00:30:58.480])
ODS(Operational Data Store)は毎秒 8,300 万データポイントを処理、1 日約 50 億データポイント。
**FB303**([00:31:17.760])
全サーバに常駐するエージェント(FB agent)が Thrift ベースの FB303 統計を 1 分・4 分間隔で収集。リアルタイムクエリも可能。
**サービス成熟度モデル**([00:44:33.839])
3 段階: (1) ブートストラップ(基本インフラ・少数ユーザ・多くの消火活動)→ (2) スケール(計装改善・カナリアデプロイ・防御的設計)→ (3) 最適化(外れ値除去・P99 レイテンシ改善)。
**チーム関係ステータスの 3 分類**([00:46:18.319])
Contentious(対立)・Orthogonal(並走、目標不一致)・Synergistic(相乗、目標共有)。Contentious の場合は「協力をやめる」と宣言することが関係修復を促す。
**サービスへの Maslow の欲求階層の適用**
基本的なサーバ監視ライフサイクルを解決せずに P99 の最適化に取り組んでも意味がない、という優先順位付けの直感的フレームワーク。
## Q&A
**Q: SRO なしで誰がデータセンターのビルドアウトを担うか**
→ 物理的なラック・スタックは Data Center Operations チームが担当。インテグレーターからラックを受け取り、ファイバーを差し込むだけの状態で納入される。ソフトウェア面の自動構築は Cobalt システムが対応。新リージョンの立ち上げだけは CSI チームが担う(クロスデータセンタートラフィックの問題が多いため)。
## 概念・実体への接続
- 組織変革の実践例 → [[SRE組織変革]]
- SRE の根本思想 → [[SRE]]
- ブレームレスポストモーテム実践 → [[ポストモーテム]]
- エンジニアリングリーダーシップの役割 → [[Jay Parikh]]
- Facebook の技術組織 → [[Facebook]]
- 前年の Ben Treynor Sloss による基調講演 → [[@2014__SREcon14__Keys to SRE]]
## 限界・不確実点
- transcript は自動字幕(自動生成)由来。固有名詞・数値は映像フレームまたは文脈で確認できた範囲のみ信頼する。
- 「Jay Parikh」の肩書きは transcript から "head of engineering" であることが確認できるが、具体的な役職名は不確実。
- フレームは 90 秒ごとの代表フレームのため、一部のスライドは未確認(特にビジュアライゼーション系のスライド詳細)。
- ODS のデータポイント数 ("83 million per second") は transcript 由来。映像フレームでの数値確認はできなかった。
## 出典
- 映像: YouTube [ugkkza3vKbc](https://www.youtube.com/watch?v=ugkkza3vKbc)(USENIX ミラー)
- 公式ページ: https://www.usenix.org/conference/srecon15/program/presentation/canahuati
- transcript: `.raw/videos/ugkkza3vKbc/transcript.md`(自動字幕変換)