漸く読了、500ページの大作書籍、SRE
読み終えるまでに約2週間ほどかかりましたが、本日集中的に300ページ読んでようやく読了しました。SREサイトリライアビリティエンジニアリングはシステム運用に関する書籍という点では、認識は間違っていないけれど、システムの設計に関する項目も含まれていたので開発者の方も読んでおくと、運用を意識した設計ができるようになって良いと思いました。
SREサイトリライアビリティエンジニアリングの書評
原則
原則の部は、リスクの受容、サービスレベル目標、トイルの撲滅、分散システムのモニタリング、Googleにおける自動化の進化、リリースエンジニアリング、単純さという各章から構成されていました。
主に運用業務として取り組む内容についての記述でした。Google内のシステムに関しても記載されていて、Googleという会社についての学びもありました。
実践
実践の部は、時系列データからの実践的なアラート、オンコール対応、効果的なトラブルシューティング、緊急対抗、インシデント管理、ポストモーテムの文化、サービス障害の追跡、信頼性のためのテスト、SREにおけるソフトウェアエンジニアリング、フロントエンドにおけるロードバランシング、データセンターでのロードバランシング、過負荷への対応、カスケード障害への対応、クリティカルな状態の管理:信頼性のための分散合意、cron による分散定期スケジューリング、データ処理のパイプライン、データの完全性、大規模なプロダクトのローンチにおける信頼性で構成されていました。
上記の部に関しても、前半部分は運用に関する内容が多かったのですが、後半部分では、Googleにおけるシステムの設計に関する内容が多かったように思います。実践的にどのような問題があり、どう対処したのかということが学べました。
管理
SREの成長を加速する方法:新人からオンコール担当、そしてその先へ、割込みへの対処、SREの投入による運用過負荷からのリカバリ、SREにおけるコミュニケーションとコラボレーション、進化するSREのエンゲージメントモデルで構成されていました。
管理の部は、チームとしてどう働くかにフォーカスが当たっていて、実際に自社でどう取り組むかということに応用する上で役立つ内容が多かった印象です。開発と運用のは狭間で活躍するSREという職種についての理解が深まりました。
まとめ
まとめの部は、他業界からの教訓、まとめの2セクションで構成されていました。
付録の資料も充実しており、可用性の一覧では、SLOで定めた可用性の目標に対して、どのくらいの期間でどのくらいまでサービスを停止することができるのかということを確認する上で便利な資料でした。その他、プロダクションサービスのためのベストプラクティスは、全編のまとめのような構成になっており、時間がない人がとりあえず全編の内容を凝縮して理解したい場合に利用できる内容でした。研修などで使えそうです。その他、インシデント状況ドキュメントの例、ポストモーテムの例、ローンチ調整チェックリスト、プロダクションミーティングの議事録の例と各種ドキュメントの参考例が記載されており、そのまま使えそうでした。
今後開発し、運用する予定の自社製品に備えて
今後、人生を賭けて開発・運用を継続する予定の自社製品開発に為の準備期間として、最近は継続的に読書による知識のブラッシュアップを進めています。私自身、学歴的にも芸大で音楽を学ぶという人生における選択ミスを犯してきてからの、24歳からのソフトウェアエンジニアという流れなので、学生時代に積み上げられなかったものを取り戻すのに必死です。それでも、地道に積み上げを続けているので、今現状のところまで歩んでこれています。
今後、自社製品によって、世の中をより良くすることができるかというところに挑戦したいと考えているので、どうか私に力を授けてくださいと神様にお願いをしつつも、地道に積み上げを続けていこうと思います。今年中で学習予定の書籍は後12冊の予定で。デスクに積み上げてあります。順次学んでいこうと思います。アーキテクトとしても、開発者としても、運用者としても、まだまだだと思える自分がいるので、もっともっと学んで、最高の製品を作れるように準備していきます。