天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

システム運用アンチパターン - Forkwell Library #4に参加してきた

forkwell.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

エンジニアのキャリアを全力で応援する、エンジニア愛に溢れた転職サービス「Forkwell」。  これまで Forkwell のイベントで登壇されたエキスパートの方々は、先達が記した書籍から「気づき」を得て実践し、振り返り、再現性のある「学び」として身に付けていく中で、実績を築いてこられました。

しかし、日々限られた時間の中で知識や情報をアップデートし続けるのはそう簡単ではありません。 Forkwell Library では、著者・訳者・実践者らを登壇者として招き、そんな思いを抱えた開発者の皆さまが「学びのきっかけ」を得られる勉強会を目指します。

今回の第4回目では2022年4月に出版され、一躍人気書籍となった『システム運用アンチパターン』を取り上げます。翻訳者である田中 裕一氏をお招きして明日から権限がなくとも実行出来るアンチパターン解決アプローチを伺っていきます。

また、事例講演として株式会社Algoage CTOの安田 洋介氏を迎えて、少数組織におけるDevOpsについてお話をいただきます。

会の様子

システム運用アンチパターンが書かれたきっかけ

世の中が、ユニコーン企業と自社を比較して失敗する企業が多いことや、ユニコーン企業が普通の企業と全然違ったコンテキストで行っていることがベストソリューションとされているような風潮に問題意識を持って著者が本書を出版したというエピソードを紹介してくれました。

パターナリスト症候群

問題を解決するために、問題が起きた事象(例えばデプロイなど)に関与できる人を減らすような解決策に陥るパターナリスト症候群の話をしてくれました。

パターナリスト症候群に陥らないようにするための手段としては、本書だと自動化が挙げられているのですが、訳者の田中さんは、この自動化が単なる効率化やミス防止でされているわけではない点を気に入っているそうです。
具体的にいうと、待ち時間・実行時間・実行頻度・実行のばらつきという風に自動化の観点を細分化した上で、マネージャーをはじめとしたチームメンバーに説得する際にはただ「自動化したい」というのではなく、この細分化した観点で話をするといい旨が書いてあるのが、良いということです。

これは痛いほど経験がある話なので、めちゃくちゃ共感できる話でした。

アラート疲れ

良いアラートとして、

  • 行動可能
  • イムリ
  • 優先順位づけがアラートの中でもされている

の特徴が挙がっていました。

こうしたアラートを作るためには、ユーザーやビジネスの観点からアラートを考えることが必須で、そう考えるとプロダクトに関わるすべてのチームによる協力が必要だよね、というお話をしてくれました。

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

システム運用アンチパターンの内容を実践しているAlgoageの安田さんからどのように実践しているお話がありました。

単体テストでなるべく早い段階でリスクヘッジをして、E2E testを最低限に抑えることが運用段階でのバグ発生を減らせるといった話やシステムの状況を見える化しようという話など基礎を忠実に守った実践事例から、自動化のコストを検討した結果あまりにも高い場合はまずはダブルチェックなど機械に頼らず低コストでできるパッチ的な対応をするなどといった現場の事例など、バランス良い話が聞けました。

本書で書かれているような内容を実践するために、文化の醸成に寄与した人の評価が高くなるような評価システムを活用したり、採用段階で文化とのマッチ度を最重要要素としているというお話も併せてしてくれました。

Q&A

以下からは、Q&Aで話されていた内容を常体+箇条書きで記載していきます。

DevOpsで運用を実践しているのだが「こういう時はこうする」という条件分岐が多すぎて覚えるのがしんどい
  • アラートの文面に徹底的にこだわる。ドキュメントリンクを貼るとか。改善はもしいるならオンコール担当がやるといいと思う。(アラートを見る人が良いアラートに一番詳しいと予想されるため)
作業手順書の自動化(承認プロセスの自動化)が難しい
  • 承認が明確な基準に向いている場合はその基準を自動化すればいいと思うのだが、特に基準は持たずヒューリスティックに承認に携わっている場合は難しい。こういう時は、承認プロセスを自動化しつつも既存の人がやる承認プロセスも残し、自動化した承認プロセスの承認結果と人がやる承認プロセスの承認結果が一定期間一致し続けたら、その結果をもとに自動化を提言すると良いかもしれない。
  • 承認者を固定化せずにダブルチェックするところからスタートしてもいいかもしれない。承認者が複数いれば、権限移譲が進みつつ経験が様々な人に蓄積され、自動化のヒントも得られる。
  • まずはチャットで承認がされたことや、承認する過程を見える化するようなところから自動化してもいいのでは。
オンコール担当を賃金や代休で守ることは実際に日本でされているのか?
  • 正直よくわからないが、労働時間管理をマネージャーが握っているとかはあまりないと思う。
  • 正直よくわからないが、代休を自社では取り入れている。
Algoageで価値観共有するためにやっている具体的な話を聞きたい
  • マネジメント勉強会
  • 相手を思いやる
  • 価値観を言語化して、共有する

会全体を通した感想

講演者のお二人とも説明がわかりやすくて、内容がすっと頭に入ってくるイベントでした。事例と理想の噛み合わせが聞けたのも、いつもながらよかったです。

運用の苦悩が改めて思い出される会でした笑