Jump to section

プラットフォームエンジニアリングとは

URL をコピー

プラットフォームエンジニアリングは、生産性、アプリケーションのサイクルタイム、市場投入スピードの向上に重点を置くソフトウェア開発の分野の 1 つです。

プラットフォームエンジニアリングは、労働文化と生産性を改善し、収益にプラスの影響を与えるための多専門的アプローチと捉えるべきものです。ビジネスの観点から見ると、プラットフォームエンジニアリングのプログラムは、アプリケーションの市場投入を効率化し、運用を最適化し、アプリケーションの開発、デプロイ、管理、保守の効率を向上させます。文化的な観点から見ると、プラットフォームエンジニアリングは、開発者が自身の仕事の中で最も重要な部分に集中するために必要なツールとサポートを提供することで、チーム間のコラボレーションを向上させ、認知的負荷を軽減することを目的としています。

プラットフォームエンジニアリングの包括的な目標は、開発チームに影響を与える問題点を特定し、内部開発者向けプラットフォーム (IDP) を介して共通の再利用可能なツールと機能を提供することでそれらの問題を軽減することです。

プラットフォームエンジニアリングは特定の職務内容である場合もありますが、個人のグループがチームのイニシアチブとして取り組む分野や手法である場合もあります。

プラットフォームエンジニアリングの役割は、一貫性と効率性を促進するという点で組織にとって有益です。チーム間の連携をより効率的にすることで、チーム間のより良いコラボレーションを促進し、新しいチームメンバーの学習を容易にします。

根本的には、プラットフォームエンジニアリングの目的は、開発者の生産性を妨げ、アプリケーションライフサイクルにおいてボトルネックを生み出す可能性がある管理タスクに必要とされる時間を削減することです。これを実現するために、プラットフォームエンジニアとプラットフォーム・エンジニアリング・チームはインフラストラクチャの管理と、開発者のニーズに対応できるように設計されたワークフロー (「ゴールデンパス」とも呼ばれる) を通じて開発者を導く一連のツールの作成を担います。

開発チームが異なれば (同じ企業内であっても) ニーズも異なり、同じ開発者プラットフォームは 2 つとありません。プラットフォームエンジニアはこれを理解し、ソフトウェア開発者を支援するセルフサービス機能と自動化されたインフラストラクチャを通じて、組織固有のニーズに合わせてカスタマイズされたツールとプロセスのセットを厳選します。この適応性により、開発者は画一的なソリューションに縛られることなく、プロジェクト要件に最適なツールを使って作業することができます。同時に、これによって開発者が新たなスキルセットを習得して余分な作業を行う必要性が減り、最も得意とする作業である「コード」に集中できるようになります。

また、プラットフォーム・エンジニアリング・チームは堅牢なガバナンスフレームワークを導入し、すべての環境にわたってリソース、セキュリティ、コンプライアンスの制御性を維持できるようにします。これにはパフォーマンスを監視し、コストを追跡し、潜在的なリスクや脆弱性を特定するためのより実践的な方法が提供されるという追加のメリットもあります。 

プラットフォームエンジニアリング登場の背景

プラットフォームエンジニアリングは、テクノロジー分野における新たな議論に反応するかたちで登場しました。それは、「インフラストラクチャは、ハイブリッド環境やマルチクラウド環境の場合は特に、開発者が心配すべきものではない」という議論です。 

従来、開発者の仕事は、必要な作業に適したツールを見つけるか、そのツールをゼロから構築するかのどちらかでした。以前のような、テクノロジーの基本的な反復作業はそのような仕事に対応していましたが、エンタープライズレベルの組織で働く現在の開発者は、ビジネスが成長するにつれて、ユーザーのサポートと効果的なスケーリングがより複雑で断片化していることを認識しています。

新しいツールが毎日リリースされ、把握しておくべき新しい機能が常にあり、仕事に適したツールの評価と選択には時間がかかります。こうした時間は新しいツールに関するスキルの習得、新しいテクノロジーの調査、インフラストラクチャおよびアプリケーションサービスのリクエスト、最新のセキュリティ脅威の理解に費やされ、多くの精神的エネルギーとリソースを浪費し、販売されている製品の改善やビジネス上の優先事項の達成に充てる時間が奪われてしまいます。 

プラットフォームエンジニアリングの領域では、開発者が顧客の場合、内部開発者向けプラットフォーム (IDP) は製品です。

IDP はプラットフォーム・エンジニアリング・チームによって設定され、開発者がアプリケーションのライフサイクル全体を通じてコードを作成、デプロイ、保守するために必要な、標準化された一連の内部セルフサービスツールとテクノロジーで構成されます。IDP に統合されたツールチェーンは、開発者向けのよりポジティブで生産的なワークフローを実現し、セキュリティやスケーラビリティなどの要素に重点を置き、最終的に組織はより多くの顧客価値を生み出すことができます。

効果的な IDP を作成することで、開発者エクスペリエンスにおける摩擦を能動的に探し、その摩擦を除去または緩和できるツールやテクノロジーを厳選することができます。最小限のアプローチから始めて、開発チームにとって有益であることがわかっているツールのみを組み込み、途中でフィードバックを求めながら、開発チームのニーズに合わせて機能を段階的に拡張し、進化させることができます。 

