Paper2 Blog

ともに、かける

システム運用アンチパターン

概要

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

O'Reilly Japan - システム運用アンチパターンより引用。

批評(全体)

テクノロジ業界に20年以上勤める著者(Jefferyさん)の長い経験に基づき、現実も踏まえた上でのDevOpsの理想や具体的な実践方法が述べられており、とても良い書籍でした。著者が組織にDevOps文化を浸透させるために様々な試行錯誤をしてきたことを随所で感じました。理想を語るだけでなく、よくある現実とのGAPにまで言及されていることはこの本と一つの特徴かと思います。DevOpsの文化により組織を変革したい開発者や、これからDevOpsの文化を前提とした組織を作りたいと考えている方には特におすすめの一冊です。

批評(詳細)

詳細な良かった点やおすすめポイントを紹介します。

貴重な追体験ができる

本書により、DevOpsの導入や実運用の追体験ができるのは大きな利点だと思います。

企業の応募要項に「X年以上の経験」と記載されているように、良い設計をするためには実務経験が重要視されます。「経験」とはそれほど重要なのです。

当然企業としては「経験年数」自体には興味がなく、「その人が経験に基づいて最適な設計をし、継続的な改善をしていけそうか」などに興味があります。それを効率良くフィルタリングするのが経験年数なのだろうと推測しています。つまり本質的に重要なのは年数ではなく、「経験」とそれを活かすことなのです。

本書は「運用」や「DevOpsの実践」経験を著者の経験や豊富な例により追体験することが可能です。十分に経験を積めていないという方の補助となりうる一冊なのではないかと思っています。例えば、「アラートを注意深く設定すべき」という主張に対して、(おそらく)筆者の経験を踏まえた例が添えて解説がされています。

一度アラートを作成すると、そのアラートは削除してはいけないという考えが人々に植え付けられるからです。オンコールスタッフを悩ませる未知の深い心理的トラウマのために、アラートを削除するように説得することはほとんど不可能です。人々は「そのアラートが正しかったことがあるでしょう!」と昔の話を持ち出し、そのほかの1500回はそのアラートが間違っていたという事実を無視してしまうのです。

このような経験を自身が実践する前から得られるのは大きな利点ではないでしょうか。

具体的な指針が記載されている

全体的に具体的な実践の指針や方針が記載されています。そのため、自身の組織で実践する上で参考になるのではないでしょうか。特に6章オンコール対応や9章ポストモーテムについてはこれから実践したいと考える組織も多いと推測しています。本書を参考に、まず実践できるところから始めてみるのはいかがでしょうか。

例えば、良いアラートの特徴として以下を挙げています。(以下リストは本文より引用)

  • 行動可能である
    • アラートをトリガする際、何が問題でどう解決するのかについて道筋を示すべきです。
  • イムリーである
    • アラートをトリガするタイミングは、5分待てばそのアラートが自然に解除されるかもしれないような時ではなく、すぐに調査する必要があると確信した時であるべきです。
  • 適切に優先順位が付けされている
    • 忘れがちですがアラートは必ずしも真夜中に誰かを起こす必要はありません。発生していることを認知すれば十分なアラートは、メールなど優先順位の低い通知方法に変更しましょう。

これらの特徴を踏まえ、アラートの作成指針がより詳細に記載されています。

文化の作りの参考となる

著者はDevOpsは情報技術よりも組織文化やソフトスキルの方が重要と述べています(比較の話で、当然技術も重要と述べています)。

その上で11章では文化の構成要素と、各要素に影響を与え文化を形成する方法について述べられています。私もとても共感する部分が多く、文化や組織作りに興味のある方にはおすすめです。

特に気付きを得たのは以下の文です。

習慣の力を利用して、チームメンバーの間で共有される行動を作ることができます。

私もSREプラクティスをチームで実践する中で、習慣から文化が形成されていくことを経験したことがあります。自身がぼんやりと経験していた内容が、文化作りに関しての重要な経験だったことに気づけたのは良かったです。これにより汎用的な手段として今後も活かしていけると考えています。

ちなみに本書では習慣作りにおいても、目的や期待するアウトプットを事前に定義するなどの具体的な指針が記載されています。

まとめ

著者のDevOpsに関する経験を追体験することができると共に、現実と理想を合わせて理解でき、気付きが多い一冊でした。DevOpsの文化により組織を変革したい開発者や、これからDevOpsの文化を前提とした組織を作りたいと考えている方は是非読んでみてください。