エピローグ — 世界観を持ったエンジニアリングへ
エピローグ — 世界観を持ったエンジニアリングへ
分散システムの本を書くとき、最初に出てくる誘惑のひとつは
「一番かっこいいアルゴリズムから語りたい」
だと思います
新しいコンセンサスアルゴリズム、
スケールするキューイング、
きれいなイベントスキーマ
でも、本シリーズで延々とやってきたのは、むしろ逆でした
- 「どのアルゴリズムを使うか」より前に
- 「それはどの世界で使うのか?」を決める
という話ばかりです
1. 「世界観」を持つ、という話
このシリーズのタイトルに Worlds を入れたのは、技術本というより
分散システムに対する「世界観」をインストールしたい
という意図が大きかったからです
- コードを書くとき
- API を設計するとき
- アラートを設定するとき
- 利用規約を書き換えるとき
- インシデントに対応するとき
それぞれの瞬間に、頭の片隅で
「いま自分は、どの world のことをいじっているんだろう?」
と一瞬だけ考えてもらえたら、このシリーズの役目の半分は終わりです
2. 「正しい答え」ではなく「正しい問い」を
RML-1/2/3 というラベルも、
Runbook / Playbook も、
Effect Ledger も、事件簿テンプレも
どれも「こうしなさい」という意味で出しているわけではありません
- 会社によって
- ドメインによって
- 法制度によって
- チームのスキルセットによって
最適解はまるっと変わります
この本が提供できるのは、せいぜい
「これを一度は検討してみた方がいい」という問いの形
くらいです
- 「この機能、本当に RML-2 止まりでいいんだっけ?」
- 「このインシデント、History World に載せておかなくて大丈夫?」
- 「この ToS の文言、エンジニアチームは理解した上で設計してる?」
といった問いが、日々のレビューや雑談の中にひょいっと紛れ込んでくれたら、それだけでこのシリーズの価値は十分だと思っています
3. それでも現場は「とりあえず動かす」が必要で
もちろん、現実の現場では
- まず PoC を出さないと会話が始まらない
- 売上を作らないと組織が持たない
- きれいな設計より、とりあえずのパッチが必要な瞬間もある
というのも、痛いほど分かります
RML の話は、そういう現実に対して
「だから構造とか世界観とか考える暇なんてないんだよね」
と否定するものではなく、
「とりあえず動かすなら、どの世界を犠牲にしてるのかだけは自覚しておこう」
という小さな提案です
- RML-1 に閉じ込めて動かしているのか
- RML-2 まで影響が広がっているのか
- もはや RML-3 まで踏み込んでしまっているのか
この自覚があるとないとでは、「やらかしたとき」のダメージと学び方が、かなり変わります
4. あなたの現場バージョンの RML を作ってほしい
本の中では、便宜上
- RML-1 / RML-2 / RML-3
- History World / Dialog World / Closed World
というラベルを使ってきましたが、
別に名前はなんでも構いません
- Level A / B / C でもいいし
- World α / β / γ でもいいし
- もっとドメインに合う名前(「社内世界 / 顧客世界 / 社会世界」とか)でもいい
大事なのは、
「自分たちのプロダクトと組織にぴったりくる世界観の言葉を持つ」
ことです
この本の内容を、そのまま持ち込む必要はありません
- いくつかの概念を削ってもいいし
- 別の世界を足してもいいし
- 章ごとに好きなところだけつまみ食いしてもいい
むしろ 「自分たちなりの Worlds of Distributed Systems」を作ることが、本当のゴールです
5. これから書き足される「第12章」以降
本としての章立ては、第11章で終わりですが、
実際にはここからが本番です
- どこかの会社の設計ドキュメントの中に、
- どこかのインシデントレポートの片隅に、
- どこかのワークショップのホワイトボードに、
RML だったり、
History World だったり、
Runbook / Playbook のテーブルだったりが、
少しずつ姿を変えて再登場してくれたら嬉しいです
その一つひとつが、
あなたの現場にとっての「第12章」「第13章」になるはずです
6. 最後に
長いテキストにここまで付き合ってくれたあなたは、おそらく、
- 分散システムの細かい挙動だけでなく、
- その裏にある「責任」や「歴史」や「組織」の話まで気にしてしまうタイプ
だと思います(いい意味で)
そんな人がひとりでも多くいる現場は、たぶん、世界観のある良いシステムに育っていきます
この本が、その「ちょっと気にしてしまう視点」を少しだけ言語化する役に立っていたら、著者としては本望です
それでは、あなたの現場の Worlds of Distributed Systems が、 いい感じに育っていきますように
Discussion