失敗したプラットフォームにならないための考え方
このような共通プラットフォームを作ろうという考え方は、特段目新しいものではありません。筆者も10年ほど前になりますが、社内共通プラットフォームを作るプロジェクトの開発メンバーでした。また、プラットフォーム製品の導入を支援するプロフェッショナルサービスと呼ばれるロールに就いていた際にも、様々な企業における共通プラットフォームの構築プロジェクトに関与していました。
ある程度の規模がある企業であれば、一度はこのようなプロジェクトが持ち上がるのではないかと思います。
ですが、そういった共通プラットフォームが、構築完了後も継続的にアップデートされ、利用され続けているケースは驚くほど少ないのが現状です。多くのプラットフォームはそのうち使われなくなり、アップデートもされなくなり、消え去ってしまうものです。
なぜ共通プラットフォームは上手くいかないのでしょうか。それは、プラットフォームを「正しく」作ることができなかったからだと考えています。
Platform Engineeringでは、単にプラットフォームを構築するだけではなく、それを「正しく」「作り続ける」ために必要な視点を提供しています。
一言で正しくといってもさまざまな観点が考えられます。例えば、社内の開発者が求めていないプラットフォームになっていれば、それは「正しくない」プラットフォームといえるでしょう。オンボーディングやルールが複雑で利用するまでに多大なコストがかかってしまうのであれば、それも正しくありませんね。プラットフォームの構築はできたものの、社内の偉い人から理解が得られず予算が確保できなくなり、運用に支障が出てしまった。それも、正しく社内政治ができなかったからといえるでしょう。
Platform Engineeringは、技術だけに留まらず、開発者とのコミュニケーションや優先順位の付け方、社内マーケティングの重要性、エグゼクティブに理解して貰うための価値の見せ方など、組織論的なアプローチから泥臭い領域まで幅広くカバーする概念です。これは、日本だけではなく世界中でプラットフォーム作りに失敗してきた知見と反省が積み重なって出来上がったものだと考えています。
おわりに
今回は、Platform Engineeringとは何かと、登場の背景について紹介しました。開発者が使う技術の選択肢が増え「認知負荷」が高い状況にあるなか、Platform Engineeringは期待されている概念ということがお分かりいただけたのではないでしょうか。同時に「共通プラットフォームを作る」というと新しい概念ではなく、以前から泥臭く取り組んできたことだということもお伝えできたかと思います。
ですが、全てがこれまでの焼き直しというわけではなく、プラットフォーム作りを成功させるための新しい考え方も盛り込まれています。次回は、これまでのプラットフォームと何が異なるのか、および、SREなどとの違いを解説します。