見出し画像

読んだ本 2023年8月号

専門書を3冊読んだ。


SLO サービスレベル目標 ―SLI、SLO、エラーバジェット導入の実践ガイド

★★★☆☆
サービスレベル目標の概要や組織への導入などについて書かれていて、SLO, SLI がどういった考え方のものなのかが分かる。

概念的な説明が大半を占めている。実装や運用の例であったり、詳しい計算式などは実用に足るほどは書かれていない。文章量の割には得られる情報は多くなく、詳しくは他の書籍をあたるのがいいと思われる。

本書は17章3部構成になっている。

第Ⅰ部 SLOの開発
第Ⅱ部 SLOの実装
第Ⅲ部 SLOの文化

それぞれの部のタイトルは似ているが、内容もはっきりした区別がない。本書のはじめにには「すべての章を読むことを心からおすすめします」と書かれている。これは各章の内容と目的が明確に分かれていないことに起因して、本書の主張の全体を把握するためには全体を読む必要があるような構成になっているからだろう。

SLO についての計算観点の説明は 9章 SLIとSLOの確率と統計 のみである。ベイズ推定や分布についての説明があり、付録にも計算式の証明が書かれているものの、9 章の最後にもあるように詳しく学ぶためには他の書籍を参照する必要がある。

SLO を組織へどのように導入するかという説明については、必要な技術力を矮小化し、気持ちの問題に帰着させている箇所があり、これには同意できない。

読むことができ、数を数えることができ、単純な計画を作成して守ることができれば、誰にでもできることなのです。

SLO サービスレベル目標 6.5 p.115

本書で概要をつかんだ後に他の書籍で実践的な知識をつけるのがいいのだろうと思うが、本書は分量が多くテーマが分散しているので人を選ぶだろう。
8/10

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム

★★★★★
内容が網羅的で用語の解説も丁寧なので、SRE について知りたいと思った時に読む本としておすすめできる。

本書は 34 の章から構成されていて、さらに 5 つの部でまとめられている。

第Ⅰ部 イントロダクション 1章 ~ 2章
第Ⅱ部 原則 3章 ~ 9章
第Ⅲ部 実践 10章 ~ 27章
第Ⅳ部 管理 28章 ~ 32章
第Ⅴ部 まとめ 33章 ~ 34章

第Ⅱ部 原則 ではトイル、サービスレベル目標など、他の書籍でも SRE に関連して紹介される考え方についての詳しい説明があったり、モニタリングや自動化、コードの単純さなどについて書かれている。この部では技術的に込み入った内容の記述は少なく、概要を知るのに適している。
サービスレベル目標は『SLO サービスレベル目標』にも書かれているが、概要を掴むのであれば本書籍でも十分だと感じた。

第Ⅲ部 実践 では、ロードバランシングに関する章では分散合意アルゴリズムや異なる環境におけるロードバランシングについてなど技術的な内容が書かれていたり、モニタリングシステムである Borgmon やポストモーテム、ローンチチェックリストなど様々な取り組みについて紹介されている。
ポストモーテムはテンプレートも掲載されていて、参考になる。分散合意アルゴリズムについては『データ指向アプリケーションデザイン』に詳しく書かれていて、併せて参照すると役に立つ。

第Ⅳ部 管理 と 第Ⅴ部 まとめ には組織的な話や運用観点の話が書かれている。

全体を通じて情報量と詳細な説明のバランスが取れていて、すぐには導入できない技術的な箇所はあるにせよ、文化的だったり組織の仕組み的な部分は短期的にも参考になる記述があり、とてもいい本だった。
8/26

セキュアなソフトウェアの設計と開発

★★★★☆
アルゴリズムや難しいプログラムの記述がなく、説明のほとんどが日本語でされているため、セキュリティに詳しくなくても読み進められる。低レベルのプログラムからWebブラウザ上の話まで幅広く扱っていて広範囲な話題に触れられる一方で、実用に足る程度の深い理解をするためには他の書籍などに頼る必要があるだろうと感じた。

本書は大きく3部構成になっている。

第1部 コンセプト
 第1~5章
第2部 設計
 第6~7章
第3部 実装
 第8~13章

第1部 コンセプト では C-I-A(Confidentiality, Integrity, Availability) やゴールドスタンダード(Authentication, Authorization, Auditing), STRIDE などの考え方、セキュリティ上推奨されるパターンやアンチパターン、暗号技術における証明書や鍵の役割の概要などが説明されている。

第2部 設計 ではセキュリティを意識したソフトウェアの設計やレビューの観点や方法について書かれている。

第3部 実装 ではメモリ割り当てやオーバー(アンダー)フローなど低レベルな領域の欠陥、インジェクションやWebのセキュリティについて、セキュアな開発のプラクティスなどについて書かれている。
本書にはセキュアなコーディングをする上での低レベルな注意点が書かれている一方、セクション「セキュリティ機能の車輪の再発明はしない」に書かれている観点は重要だと感じた。

潜在的なセキュリティ問題をライブラリやフレームワークで一度に解決することが、たいていは最善なのです。

セキュアなソフトウェアの設計と開発 13.2.3 p.312

直接的にセキュリティ上の課題に取り組むわけではなくとも、日常の業務の中でセキュアな成果物を作るために本書に書かれているような意識は持っておきたい。

媒体については、Kindle 上での操作に一部制約があるので紙の本を購入してメモをしながら読み進めるのがいいだろうと思う。
8/31


この記事が気に入ったらサポートをしてみませんか?