DevOps と同様、プラットフォームエンジニアリングも、自動化とコラボレーションの強化によって開発者と運用担当者の連携を高めるという共通の目標を共有しています。2 つの手法の関係を考えるとき、プラットフォームエンジニアリングは、組織全体で DevOps を拡張するという課題に対処するための重要かつ補完的な要素であると考えることができます。

従来、DevOps 手法では開発者が自分でソフトウェアを探し、学習し、デプロイし、管理することを奨励しているため、プロダクションのソフトウェアについて開発者がより多くの知見を得ることができ、制御性が向上します。しかし、これは必ずしも収益にメリットをもたらすとは限らず、開発者の管理オーバーヘッドが追加され、認知的負荷が増加します。

あるチームは、機能を提供することに関心があっても、スキルセットを持たないかもしれません。スキルセットを持っていても、それを構築することに関心がないかもしれません。スキルや関心を持っていても、そのアイデアを実行するのは安全ではなかったり費用対効果が良くなかったりするかもしれません。こうしたことはすべて、組織の拡大と成長に伴ってさらに複雑になります。

DevOps と継続的デリバリーの導入により、パイプラインとツールチェーンが長くなっており、さらに、「シフトレフト」(アプリケーションの作成および保守時にワークフローの各段階のセキュリティ保護についてエンドツーエンドで理解すること) というプレッシャーが加わったことにより、開発者は自身が構築しているアプリケーションに関連する複雑さを細部までより詳細に理解する責任を負うようになりました。

この自律性は「自由にできる」という感覚を開発者に与えますが、最終的には個人にも組織にも役に立たない、開発者を消耗させる責任感や認知的負荷をもたらす可能性もあります。

戦略としてのプラットフォームエンジニアリングは DevOps に基づいて構築されますが、それは、共感とユーザージャーニーをより重視することと、アプリケーション提供の自動化やコラボレーションとコミュニケーションの改善、エラーの削減、セキュリティとコンプライアンスの強化、効率の向上、そして、最も重要なことに、最も重視するべき開発者の強みに改めて焦点を当てる、といったことを実行するためのより良い方法を見つけることで実現します。 

プラットフォームエンジニアリングとサイト信頼性エンジニアリングはいずれも、システムの作成と保守に関するものです。2 つの概念の違いは、それぞれの手法の焦点にあります。SRE は IT 運用チームに焦点を当て、ソフトウェアをツールとして使用してシステムの管理、問題解決、および運用タスクの自動化を行えるよう支援します。

プラットフォームエンジニアは開発チームに焦点を当て、システムの管理、問題解決、および開発タスクの自動化のためのプラットフォームの作成を支援します。 

Red Hat® OpenShift® は、BuildsPipelinesGitOpsServerlessService Mesh のような包括的な機能セットをプラットフォーム・エンジニアリング・チームに提供します。

OpenShift を Red Hat Developer Hub と組み合わせることで、組織のニーズと目的に合わせた独自の内部開発者向けプラットフォームを効果的に構築および管理するために必要なプロジェクトテンプレート、ドキュメント、ワークフローがエンジニアリングチームに提供されます。

Red Hat Developer Hub を使用することで、開発者は統一されたダッシュボードに接続し、高品質なソフトウェアを効率的に構築するためのさまざまなツール、ソフトウェアテンプレート、ドキュメント、その他のリソースにアクセスすることができます。さらに Developer Hub は、開発者が既存のプロジェクトに参加するために必要な情報やリソースを統合し、オンボーディングの時間を最小限に抑えます。

このプラットフォームはオープンソース・イノベーションに焦点を当てているため柔軟性があり、ベンダーロックインを回避できます。また、Red Hat は安定性、サポート、信頼性に関して高い評価を得ているので、安心です。また、Developer Hub はプラグインを介して新しいツールやサービスを簡単に統合することができ、拡張性もあるため、進化する開発ニーズにも対応できる将来に備えたソリューションと言えます。

OpenShift、Red Hat Developer Hub、Trusted Software Supply ChainAdvanced Cluster Security (ACS)Advanced Cluster Management (ACM)Ansible を中核的な構成要素として、プラットフォームエンジニアは、よりシームレスで効率的なエクスペリエンスを開発者に提供する統合ツールチェーンとワークフローを設計および構築できます。 

関連資料

記事

DevSecOps とは

DevOps によるアジリティと応答性を存分に利用するのであれば、IT セキュリティはアプリケーションのライフサイクル全体を通じて、重要な役目を果たす必要があります。

記事

CI/CD とは

CI/CD によって、統合およびテストのフェーズからデリバリー、デプロイメントに至る、アプリケーションのライフサイクル全体を通じて、継続的な自動化と継続的な監視が導入されます。

記事

DevOps エンジニアとは

DevOps エンジニアは、組織内でのコラボレーション、イノベーション、文化的変革を可能にする特有のスキルと専門知識を持ち合わせています。  

DevOps の詳細はこちら

製品

Red Hat のエキスパートによる徹底的かつ集中的な研修。アジャイルの方法論とオープンソースツールを使用して、社内業務の課題に対処する方法について学びます。

Red Hat の戦略的アドバイザーが、企業組織の全体像を把握しながら課題を分析し、包括的かつコスト効率に優れたソリューションで課題を解決できるようお手伝いします。

リソース