組織やサービスが大きくなると顕在化する3つの課題
スタック全体をモニタリングし、デバッグし、改善するなど、よりよいソフトウェアの構築に役立つオブザーバビリティプラットフォーム「New Relic」。New Relicを活用し、スケールする組織の課題の解決に取り組んでいるのがディップである。
まず、ディップの事例を紹介する前に、New Relic 技術統括 コンサルティング部 シニアソリューションコンサルタントの会澤氏が登壇し、スケールする組織に最大の効果を発揮する意思決定について解説をした。サービスや組織が大きくなると「ツールのサイロ」「データのサイロ」「人・組織のサイロ」という3つのサイロが発生する。
「人が増えるとロールがわかれてサイロ化するので、ツールが乱立する。ツールが乱立すると集まるデータもツール依存となり、散在する。データがツール依存になると、人や組織も自分だけがそのデータが見えれば良いというマインドが醸成されてしまう。このような状況を放置させると、サービスや組織のスケールを阻害する可能性があります」(会澤氏)
この3つのサイロの発生には「意思決定の粒度が関係している」と会澤氏は語る。一般的にサービスは、ビジネス企画、フロントエンド、バックエンド、インフラというロールで構成される。意思決定は次のようなパターンが考えられる。最も粒度の小さいパターンが、サービス&ロール別の意思決定。意思決定スピードが速い、スモールスタートがしやすいメリットがある一方、サービスやロールをまたいだ分析ができないデメリットがある。2番目に粒度が小さいパターンがロール別の意思決定である。同一ロール観点の横断的分析ができるというメリットはあるが、ロールをまたいだ分析ができないというデメリットがある。3番目に粒度が小さいパターンがサービス別の意思決定。メリットはロールをまたいだ分析ができること。
一方、デメリットはサービスをまたいだ分析ができないこと。最も粒度が大きく、会澤氏がお勧めするパターンが全社統一の意思決定である。先に紹介したすべての課題を解決できるだけではない。「その組織の中で働くエンジニアがチャレンジしやすい文化、ボトムアップの文化も生まれやすくなるというメリットも得られます」(会澤氏)
とはいえすべての組織において、全社統一の意思決定が良いと主張したいわけではない。「それぞれのメリット・デメリットを理解した上で、サービスのフェーズや規模に応じて意思決定のパターンを選択していくほしい」(会澤氏)