13章Facebookにおけるプロダクションエンジニアリング

Pedro Canahuati(Facebook)とDavid N. Blank-Edelmanによる対談

David:プロダクションエンジニアリングとは何でしょうか。

Pedro:哲学の観点から言うと、プロダクションエンジニアリングとは、運用の問題はソフトウェアソリューションを通じて解決すべきであり、ソフトウェアを実際に構築しているエンジニアこそがそのソフトウェアをプロダクションで運用する最善の担当者であるという考え方から生まれたものです。

ソフトウェアの黎明期には、コードを書いた開発者がデバッグや修正も行っていました。場合によってはハードウェアの問題にも首を突っ込んでいたものです。時が流れ、リモートソフトウェアシステム、インターネット、大規模なデータセンターなどが登場すると、こうしたやり方は一変しました。今日では、ソフトウェアエンジニアがアプリケーションのコーディングや開発を行うことはやはり一般的に見られるものの、作成したコードはテストのためにQA(Quality Assurance=品質保証)チームへ引き渡され、その後はデプロイとデバッグを担当する別のチームへ引き渡されます。環境によっては、リリースエンジニアリングチームがコードのデプロイに責任を負い、運用チームがシステムの安定性を確保してアラートに対応します。こうした分担は、QAと運用に問題解決に必要な知識があり、かつ、チーム間のフィードバックループが健全に機能している場合には、かなり良好な成果をもたらします。そうではない場合には、プロダクションで発生する問題の解決および/またはデバッグはソフトウェアエンジニアまで差し戻すことが必要になり、このワークフローは解決を大幅に遅らせる可能性があります。Facebookにおけるプロダクションエンジニアリング(Production ...

Get SREの探求 ―様々な企業におけるサイトリライアビリティエンジニアリングの導入と実践 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.