開発チームのベストプラクティスとコンポーネントを一元化するプラットフォームエンジニアリングは、DevSecOpsのプラクティスとフレームワークが組織全体に組み込まれるようになるにつれ、さらに注目を集めています。また、デベロッパーにワークロードの大部分で最適化された「ゴールデンパス」を提供し、それ以外では例外を柔軟に定義してデベロッパーのワークフローを正規化・標準化することがプラットフォームエンジニアリングの目的とされています。
Gartner®は、「2022年の45%から上昇し、2026年には大規模なソフトウェアエンジニアリング組織の80%でアプリ配信のための再利用可能なサービス、コンポーネント、ツールの内部プロバイダーとしてプラットフォームエンジニアリングチームが確立される」と予測しています[1]。プラットフォームエンジニアリングは、組織(特に多くのエンジニアリングのイニシアチブが並行して行われている大規模な組織)がDevSecOpsの原則とツールをより簡単に拡張できるようにするものです。低コストで多くのことを成し遂げるようプレッシャーを受けている企業では、このアプローチは非常に重要となります。
プラットフォームエンジニアの主な利点
**市場投入のスピードを加速:**プラットフォームエンジニアリングは、組織が高品質のソフトウェアをより速く、費用対効果の高い方法で提供できるよう支援します。大規模な組織がプラットフォームエンジニアリングチームを構築することで、ツールを減らして迅速に作業を進めることで大幅なコスト削減が可能になるなど、長期的なメリットが見込めます。
セキュリティとコンプライアンスのリスクを軽減: ツールを減らしてワークフローを正規化することで、組織のコンプライアンスオーバーヘッドと潜在的なアタックサーフェス(攻撃対象領域)を軽減できます。データ侵害のコストに関する調査 2024年によれば、2023年の世界平均のデータ漏洩コストは445万ドルでした。そんな状況にあっても、アタックサーフェスを効果的に管理している組織はより迅速に漏洩を封じ込めることができます。
デベロッパーエクスペリエンスの向上: DevExは、企業が最高のデベロッパー人材を引き付けて維持することができるよう、優先度が高まっています。プラットフォームエンジニアリングチームは、効率的で自動化されたワークフローやゴールデンパスを構築し、デベロッパーのワークロードから手作業の無関係なタスクを取り除くことで、デベロッパーのエクスペリエンスを向上させることができます。これにより日々の作業が簡素化され、アプリケーションを効率的にビルド、テスト、デプロイし、よりインパクトのあるビジネスクリティカルな作業に集中できるようになります。
プラットフォームエンジニアリングのベストプラクティス
まず文化を変える
「プラットフォーム」が私たちが構築する必要があるものなら、「エンジニアリング」はそれを構築する方法です。多くの組織が、導入を成功させるための組織文化を進化させるかを検討せずに、テクノロジーの購入や導入に踏み切っています。プラットフォームエンジニアリングチームは、デベロッパーを顧客、自身をプロダクトオーナーと考えて行動します。デベロッパーのニーズを理解するためのディスカバリーの実施や、提供されたリソースでの成功のためにエンドユーザーとやり取りをする必要があります。これには内部マーケティング、コミュニケーション、カスタマーサポートのスキルが必要ですが、多くの場合、技術チームには欠けている要素です。
ここで重要なのは、製品志向の考え方と文化です。プラットフォームエンジニアリングチームは、ユーザーのフィードバックに耳を傾け、製品(デベロッパー向けプラットフォーム)を継続的に反復・改善することで、エンドユーザー(デベロッパー)のために価値を生み出すことに集中できます。リーダーは、チームメンバーが特定の(内部)顧客を支援する方法を模索するための環境を作る必要があります。セルフサービスインターフェースやプログラム可能なAPIを介し、ユーザーがサービスをできるだけ簡単に利用できるようにすることに重点を置きます。
ビジネスバリューの提供に集中
プラットフォームエンジニアリングを開始すると、組織は非常に生産性の高いチームを見て、その真似をしたくなるかもしれません。開始当初はチームの構造や使用するツールに重点が置かれすぎることがよくありますが、多くの場合、こうした要素は生産的なチームによって生み出される成果であり、最初に構造やツールありき、というわけではありません。リーダーは、チーム構造やツールではなく、求めるビジネス上の成果に焦点を当て、その目標を達成するための適切なツールとチーム構造を特定する必要があります。
ビジネスインパクトの観点から、プラットフォームエンジニアリングの目標を定義しましょう。ソフトウェアを迅速に開発することは素晴らしいことですが、なぜそれが必要なのでしょうか?どのようなビジネス目標に役立つでしょうか?
たとえばスピードと俊敏性の向上は一般的な目標ですが、その背後には複数のビジネス目標が隠れている可能性があります。市場投入までの時間が遅い場合、どの製品を優先させるかについて難しい選択をしなければならず、機会コストの問題が発生します。より迅速に動くことができる組織は、急速に変化する市場に対応する準備も整っています。セキュリティインシデントが発生した場合、組織は迅速かつ効率的に対応できなければなりません。
一般的な生産性と効率の指標は参考になりますが、リーダーはビジネス価値を明確にするため、指標をドルの価値に変換してみる必要があります。たとえば、プラットフォームエンジニアリングによって、新人のデベロッパーが本番環境への最初のコミットメントを実行するまでの時間を短縮できたとします。この場合、組織はそのデベロッパーの1年目の給与の特定の割合と、オンボーディングを支援する社内の人材の給与の一部を節約できます。組織はまた、定着率を高め、コストのかかる雇用のニーズ(広告、リクルーター、長期面接サイクルなど)を減らす可能性があります。
リーダーは、適切な結果を推進するためにビジネス価値に常に焦点を当てることで、プラットフォームエンジニアリングのイニシアチブを最適化できます。
測定可能な状態を保つ
プラットフォームエンジニアリングチームの進捗状況を追跡し、デベロッパーが提供されるサービスをどのように使用しているか(または使用していないか)を理解するのに役立つ指標を設定することが重要です。これにより継続的な改善が可能になり、成功の領域や追加リソースの必要性の特定や社内のマーケティング活動に役立ちます。
考慮すべき指標には次のようなものがあります。
-
**導入率:**プラットフォームを積極的に使用しているデベロッパーの数
-
**価値創出までの時間:**新しいデベロッパーがプラットフォームでコードのデリバリーを開始するまでにかかる時間
-
**コミュニティのエンゲージメント:**プラットフォーム内のコンポーネントのうち、コミュニティによって提供されたものの割合(例:あるチームが他のチームにも役立つような新しいCIジョブを開発した場合に、それをプラットフォームエンジニアリングチームと共有してより広範な適用とメンテナンスを行うかなど)
すべての人を念頭に置いたビルド
デベロッパープラットフォームの早期導入者は、プロセスの初期段階で最も目立ち、声も大きくなりがちです。ただし、早期導入者(通常は組織の20%未満)は、最終的にプラットフォームを活用するほとんどのユーザーとは非常に異なるニーズを持っている可能性があることに注意しましょう。組織にとって理にかなったゴールデンパスを定義する際には、早期導入者だけでなく、大多数の人を念頭に置いてビルドする必要があります。
早期に投資する価値のある一般的なゴールデンパスの1つに、1つのターゲットプラットフォーム(Kubernetesなど)で特定のタイプのワークロードをサポートするエンドツーエンドのCI/CDパイプラインがあります。この基本的なワークロードがサポートされれば他のワークロードにとっても強力な基盤となり、プラットフォームが価値を提供できるという確信が得られます。ビジネス上の成果を生み出す、組織が優先するゴールデンパスを定義しましょう。
DevSecOpsプラットフォーム:プラットフォームエンジニアリングの基盤
DevSecOpsプラットフォームは単一のユーザーインターフェース、統一されたデータストア、DevSecOpsライフサイクル組み込みのセキュリティを提供するものです。DevSecOpsプラットフォームを使用すると、組織はソフトウェア開発プロセス全体に対応するWorkflow·as·a·Serviceを活用して、プラットフォームエンジニアリングの基盤を構築できます。
ここでは、プラットフォームエンジニアリングでチームを成功に導くDevSecOpsプラットフォームの重要な要素をいくつかご紹介します。
-
**計画とコラボレーション:**プラットフォームエンジニアリングは透明性がなければ機能しません。全員を同じプラットフォームに統合するとコミュニケーションが合理化され、デベロッパーが戦略とスコープを把握できるようになり、コードの計画、ビルド、テスト、保護、デプロイ、モニタリングがより効率的になります。
-
**CI/CDとオーケストレーション:**オーケストレーションはプラットフォームエンジニアの中心です。プラットフォームを使用すれば、デベロッパーはコード品質を確認して本番環境に移行できるようになります。さらに、一般的なベストプラクティスが確実に導入され、すべての変更が一貫した品質プロセスを経るようにするためのテンプレートメカニズムも用意されています。
-
**デベロッパーエクスペリエンス:**DevExは、手作業のタスクを自動化し、不要な意思決定を抽象化することで、デベロッパーの日常業務を簡素化することを目的としています。DevSecOpsプラットフォームを使用するとすべてのコードが1か所にまとめられるため、デベロッパーは頭の切り替えを最小限に留めながら必要なものを簡単に見つけることができます。さらに、再利用可能なテンプレートやコード提案、コードの説明などのAI搭載の機能をデベロッパーに提供することで、障害を取り除き、オンボーディングを迅速に完了してすぐに価値を生み出せるようになります。
-
**統合セキュリティ:**DevSecOpsプラットフォームを使用すると、自動セキュリティスキャンですべてのコードが基準のポリシーを満たすだけでなく、デベロッパーはそのデータにセルフサービスでアクセスできるようになります。本番環境へのロールアウトをする前に重大な脆弱性を発見することができます。
-
**メトリクスと分析:**プラットフォームエンジニアリングのイニシアチブを成功させるには、組織はプロジェクトの背後にあるビジネス目標を特定し、その目標に向けた進捗をモニタリングできる必要があります。ソフトウェア開発ライフサイクル全体からデータをプルするダッシュボードと分析により、組織は主要メトリクスの追跡、プロセス改善の影響の評価、ボトルネックの詳細な分析を簡単に行うことができます。これにより、リーダーはトレンドやボトルネックをすばやく特定し、リスクのあるプロジェクトに集中できるようになります。
こちらのページでは、GitLabがDevSecOpsチームにツールとワークフローのための単一のセルフサービスポータルを提供して認知負荷を軽減し、ソフトウェアデリバリーをよりスケーラブルにすることで、ソフトウェア開発を加速する方法についてご紹介します。
[1] Gartner, Top Strategic Technology Trends for 2024、Bart Willemsen、Gary Olliffe、Arun Chandrasekaran、2023年10月16日。GARTNERは、GARTNER, INC.および/またはその関連会社が有する米国内および国際的な登録商標であり、ここでは許可を得て使用されています。無断転載を禁じます。
2024年グローバルDevSecOps調査
セキュリティ、AI、デベロッパーエクスペリエンスに対する考え方がどのように進化しているかについては、世界各地のDevSecOpsの専門家5,000名を対象に行った調査結果をご参照ください。
レポートを読む