はじめに
2024年12月20日、某社の社内イベントでNoOpsを提唱した一人、川崎 庸市さんに講演していただきました。
プログラマーのためのVisual Studio Codeの教科書の著者の一人で、当日サイン✍️をいただきました。
前回(2021年1月13日)のイベントではNoOpsを提唱したもう一人、岡 大勝さんに講演していただき、NoOpsを実践中の「ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来」の話をしていただきました。
Software Designで2024年5月〜12月まで「レガシーシステムの攻略プロセス」というタイトルで、ZOZOTOWNリプレイスの連載が掲載されていました。
毎月開催している輪読&座談会でも定番の話題でした。
今回はNoOpsを実践したその先、「走り続けるための技術(仮)」について語っていただきました。
NoOpsとは
NoOpsは「No Uncomfortable Ops」の略称で、システム運用の効率化と自動化を目指す取り組みです。システム運用における「うれしくない」作業や手動の介入を最小限に抑えることを目的としています。
現在地とその先の課題
川崎氏自身の過去のNoOps活動とその経験から得た、システム開発・運用における持続可能な方法論について語られました。当初はオペレーションの自動化・最適化による「うれしくない作業の削減」と捉えていたものの、実践を通してビジネス視点やコスト、組織の継続性の重要性に気づき、その考え方を改めた経緯が説明されました。
講演では、技術的なアプローチに加え、ドキュメント作成の重要性、不要な機能開発の抑制、そして80点主義による持続的な改善という3つのキーポイントが強調され、長期的なシステム運用における成功のための新たな視点を提示しています。
技術中心から組織・文化へ
NoOps活動を継続する上で、3つのキーワードが示されました。
ドキュメントを最新の状態に維持し続けるのは大変です。
また、システムやプラットフォームを更新する時に、過去の意思決定の記録(ADR = Architechture Decision Record)が残されていることが重要とのことでした。
また、ついつい良かれと思って不必要なオプションや機能を実装しがちですが、必要になるまで作らないガマン(YAGNI = You ain't gonna need it)の原則について教えていただきました。
そして、80点(≠合格点)を目指す合理性についても示唆に富んでいます。自動化100%を目指す目標(現在地は90%)は改めるべきだと決意しました。(100%に近づくにつれて難易度が高くなったり、実行される機会が滅多に発生しない)
さいごに
イベント当日は講演後に質疑応答が行われ、ここでは書けない話題も多かったのですが、講演の本編部分については一般公開の許可をいただきましたので、みなさまのNoOps活動のお役に立てば幸いです!