ちょっと話題の記事

[資料公開] DevOpsとSREのために知るべき3つの原則 〜忙しすぎるエンジニアのための開発環境リファクタリングガイド〜 #devio2023

弊社のオフラインイベント DevelopersIO 2023 の、標題セッションで試用した資料を公開します。日々の開発サイクル(SDLC)もサービスの一部。ならば同様の手法、特にDevOpsの考え方のもとで「リファクタリング」しましょう、という内容になってます
2023.07.10

盛況のうちに閉幕しましたオフラインイベント。お暑い中多数のご来場をいただき、ほんとうにありがとうございました!

2日目 7/8 の 15:10 より、標題の 長すぎる タイトルのセッションで登壇しました。その時に資料を公開します。

開発環境」と銘打っていますが、運用がメイン担当であるエンジニアの方にとってもヒントになるものを盛り込めたのではないかなーと自負しています。 *1

内容

日々大切なアプリケーションを開発されている開発者の方々のなかには、開発基盤やパイプラインに何かしらの課題を感じている方も多いのではないでしょうか。
それらを一撃で吹き飛ばす特効薬「銀の弾丸」はもちろん存在しませんが、その一部は、ツールや手法・考え方の工夫次第で軽減できるものかもしれません。
状況の変化に合わせて武器や装備を整え直すRPG(ロールプレイングゲーム)のように、開発環境やパイプラインに改善の余地はないか、見直してみるのは如何でしょう。

本セッションは、この2月から6回に渡り開催しました既ウェビナー「忙しすぎるエンジニアのための開発環境リファクタリングガイド」をベースに、資料を大幅加筆修正したものとなっています。 *2

概要と解説

「忙しすぎるエンジニアとための」と銘打たせてもらったとおり、「日々の開発業務で忙しい中、如何にしてそのための『道具』をみがいていくか?」というテーマに対し、具体的なツールや手法ではなく「考え方・方針」と「そのための土壌(文化)」についてお話ししました。

発表にあたって、キーとなった考え方は以下となります:

  • 開発が忙しいのは分かる、でも環境そのものも定常的にアップデートしないともっと忙しくなるだろう
  • 開発環境に一番詳しく、問題も把握しているのは、現場で日々開発を行っている開発者の方々だ
  • 開発サイクルもサービスを構成する要因の一つであるなら、その改修も同様の手法が採れるはずだ
  • つまりそれって、開発環境・開発パイプラインの「リファクタリング」だよね?
  • その手法として最も好ましいのは「DevOps」、そしてそのフレームワーク「CALMS」だろう
  • そうであるなら、その改修は永続的なものではなく、最初から更新を念頭におくべきものとなる

「CALMS」というのは以下のキーワードの頭文字を並べたもので、名著「Accelerate」の共著者である Jez Humble 氏もその提唱に関わったひとりです。氏は、このフレームワークに「 Lean 」を加えることを提案した人物とされています。

CALMS フレームワーク | Atlassian

  • Culture
  • Automation
  • Lean
  • Measurement
  • Share

このなかで、ぼくは「 Lean (リーン)」が、忙しいなかでリファクタリングを進める根幹となる考え方だと思ってます。
Lean は DevOps 文脈のなかでは「大きく全体の流れを捉えたうえで、小さく実装し影響範囲を最小に抑え、素早く不具合を発見。迅速に対処しよう( Think big, act small, fail fast; learn rapidly」と定義されます。必要であればタスクを分解し、大きな一連の流れであったとしても小規模の改修から着手すべきと考えます。

そしてその実行手段としての Automation と、現状把握と効果測定のための Measurement についても、どちらも非常に誤解をされやすい用語ですというとで解説をいれました。

そしてその補完として、周辺事情や方法論・方策について、参考資料をあわせつつお話ししていった、という流れになります。

全体としては概念の説明に終始することになったので、具体的な方策を知りたかった方にとってはものたりない内容となってしまったかも知れませんが、一方で何名かの方にはポジティブなフィードバックも頂けました。
特に、セッション後のQ&Aや懇親会で声をかけていただいた方々、本当にありがとうございました!

クラスメソッドのお祭りはまだまだ続きます!

DevelopersIO 2023 東京は閉幕しましたが、このあと各地でも独自の内容で開催されます!
そちらもどうぞご期待下さい!!

脚注

  1. 一方で、タイトルに「 SRE 」と入れてしまったために、「もしかして運用メインのひとにしか響いていないのでは...? という懸念もあったりします
  2. 「ダイジェスト」というよりはディレクターズカット、あるいは再編集版と呼んだ方が適切だったかも知れません