GitLabが解説:プラットフォームエンジニアリングを読み解く

プラットフォームエンジニアリングの導入メリットを理解する開発プロセスをどう改善するか

ソフトウェア開発の現場では、クラウドやツールの多様化により、開発者が本来注力すべき価値創出以外の作業に多くの時間を割かれる状況が生まれています。 こうした課題に対する一つのアプローチとして注目されているのが「プラットフォームエンジニアリング」です。 本連載では、プラットフォームエンジニアリングの基本的な考え方から、関連する開発手法との関係性、導入によって得られる価値までを整理し、なぜ今この概念が重要視されているのかを段階的に解説していきます。

プラットフォームエンジニアリングとDevSecOps⁠SREの関係性とは

プラットフォームエンジニアリングを理解するうえでは、DevSecOpsやSRE(Site Reliability Engineering)との違いについても把握しておくことが大切です。

DevSecOpsとの違い

DevSecOpsとは、開発(Dev⁠⁠、セキュリティ(Sec⁠⁠、運用(Ops)の3つの領域を連携させて開発を進めるアプローチを指します。 開発と運用を連携してリリースサイクルを短縮させる従来の「DevOps」の考え方に対して、セキュリティ(Sec)のプロセスも加えることでソフトウェアの安全性を確保しつつ、迅速なリリースが可能になります。

プラットフォームエンジニアリングはDevSecOpsのようなワークフローを実現するための土台となるプラットフォームを社内に整備する取り組みです。 プラットフォームエンジニアリングとDevSecOpsは親和性が高く、プラットフォームエンジニアリングはDevSecOpsをサポートする役割を担っています。

SREとの違い

SREすなわちSite Reliability Engineeringは直訳すると、⁠サイト信頼性エンジニアリング」という意味です。 Googleによって提唱された概念であり、運用プロセスにおいて手間のかかるタスクを自動化してシステムの安定稼働を実現しつつ、新機能の追加や更新などを通してユーザー体験(UX)の向上を目指す取り組みです。

プラットフォームエンジニアリングとSREは、いずれも開発と運用における効率性・信頼性向上に関わるものですが、それぞれ目的や焦点が異なります。 プラットフォームエンジニアリングは、社内の開発者の生産性向上や利便性の向上を目的としたアプローチであり、SREは主にシステムの信頼性と可用性、スケーラビリティの向上に焦点を当てた考え方です。

プラットフォームエンジニアリングの導入目的とメリット

プラットフォームエンジニアリングの導入目的やメリットは以下の通りです。

開発プロセスの効率化

まず、プラットフォームエンジニアリングの導入は、開発プロセスの効率化につながります。 前回説明したIDPにより、開発者は開発に必要なリソースを必要な時に素早く取得して利用できるため、環境構築に手間と時間をかけることなく、本質的な開発業務に集中することが可能です。

アジャイル開発やDevSecOpsの手法とあわせて、プラットフォームエンジニアリングの考え方を採用することで、プロダクトや機能のリリース頻度・スピードが向上し、自社ビジネスの加速に貢献できるでしょう。

開発者の生産性向上

プラットフォームエンジニアリングでIDPを整備することで、チームで再利用可能なツールや機能を開発者に提供できるようになります。 この仕組みにより、開発者が個別に多数のツールを管理・運用する手間がなくなり、認知的負荷の軽減につながるでしょう。

ソフトウェア開発ツールの分散化は、多くの組織にとって大きな課題となっています。 前回も紹介した通り、GitLabが実施したグローバル調査「インテリジェントソフトウェア開発の時代」によると、DevSecOpsチームの60%が、ソフトウェア開発で5つ以上の開発用ツールを使用しています。 また、同調査では、このツールの分散化によってチームメンバー1人あたり週に1日分近く(7時間)の作業時間が失われていることも明らかになっています。

だからこそ、ソフトウェア提供のために設計された統合アーキテクチャを検討することが重要です。 これにより、DevSecOpsチームは戦略立案や分析、新機能開発など、より重要な業務にリソースを割けるようになり、生産性の最大化を図れるでしょう。

プロダクトの品質向上

顧客が満足するプロダクトを提供するためには、品質も担保しなければなりません。 IDPにテストやレビュー、セキュリティスキャン、デプロイなどを自動化する仕組みを整備すれば、ヒューマンエラーの防止につながります。

プラットフォームエンジニアリングの導入によってテストやレビューなどを標準化することで、開発者やプロジェクトごとの品質のばらつきを防止でき、自社で定義されたプラットフォームの基準に沿って開発と運用を進められます。

つまり、プラットフォームエンジニアリングの導入は、開発効率や生産性の向上だけでなく、プロダクトの品質や信頼性の向上にもつながるのです。

セキュリティ⁠ガバナンスの維持と強化

プラットフォームエンジニアリングでは、自社に必要なセキュリティやガバナンスを定義し、それらを自社のプラットフォーム上に反映して運用することも可能です。

先述のGitLabの調査によると、回答者の70%が「AIの導入により、組織におけるコンプライアンス管理がより困難になっている」と回答しており、開発プロセスにおける統一されたガバナンスの重要性がさらに浮き彫りになっています。 権限設定や監査ログ、セキュリティポリシー、脆弱性対応などをプラットフォーム上で集約・一元化することで、管理や証跡の収集が容易になり、組織全体におけるセキュリティ・ガバナンスの維持と強化につながるでしょう。

また、標準化されたプラットフォームの整備によって、開発者の心理的負担が軽減され、安全に開発を進められます。

人材不足の解消

プラットフォームエンジニアリングの導入は、開発プロセスの効率化や開発者の生産性向上に寄与するため、企業のリソースを最大限に活かしながらソフトウェア開発を進められます。

また、開発者のニーズにマッチしたプラットフォームを提供し、働きやすい環境を構築することで、開発者体験(DX)の向上も実現できます。 その結果、自社に対する開発者や求職者からのイメージも向上し、優秀なエンジニアの獲得と定着を図れるでしょう。

新しいイノベーションの創出

近年、ソフトウェア開発の効率化や価値向上に役立つさまざまな最新技術が登場しています。 しかし、複数の技術やツールを開発者個人で活用する場合、管理の負担が増え、実際の活用にはハードルが高いと言えます。

プラットフォームエンジニアリングであれば、さまざまな機能やツールが搭載されたプラットフォームをチームで利用できるため、開発者全員が最新技術に触れやすくなります。 それをきっかけとして、新しいアイデアやイノベーションが生まれたり、より品質の高いプロダクトをリリースできたりする可能性が高まるでしょう。

コスト削減

プラットフォームエンジニアリングを取り入れることで、ツールや環境の共通化によるコスト削減にもつながります。 例えば、ソフトウェア開発のプロセスにおいて複数のツールを活用している企業が、GitLabのようにさまざまな機能を単一のプラットフォームで利用できるサービスを導入すれば、ライセンス費用や管理コストの削減につながるでしょう。

また、CI/CDやセキュリティチェックなどをプラットフォーム上で自動化することで、運用コストの削減も実現できます。 ワークフローの自動化や標準化により開発スピードが向上すれば、限られたリソースを効果的に活用できるため、長期的な人件費の最適化にもつながります。


プラットフォームエンジニアリングは多くのメリットをもたらします。 その結果として、組織は変化の激しいビジネス環境に柔軟に対応しながら、継続的に価値を提供できるようになります。 先述したGitLabの調査でも、85%の組織がプラットフォームエンジニアリングのアプローチがAIを活用した開発において最も効果的であると回答しています。

次回は、具体的なプラットフォームエンジニアリングの導入ステップや、基盤構築のポイントなどについて解説します。

おすすめ記事

記事・ニュース一覧