2 min read

【紹介】『システム運用アンチパターン エンジニアがDevOpsで解決する組織・自動化・コミュニケーション』

【紹介】『システム運用アンチパターン エンジニアがDevOpsで解決する組織・自動化・コミュニケーション』
Photo by ZHENYU LUO / Unsplash

はじめに

システム運用のまとまった知見を獲得したいと本書を手に取りました。本書ではシステムを運用で直面する課題について原因を提示し、その解決方法のアプローチを提示しています。課題の領域はシステムそのものから開発、メンバー・チーム・組織とのコラボレーション、タスクの取り組み方まで多岐にわたります。

テストやデプロイワークフローを扱う5章・8章。開発者体験向上、ソフトスキルを扱う9章、10章、11章、12章が面白く、知見を得ることができました。

システム運用アンチパターン
上層部がDevOpsに理解のない組織で働き、組織構造を変える権限を持っていない開発者であっても、チームにDevOpsを導入するための現実的な方法を紹介します。重厚な承認プロセス、可視化されていない運用、プロセスの最後でのみ行われるソフトウェアテスト、ノイズだらけのアラート、インシデントから学習しない習慣、時間外のデプロイ、情報のため込みなどを取り上げ、ソフトウェアシステムの開発運用が滞るチームや組織に共通してみられる陥りがちな状況や犯しがちな間違いをアンチパターンとして紹介します。そして管理職やマネージャでなく、エンジニアが実行し、繰り返すことで改善できる具体的な行動を解説します。組織で必…

1章 DevOpsを構成するもの

2章 パターナリスト症候群

3章 盲目状態での運用

4章 情報ではなくデータ

5章 最後の味付けとしての品質

テストピラミッドを参考に、ユニットテスト・統合テスト・エンドツーエンドテストを紹介します。継続的デプロイと継続的デリバリに違いを説明し、DevSecOpsという文脈からシフトレフトについて紹介します。

6章 アラート疲れ

7章 空の道具箱

8章 業務時間外のデプロイ

機能の有効化やデータベースのマイグレーションなどデプロイのレイヤの紹介と、継続的にデプロイを行うための方法について説明しています。デプロイのレイヤでコードは先に配置し機能の有効化は分離して機能フラグで管理するなど。

継続的にデプロイすることによって恐怖を軽減させる効果やインシデント発生時の予行演習ができたり、データベースのスキーマを更新するときのアプローチも紹介しています。

9章 せっかくのインシデントを無駄にする

インシデントのポストモーテムを実施するとき、どのようなルール・ガイドラインを設定することで会話を本来の目的であるシステムの改善に集中できるか紹介しています。また会話の掘り下げ方やドキュメントの記載方法、アクションアイテムの作成などについても紹介しています。

10章 情報のため込み:ブレンドだけが知っている

情報の共有方法について紹介しています。ドキュメントの階層化

11章 命じられた文化

個人が文化を変えるとはなにか、採用候補者と企業文化の適合性について紹介しています。HRにも!

12章 多すぎる尺度

タスクのトリアージについて紹介しています。アイゼンハワー意思決定マトリックス(重要度/緊急度)のタスク割り当てや、コミットメントの引き受けについて。作業に取り組みにあたりタスクの細分化や予定外の作業の対応についても紹介しています。チームで開発するときに優先事項や目標を共有していないと大変だよねというのは共感。従業員とマネージャーの優先事項の再交渉のやりとりが記載されているのも大変参考になる。

おわりに

参照