最近はプログラミング学習のハードルがとても下がり、ちょっとしたアプリケーションの実装方法を学ぶことは簡単になってきました。
しかし、練習用のアプリケーションと「プロダクションレディ」なシステムには、実は大きな壁があります。
この記事では、「プロダクションレディとは何か」を学び、本番運用できるシステムを開発するために必要な知識を得るための書籍を紹介します。
Release It! 本番用ソフトウェア製品の設計とデプロイのために
タイトル通り、まさに「本番用ソフトウェア」について解説した書籍です。
プロダクションレディなソフトウェアを開発し、運用していくために必要な知識が豊富に書かれています。
「全然聞いたことがなかった」となるような観点もたくさん紹介されており、非常に勉強になります。
以下のように、マイクロサービスの本番運用の文脈で Java チャンピオンの寺田氏もオススメしている 1 冊です。
つまり重要になるのは分散コンピューティングを意識したシステム開発である。それを学ぶためにおすすめの書籍が『Release It! 本番用ソフトウェア製品の設計とデプロイのために』。
引用元
SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム
Google のシステム管理とサービス運用の方法論である SRE (Site Reliability Engineering) の解説書です。
エラーバジェットを用いたサービスレベルの管理やトイルの撲滅など、本質的に信頼性の高いシステムを構築・運用するためのプラクティスがまとめられています。
600 ページほどある分厚い本ですが、非常に勉強になります。
いわゆる “モダンなインフラエンジニア” を目指す方には是非読んでほしい 1 冊です。
関連書籍として、『サイトリライアビリティワークブック ―SREの実践方法』などもあります。
プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化
Uber の SRE の方が、Uber でのマイクロサービスの取り組みの知見をまとめた書籍です。
タイトルには「マイクロサービス」とありますが、マイクロサービスでなくても役立つ知識がたくさん書かれています。
本番対応の観点として、
- 安定性
- 信頼性
- スケーラビリティ
- 耐障害性と大惨事対応
- パフォーマンス
- 監視
- ドキュメント
と整理して、それぞれ丁寧に解説されています。
先に紹介した『Release It!』や『SRE サイトリライアビリティエンジニアリング』よりも読みやすいので、まずはこの本から読んでみるのもオススメです。
運用設計の教科書 ~現場で困らないITサービスマネジメントの実践ノウハウ
ここまでの本とは少し変わり、いわゆるトラディショナルな「運用設計」の教科書です。
いわゆる “モダンな運用” のような内容ではないですが、運用で考慮すべき基本事項が教科書としてしっかりまとまっています。
本番運用をむかえる上で、どんな準備が必要かを考える際の参考として結構オススメです。
おわりに
以上、「プロダクションレディとは何か」について学べるオススメ書籍を紹介してきました。
システムを本番運用する上では、監視 (モニタリング) やロギングの基礎知識も必須です。
監視やログ分析に関する書籍は こちら の記事にまとめているので、是非ご覧ください。