プラットフォームエンジニアリングとは?アプリケーション開発のトレンドをわかりやすく解説
ここ数年、迅速なアプリケーション開発を実現するアプローチとして「プラットフォームエンジニアリング」が注目されています。しかし、このアプローチが具体的にどのようなものなのかよく理解していない方も多いのではないでしょうか。本記事では、プラットフォームエンジニアリングの特徴や誕生の背景、実現のメリットなどを解説します。
- 目次
- お役立ち資料
- DX時代における
IT部門のあるべき姿とは
プラットフォームエンジニアリングとは何か
本章では、プラットフォームエンジニアリングの概要や特徴を解説します。
プラットフォームエンジニアリングの意味
プラットフォームエンジニアリングとは、開発者の「エクスペリエンスの最適化」「生産性の向上」を主な目的に、先進的な技術を活用してアプリケーションの迅速なデプロイやオペーレーションを自動化する概念とされています。VUCA時代の複雑化するソフトウェア・アーキテクチャに対応できるエンジニアリング手法として世界中で注目され、ガートナー社が発表している「2024年の戦略的テクノロジーのトップ・トレンド」にも含まれました。
プラットフォームエンジニアリングの具体的な役割は、まだ明確な定義は存在せず、それぞれの開発組織のニーズに合わせて定義することが一般的とされています。
プラットフォームエンジニアリングの特徴
プラットフォームエンジニアリングは、インフラ構築における考え方について「プロジェクト思考」ではなく、「開発者思考」のアプローチを採用しています。つまり、従来はリスク回避やテクノロジーの活用といった価値に基づく評価がメインでしたが、プラットフォームエンジニアリングでは開発者の満足度を最優先し、再現性や自動化に基づく評価を重視しています。
プラットフォームエンジニアリングの大きな特徴は、開発チームが必要なリソースやサービスを自らリクエストして取得・利用できる「セルフサービス機能」が実装されていることです。そして、その中核として「内部開発者プラットフォーム(IDP)」があり、これは専任のプラットフォームチームによって構築・保守がなされます。IDPとは、組織内の開発者がアプリケーションやサービスを迅速に開発、デプロイ、運用するための技術基盤のことです。
IDPの役割は、アプリケーション開発において再利用可能な共通ツールやノウハウを提供することです。IDPがあることで、開発チームはインフラを気にすることなく、スムーズにアプリの構築・テスト・デプロイを行うことが可能となります。
プラットフォームエンジニアリングが生まれた背景
プラットフォームエンジニアリングが生まれた背景としては、クラウドが一般的となった現代における開発者の負担増という課題や、「DevOps」「SRE」といった概念が登場したことが挙げられます。
クラウド時代のアプリケーション開発における課題
プラットフォームエンジニアリングが注目されている背景の1つにあるものが、クラウドの普及による開発者の負担増加です。
・開発業務の複雑化
AWS、Azure、Google Cloudなどさまざまなクラウドサービスがあり、開発・運用のためのテクノロジーとして、コンテナ(Docker、Kubernetes)、IaC(Infrastructure as Code)、サーバーレスなどが登場してきたことで、開発業務の複雑性が増加してきました。これにより、開発者の認知負荷が高まっているという課題があります。認知負荷とは、人間の脳が課題への対処する際に必要となる認知能力(ワーキングメモリ)に与える負荷のことです。
・開発者の対応範囲拡大
クラウドネイティブな現在、開発者の責任範囲が開発/リリース/デプロイとライフサイクル全般に及んでいることも開発者負担が増加する一因です。
・プロフェッショナル人材の不足
高度な技術や専門知識を持つ人材の需要が高まっている一方で、開発やクラウド、自動化など、複数の分野に精通したプロフェショナルの数は限られており、業界全体での人材不足が深刻な問題となっています。
このような背景から、開発者の負担を軽減したり、開発効率を改善したりする重要性が高まっています。
DevOpsやSREの登場
前述した課題の解決方法として、DevOps(Development and Operations)の概念が登場しました。DevOpsは、開発と運用担当の間の壁を取り払い、スムーズなソフトウェアの導入やサービス提供を実現することを目指すための手法です。しかし、DevOpsでは開発者が環境構築や運用に関するさまざまな業務を柔軟に対応できる組織文化、広い知見と高いスキルを持つ組織でないと実現がしにくいことが課題でした。
また、DevOpsと似た概念としてGoogleが提唱したSRE(Site Reliability Engineering)があります。SREもDevOpsと同じく、開発と運用担当をつなぐことを目的としていますが、SREはより具体的な実装方法を指す概念です。ただし、SREはサイトの信頼性を向上させることに主眼が置かれており、開発者の運用負担の軽減という点では不十分でした。
そこで登場したのがプラットフォームエンジニアリングです。プラットフォームエンジニアリングは、高いレベルのスキルを持たない組織でも、DevOpsを達成するための基盤であるIDPを提供します。IDPを活用することで、開発負担を軽減しつつアプリ開発を迅速化することが可能となります。
プラットフォームエンジニアリングのメリット
プラットフォームエンジニアリングを実現すると、以下のメリットを享受することができます。
効率的な開発と展開が可能
短期間での開発が求められている昨今、効率的な開発ができることは大きなメリットです。例えば、IDPを活用することで開発者は、アプリケーション開発に集中し、必要なリソースを素早く収集できるため、効率的に開発できるようになります。
また、プロビジョニングや展開プロセスにおいて自動化が進むことで、開発者はリソースの取得や設定に費やす時間を節約し、開発とデプロイのスピードを向上させることができます。
効率的なシステム開発のためのアプローチについては、下記の記事でも解説しています。
- システム開発の生産性向上に向けた新たなアプローチとは
- ビジネス環境の変化に対応したITシステム開発への需要が高まる一方、スキル不足や開発工程の複雑化などの要因によって、システム開発の生産性低下に直面している企業も少なくありません。本記事では、システム開発の生産性…
開発者の負担(認知負荷)軽減
IDPを介して再利用可能なツールと機能を提供することができるため、組織はいつでもこれを活用することができる。これにより、開発者の認知負荷が軽減し、より価値の高い業務にリソースを割けるようになる。
前述のように、プラットフォームエンジニアリングは「プロジェクト思考」ではなく「開発者思考」に基づいたアプローチであり、開発者の満足度を最優先している点でも、開発者の負担軽減を目指すものであることが分かります。
保守性の向上
IDPを通じて継続的に利用可能な共通インフラが提供されることで、高い保守性と機能性を実現します。保守のフェーズにおいて環境に適したシステムをスムーズに構築でき、環境作成の手間が減ることで保守のスピードが向上します。
経験の浅いエンジニアも活躍可能
自動化の技術を導入し、開発者の認知負荷が軽減するため、経験の浅いエンジニアでも開発現場で活躍しやすくなります。高度なスキルを持つ人材が不足する中、この点は人手不足解消という面で大きなメリットです。
プラットフォームエンジニアリングを実現するには
プラットフォームエンジニアリングにおいては、単にプラットフォームを構築するだけでなく、活用されつづけるプラットフォームを構築する必要があります。また、特定のベンダーに依存せず、ミドルウェア・開発言語にわたってオープンなプラットフォームであることも重要です。これにより運用コストの抑制やノウハウの蓄積が可能です。
ソフトウェアの部品化という選択肢は、これらを実現する方法の1つです。
アプリケーションを複数の小規模な機能ごとに部品化することで、部品単位での開発・修正・組み換えができます。
また、これらを同一のプラットフォーム上で開発することで、すでに開発されたソフトウェア部品の中から開発者が必要なものを選択し、別のアプリケーションを開発する際に再利用することができます。
特に、大手企業で複数のプロダクトを持っている場合では、専属開発チームがいくつかに分かれていたり、部署をまたいでいたりするケースもあるでしょう。この場合、オープンなプラットフォーム上で自部署や自チーム内はもちろん部署・チームを横断して、開発の部品化・組み合わせ・資産化を行える状態にすることで、開発効率の大幅な向上が可能です。
今回ご紹介したプラットフォームエンジニアリングを実現するソリューションとして、コンポーネント型aPaaS「LaKeel DX」があります。
aPaaSとはアプリケーション開発・運用を行うためのプラットフォームの一種であり、業務アプリケーションの部分のみを利用者が開発・運用することで、PaaSと比較して開発やリリースに伴うインフラの構築や保守の複雑さを解消できる特徴があります。また、SaaSよりも柔軟性や自由度が高く、個社特有の業務に対応可能です。
さらにLaKeel DXは、マイクロフロントエンド・マイクロサービス技術の採用により、ソフトウェアの部品化とその組み合わせによってシステムを構築できます。蓄積された無数のコンポーネントからAIが適切なものを選択し自動でシステム開発を支援してくれるため、IT部門以外の作業者でもドラック&ドロップで直観的にシステムを構築することが可能です。
LaKeel DXの詳細についてはこちらをご覧ください。
- LaKeel DX
- LaKeel DXは、企業のDXを成功へ導くクラウド型アプリケーション開発・運用基盤です。 LaKeel DXは、変化の激しい時代において、大規模な組織・大企業が直面しているさまざまなIT課題を解決します。
DX時代において、IT部門の役割はこれまで以上に重要になっています。下記の資料では、ITの力で企業の利益を生み出すための方法について詳しく解説していますので、ぜひご覧ください。
- お役立ち資料
- DX時代における
IT部門のあるべき姿とは
このコラムを書いたライター
本サイトでは、企業のDX推進に役立つ様々な情報をお届けしています。