「自由」がゆえに「複雑」になったクラウド/OSS時代をどう生きるか?
1940〜50年代に活躍した映画監督オーソン・ウェルズは、「制約がないことが、創造の敵になる」という言葉を残した。これは芸術において「制約は必ずしも悪ではない」ということを意味するが、ソフトウェア開発者にとっても同じではないだろうか。
町田氏は、まず現代の開発者が獲得した自由と、その結果生じた新たな課題について整理する。
現代のITシステムはとても複雑だ。オンプレミス、クラウド、OSS、SaaSといった複数の技術領域が絡み合い、その組み合わせの選択肢はレゴブロックのように増え続けている。自由度が高まったことで、スピードや柔軟性の面では大きなメリットが生まれる一方、それぞれの技術を理解し、使いこなすための認知負荷も増大するばかりだ。各領域でベストプラクティスやブループリントの整備は進んでいるものの、ベンダー固有のIAM設定や監視体制、運用ルールなど、理解しなければならない前提条件や作法は、かえって増えてしまった。
さらに、オンプレミスやマルチクラウドなど複数の環境を使い分けることが当たり前となり、環境間の差異や複雑性が増大した結果、原因の切り分けが困難なトラブルが増加している。例えば障害が発生した際、影響範囲の特定も難しくなり、対応の長期化を招いてしまう。その結果、サイロ化の進行を招くとともに、安定的な運用を維持することも難しくなっている。
このような複雑性は、開発者にも悪影響を与えている。本来、開発者のミッションは、ユーザーに対していかに早く継続的に価値を届けるかという点にあるはずだ。しかし、開発者は「何を選べばいいのか」「どう構成すればいいのか」「この選択は本当に正しいのか」という運用面での判断を常に迫られている。こうした判断の積み重ねが、開発者にとっての大きな負担になっている。
さらに深刻なのは、人材の供給が追いつかないことだ。複数の環境を横断的に見られる人材は希少化し、一部の高スキル人材にレビューや障害対応が集中。結果として、対応にかかるリードタイムが延びてしまう。しかし人材の育成と供給は一朝一夕にはいかないため、慢性的な人材不足が続く。こうした現場の疲弊は、個人の能力の問題ではなく、利用するサービスや技術が細分化・多様化した結果であり、環境の構造やアプローチの問題だと、町田氏は指摘する。
そこで町田氏が勧めるのが、こうした混沌とした状況を制御するために、一定の制約を設けることだ。
「技術的な選択肢が数多く存在するからこそ、その自由度の高さがかえって迷いを生み出し、開発者が本来の生産性を発揮する妨げになっています。そこで、環境に依存しない共通の運用作法を整備するとともに、開発者向けの推奨ルート(Golden Path)を定めることで、開発者が運用面で煩わされる負担を減らすことが必要です」(町田氏)

