PlatformCon 2023、今回は「Standardization and security, a perfect match」というセッションをご紹介します。
いきなりですが感想
こちらのセッション、非常に興味深い・面白い内容でした。なんとなくわかっていた部分ではありますが、あらためて言われると「確かにそうだようなー」という内容でした。
標準化の必要性
プログラミング言語や実行環境、各種ツールなどを見ると、今は本当に多種多様な選択肢があります。なんでも選べて非常によい時代だなーと思うかもしれません。でも、本当にそうでしょうか?
人間、あまりにも多くの選択肢を提供されると、どれを選択してよいかわからなくなります。その選択をする行為そのものが認知負荷になってしまうのです。また、システム開発ツール等の選択肢があまりにも有りすぎると
- システムが複雑になりやすい。チーム間で同じものがないため、いつもチャレンジをしてなければならなくなり、複雑度も増していくということが考えられます。
- セキュリティ上の問題。セキュリティ上のリスクはツールや言語それぞれに必ずあるものです。選択肢が多くあり、そこから様々なものを採用している状況はセキュリティリスクも高まることになります。
- スキルギャップ。チーム間で共有するナレッジも少なくなり、新規加入メンバーは必ずイチから学習しなければならないといったことも発生します。
チームにとって、人間にとっては有りすぎる選択肢は実はあまり良くないのです。
では、組織で選択肢を狭めるようツール等の標準化を行うとどうなるでしょうか。
標準化がセキュリティ向上に役立つ
採用する要素が多ければそれだけセキュリティリスクも高まります。では逆にある程度絞ったらどうでしょうか。 検討しなければならないセキュリティリスクも必然的に減りますし、またチーム間でさまざまな情報を共有できるようになるため、セキュリティ上の懸念事項や対策方法なども共有しやすくなります。
ソフトウェアサプライチェーンセキュリティに対する対応も利用するものが増えれば増えるほど、検討しなければならなことが増え、それがセキュリティ上の弱点にもなり得ますし、なによりセキュリティ確保のためのコストがどんどん増加してしまいます。
そのように考えれば標準化はセキュリティに資する側面は多くあるのです。
課題は???
もちろん標準化をしすぎる、また標準を変更しないというのは問題が多くあります。 システム設計同様ツール等の選定は必ずトレードオフがあります。また、時代とともに技術も更新されていきます。これまで使っていたものよりも新しい技術のほうがよりよいものとなることは十分に考えられます。 このため、定められた標準は絶えず「それを維持するためのコスト」「新しい技術を適用するコスト」などのバランスを考え、更新し続けることも必要です。
この発表された方は、実際に標準化で成果を挙げているようです。 個人的にはあまり制限されると嫌だなーと思うことが多かったのですが、こうしてあらためて功罪をまとめられるとなるほど納得な部分は多くあります。
こうした標準化も組織的なPlatform Engineeringのひとつの取り組みになりえるのだなとあらためて認識をしたセッションでした。