検索
特集/連載

「DevOps」と「プラットフォームエンジニアリング」の端的な違いはこれだDevOpsとプラットフォームエンジニアリングの違い【後編】

「DevOps」と「プラットフォームエンジニアリング」は、どちらもソフトウェア開発の品質向上や効率化を目指すものだが、お互いに異なる点もある。両者はどう違い、どう共存しているのか。

Share
Tweet
LINE
Hatena

 企業の変革を支える迅速なソフトウェア開発手法として、開発(Dev)と運用(Ops)を結び付ける「DevOps」が支持を集めている。一方でDevOpsをはじめとするモダンな開発手法は、開発者にさまざまな知識や作業を要求する。そこで開発の生産性やソフトウェアの品質を高めるために開発者を支援できるのが、インフラを直接管理したり、深く理解したりしなくてよい仕組み「プラットフォーム」を提供することだ。

 DevOpsと、プラットフォームの構築、運用をする「プラットフォームエンジニアリング」は共通する考え方やアプローチを持つが異なるものだ。両者は何が違い、どのような関係にあるのか。

「DevOps」と「プラットフォームエンジニアリング」はここが違う

 端的に言うと、DevOpsは開発チームと運用チームのコラボレーションを促進するソフトウェア開発のアプローチだ。これに対してプラットフォームエンジニアリングは、DevOpsチームが使用するツールやワークフローをまとめたプラットフォームを提供する。

 この2つの考え方は一見似ている。DevOpsのアプローチはしばしばプラットフォームの構築に取り入れられ、プラットフォームエンジニアリングは企業がDevOpsを取り入れた後に導入されることがある。

 成果を上げているプラットフォームエンジニアリングチームは、日常的にDevOpsチームとコラボレーションをしている。開発者も、通常の業務やプラットフォームチームからの要請に応じて、プラットフォームの構築と管理に携わることは珍しくない。

 プラットフォームエンジニアリングの主な目的は、信頼性の高い開発ツールとワークフローを提供してDevOpsをサポートすることだ。DevOpsチームが引き受けることができるプロジェクトの幅が広いのに対し、プラットフォームエンジニアリングチームはDevOpsチームが使用するプラットフォームの構築と保守に重点を置く。

 実際には、プラットフォームエンジニアリングはDevOpsの確立を支援するための重要な役割を担っている。プラットフォームエンジニアリングチームは、開発者が詳しくないツールに関する専門知識を有するからだ。

進化するプラットフォームエンジニアリングとDevOpsの関係

 開発チームとプラットフォームエンジニアリングチームは密接に連携する必要がある。DevOpsの主な利点がコラボレーションである以上、プラットフォームエンジニアリングを実現しようとして、新たなサイロ(組織内で情報やシステムが共有されない状態)を作るのは逆効果だ。

 従来DevOpsチームは、統合開発環境(IDE)やビルド(実行可能プログラムに変換)、テスト、デプロイ(配備)ツールなどのツールを選択するし、それらを使った開発プロセスのワークフローを確立する役割を担っていた。こうしたワークフローには数十種類のツールが関わっている場合があり、実行するには時として多大な時間と手間が必要だ。ツールに関する開発者の知識が限られている場合もある。こうした状況が開発者を消耗させ、プロジェクトを遅らせる原因になりかねない。

 プラットフォームエンジニアリングチームの役割は、開発を支援するツールやワークフローの設計、導入、保守だ。開発者のニーズを理解し、タスクに適したツールを選んで組み合わせ、自動化すると同時に、プラットフォームを保守する。そうした取り組みは開発者がプラットフォームの仕組みを詳細に理解せずに、一貫した開発手法や生産性の向上といったメリットを享受できるようにする。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る