検索
ニュース

DevOpsに失敗する企業は何に手こずっているのか、StackOverflowが解説DevOpsの次のステップはプラットフォームエンジニアリング

DevOpsの次のステップとして注目されるのがPlatform as a Product(プロダクトとしてのプラットフォーム)だ。Stack Overflowが公式ブログでDevOpsの現状と将来を説明した。

Share
Tweet
LINE
Hatena

 StackOverflowは、2023年7月26日(米国時間)、公式ブログでDevOpsの現状と将来について考察した記事を発表した。

 DevOpsのアプローチによって、ソフトウェアの開発、デリバリー、出荷がこれまで以上に迅速かつ効率的に行うことができるようになった。しかし、DevOpsを順調に進めるチームも多いが、立ち往生するチームも多い。

 一方、DevOpsの次のステップとして、プラットフォームエンジニアリングが注目を集めている。同社によると、プラットフォームエンジニアリングはソフトウェアデリバリーを強化し、多くのDevOpsの制限を解除する社内開発者プラットフォーム(Internal Developer Platforms:IDP)を構築するために、専門のプラットフォームチームを形成することを含んでいるという。既にIDPはNikeやStarbucksのイニシアチブを後押しし、GitHubのインフラ成長を加速させ、組織がスケールで成功する方法を示している。

 StackOverflowは公式ブログで「DevOpsプログラムをプロダクト化することで、エンジニアリングの成果を全面的に向上させる方法とは何か」「プラットフォームエンジニアリングが市場投入までの時間を短縮し、収益を成長させるための最善策であるとしたら、なぜ全ての企業がそれで成功していないのか」などを考察した。

認知負荷の難題

 同社はまず、DevOps導入で生じる問題として、開発者の過剰な認知負荷を挙げる。インフラが複雑化すると、さまざまなクラウドプロバイダーが提供する無数のサービスやツールを統合し、維持するための労力が求められる。それに加え、「The Cloud Native Interactive Landscape」(CNCFが制作したクラウドネイティブ関連ソフトウェア群をまとめた資料)が示すように、何千ものツールやフレームワークが存在する。これらを引き受け、取り組む時間と、最も重要な仕事である機能開発に携わる時間を確保する必要がある。

 DevOpsのワークフローは役割を定義し、分離することができない場合が多い。例えば、開発者はKubernetesやインフラストラクチャのコード、サービスの運用など、多岐にわたる領域での専門知識が求められることが多いが、これらの専門知識は全ての開発者が容易に身に付けられるものではない。

 同社は、開発者にオペレーション業務を担当させることは、開発の速度向上と開発チームの実験の促進に有益であるとしている。インフラストラクチャ業務を担当する各開発チームにDevOpsエンジニアを組み込むことで、DevOpsエンジニアは開発チームと緊密に連携し、標準と手順に従うことができるという。

 「ただし、このアプローチにはより多くのリソースが必要となることや、テンプレートやガイドラインを最新の状態に保つためにさらなる認知的負荷が増える可能性などの課題がある」

プロダクト視点は必要だが、既にあるものを作り直す必要はない

 同社は次に、プラットフォームエンジニアリングの原則の核は、プロダクト視点を持つことであると主張する。「Platform-as-a-Product(プロダクトとしてのプラットフォーム)は、プロダクトとしてのプラットフォームを設計することで、ツールチェーンを完全にコントロールできる。さらに、UIベースであれGitベースであれ、ワークフローを定義することもできる。これにより、組織と開発者の具体的なニーズに合ったプラットフォームの提供が可能となる」

 多くの組織がIDPを構築するのは、開発者が既に存在するものの再発明をしなくて済むようにするためである。プラットフォームエンジニアリングは、アプリケーションのライフサイクル全体の運用に必要な要件をカバーするため、開発者は共通のフレームワークを活用してサービスやアプリを作成することに集中できる。

 また、プラットフォームエンジニアリングはアプリケーションのライフサイクル全体の運用上の必要性をカバーしているため、開発者は、それらを提供するシステムを微調整するだけでなく、共通のフレームワーク上に構築することで、サービスやアプリの作成に集中することができる。

 同社は「プラットフォームエンジニアは、商用製品やオープンソース製品といった、既に存在するものを組み合わせて、チーム全体に意味のあるものを作成する方法を考えるべきである」と結論付けている。

プラットフォームエンジニアリングの未来を支援する

 プラットフォームエンジニアリングにおけるツールやソフトウェアの選択や設計は、それぞれの状況や要件に合わせて自由に選択できる。

 プラットフォームエンジニアの役割も同様で、組織によってさまざまな肩書で仕事をしている。同社が実施した調査によると、プラットフォームで仕事をしていてもプラットフォームエンジニアの肩書を持つ人は23%未満にとどまっているという。

 「今後、プラットフォームエンジニアリングの認識が拡大するにつれて、DevOpsとプラットフォームの人気は高まるだろう」

Copyright © ITmedia, Inc. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る