アプリケーション・プラットフォームとは

URL をコピー

アプリケーション・プラットフォームとは、ソフトウェア (アプリケーション) のテスト、デプロイ、管理を行うためのツールとサービスの統合セットです。テスト段階のみをサポートするアプリケーション開発ツールとは異なり、アプリケーション・プラットフォームはソフトウェアのライフサイクル全体を通して一貫して管理するためのツールを提供します。 

アプリケーション・プラットフォームは、開発者がアプリケーションと AI の両方を開発および実行するために必要なさまざまなコンポーネントで構成されています。これには、スケーラビリティ、継続的インテグレーション/継続的開発 (CI/CD) ツール、監視ツール、サービスメッシュ、アプリケーション・プログラミング・インタフェース (API)、GitOps、ランタイムとデプロイメント、セキュリティツールなどをサポートするインフラストラクチャ管理が含まれます。 

アプリケーション・プラットフォームは、環境間での一貫性を確保する必要があります。一貫性を保つことで、デプロイ先がクラウド、エッジ、オンプレミス、あるいはそのすべてのいずれであっても、開発、テスト、プロダクション環境に至るまで、アプリケーションの外観と操作性が常に同じになります。統一された制御セット、コントロールプレーン、および可観測性を備え、1 つの中央ツールセットから可視性と制御を維持できるように統合されていなければなりません。また、複数の場所にアプリケーションを提供し、それらのアプリケーションの構築、開発、セキュリティ保護、デプロイ、管理において、環境に関係なく同じ操作性を提供する必要があります。

Red Hat OpenShift でアプリケーション開発を加速する

アプリケーション・プラットフォームは、アプリケーションライフサイクルのさまざまな段階をつなぐ役割を果たします。これによってエンジニアは、アプリケーションの開発、デプロイ、運用を効率化できます。アプリケーション・プラットフォームは、複雑なアプリケーションのための抽象化レイヤーを提供します。これにより、開発者はインフラストラクチャではなくコードに集中でき、生産性が向上します。

アプリケーションの構築、実行、保守には、多くの可能性があります。無秩序に広がり続ける複数のツールを用いる従来の手法は複雑さを招き、イノベーションが阻害されます。柔軟性、拡張性、継続的な開発、そして組み込みのセキュリティを提供する統合アプリケーション・プラットフォームは、開発者が新しいアイデアを迅速に実現し、カスタマーエクスペリエンスを向上できるようサポートします。

アプリケーション・プラットフォームを使用するメリットには、以下が含まれます。

  • 迅速化:開発者はアプリケーション・プラットフォームを利用することで、事前に構築されたサービスと自動化されたインフラストラクチャ管理を活用して運用を単純化し、新しいアプリケーションの開発とデプロイに必要な時間を短縮できます。チームは可視性の要件を損なうことなくさまざまな統合ツールから選択でき、アプリケーションや AI がどこにデプロイされているかに関わらず、コンプライアンスとセキュリティに対する一貫したアプローチと統合できます。 
  • 拡張性: 開発者はアプリケーション・プラットフォームを利用することで、コンテナや仮想マシン (VM) を扱い、オンプレミス、クラウド、エッジのどこであっても、必要な場所で、必要に応じて拡張することができます。効果的なアプリケーション・プラットフォームには、ビジネス要求に応じてコンピュートリソースの使用量を自動的に調整する自動スケーリング機能が備わっている必要があります。
  • 管理: アプリケーション・プラットフォームは、自動化されたインフラストラクチャ管理によって柔軟性を高め、運用上の複雑さを軽減することで、多様な環境全体で一貫した機能とデプロイメントを実現します。 

効果的なアプリケーション・プラットフォームは、環境間およびソフトウェア開発ライフサイクル (SDLC) 全体にわたって一貫性をもたらします。開発者、セキュリティ、運用チーム向けのツールとの連携をサポートし、それらのツールがどのように使用されているかについての透明性を提供します。ソフトウェア開発ライフサイクル全体を通して、またアプリケーションのデプロイ場所に関係なく、セキュリティ基準とポリシー管理を確立し、実施します。 

アプリケーション・プラットフォームは、自社で構築する場合、クラウドベンダーを利用する場合、またはターンキー・ソリューションを利用する場合のいずれであっても、セキュリティ、拡張性、回復力、監査可能性を提供する必要があります。アプリケーション・プラットフォームには、セキュリティ、監査およびコンプライアンス認証、可観測性、管理、ログ記録および監視を管理すると同時にソフトウェア開発を加速させるためのツールと統合機能が含まれています。 

可観測性と監視

運用チームとセキュリティチームは、アプリケーションの健全性とパフォーマンスに関するインサイトを必要としており、アプリケーション・プラットフォームには通常、ログ記録、トレース、メトリクス収集を通じて情報を収集する可観測性ツールが含まれています。システムのパフォーマンスをリアルタイムで監視することで、チームは問題を特定し、顧客に影響が出る前に解決することができます。 

セキュリティ制御

セキュリティは、アプリケーションライフサイクルのあらゆる段階において最優先事項です。アプリケーション・プラットフォームには、ID 管理とアクセス管理、ネットワークセキュリティ機能、データ暗号化機能などを含む、開発者向けの自動化された一貫性のあるセキュリティガードレールが必要です。 

ランタイムとデプロイ

アプリケーション・プラットフォームには、稼働中のアプリケーションを格納するコアとなるランタイム環境が含まれます。これらの環境では、環境間の一貫性の確保、コンピュートリソースのプロビジョニング、アプリケーションのスケーリング管理、アプリケーションの可用性保証のためにコンテナ化が利用されています。 

CI/CD

CI/CD ツールを使用すると、コードの更新や変更を統合し、ユーザーからのフィードバックやビジネスの変化に頻繁かつ効果的に対応できます。 CI/CD パイプラインは、自動化を通じて SDLC 全体におけるソフトウェアの提供を改善します。アプリケーション・プラットフォームは、SDLC における開発、テスティング、プロダクション、モニタリングの各フェーズの全体で CI/CD を自動化します。これによってチームは、質の高いコードをより迅速かつ安全に開発できるようになります。

サービスメッシュ

アプリケーションは、相互に通信するサービスを利用しています。アプリケーション・プラットフォームにはサービスメッシュが含まれます。これはサービス間の通信、トラフィックのルーティング、セキュリティ、可観測性、および回復力のための機能を処理する専用のインフラストラクチャ層です。

GitOps

GitOps とは、インフラストラクチャとアプリケーションの構成を管理するための一連のプラクティスです。既存のプロセスを拡張し、アプリケーションライフサイクルを改善することを目的とします。アプリケーション・プラットフォームでは、GitOps の原則を実装してクラスタや開発ライフサイクル全体にわたる一貫性を確保できる必要があります。また、オンプレミスとパブリッククラウドのリソース全体にわたってアプリケーションの管理を統合できる必要もあります。

組織が使用するアプリケーション・プラットフォームの種類は、時とともに、柔軟性のないインフラストラクチャから、開発者エクスペリエンスをサポートするように設計された自動化された統合環境へと変化してきました。

  • Software-as-a-Service (SaaS) デプロイメント・プラットフォーム:ソフトウェアが物理ディスクで販売されなくなり、ローカルにインストールされなくなった後、SaaS がクラウド・プラットフォーム・モデルとして進化し、アプリケーションとその基盤となるすべての IT インフラストラクチャおよびプラットフォームを、サブスクリプションまたは 1 回限りの購入を通じてエンドユーザーに提供するようになりました。
  • Web およびモバイル・アプリケーション・プラットフォーム:モバイルデバイスの人気が高まり、インターネットが成熟するにつれて、Web プラットフォームとモバイル・プラットフォームが、Web アプリケーションやモバイルアプリケーションを構築、ホストするためのツールやフレームワークの集合体として注目を集めるようになりました。それらには通常、ストレージ、認証サービス、通知、およびデータベースサービスが含まれていました。
  • Platform-as-a-Service (PaaS): PaaS は、サードパーティがアプリケーション・ソフトウェア・プラットフォームを提供する、クラウドコンピューティングの一形態として登場しました。PaaS は開発者のためにオペレーティングシステムとハードウェアを抽象化し、通常は開発プロセスにつきもののインフラストラクチャやプラットフォームの構築や維持にとらわれることなく、ユーザー独自のアプリケーションを開発、実行、管理できます。
  • 仮想化と仮想マシン (VM): 仮想化によってハイパーバイザーというソフトウェアレイヤーが導入され、単一の物理ハードウェアシステムから複数のシミュレーションされた環境や専用リソースを作成できるようになりました。仮想化は、1 つのシステムをそれぞれ独自の中央処理装置 (CPU)、メモリー、ネットワークインタフェース、ストレージを備えた個別の環境 (VM) に分割します。これによって組織は、既存のインフラストラクチャを活用してコストを削減し、運用を効率化できます。
  • コンテナ化されたマイクロサービスベースのプラットフォーム: コンテナは、アプリケーションを完全なランタイム環境と共にパッケージ化し、分離します。 マイクロサービスとは、独立したサービスの集合が軽量 API を通じて通信するアプリケーション・アーキテクチャのスタイルです。このように、大規模で柔軟性のないアプリケーションから、分散型でモジュール式のシステムに移行することで、組織はシステム全体を中断させることなく、アプリケーションの一部を更新できるようになります。
  • ローコードおよびノーコードのプラットフォーム:Bubble や Microsoft Power Apps などのローコード/ノーコード・プラットフォームは、コーディングを必要とせずに迅速な開発が可能なビジュアル環境を提供します。技術的な知識のないユーザーでも利用できるドラッグアンドドロップ式のコンポーネントと視覚的なインタフェースを採用しています。

組織がアプリケーション・プラットフォームを利用する理由は数多くあります。特にクラウドネイティブ開発への拡張、AI アプリケーションやツールとの統合、そしてデジタル・トランスフォーメーションの継続などの場合に、その必要性が高まります。 

AI との統合

AI ツールの普及に伴い、クラウド、オンプレミス、エッジといったさまざまな環境で AI モデルをトレーニングしてデプロイするという緊急の課題が新たに生じてきました。また、AI を活用したアプリケーションをプロダクション環境で構築、トレーニング、チューニング、デプロイ、監視するとともに、AI ツールからインサイトを収集し、AI ツールの価値を最大限に引き出す必要もあります。組織は環境全体にわたる一貫性と、既存のシステムに AI を統合するための柔軟性を必要としています。それと同時に、運用上の一貫性を確保し、リソースへのアクセスを最適化し、信頼できるエクスペリエンスを開発者とエンドユーザーに提供する必要があります。

クラウドネイティブ開発

クラウドネイティブ開発により、クラウド環境向けに特化して設計された、可搬性と回復力に優れたアプリケーションを構築できます。クラウドネイティブ・アプリケーション開発とは、既存のアプリケーションの運用を中断することなく、イノベーションを促進できる環境を開発チームに提供することを意味します。アプリケーション・プラットフォームはさまざまな環境でアプリケーションを実行、管理できる柔軟性を備えているため、チームがクラウドネイティブ環境で一貫した構築、テスト、デプロイを行うのに役立ちます。 

アプリケーションのモダナイゼーション

アプリケーションのモダナイゼーション・プロジェクトは、組織の効率性とアジリティの向上に役立ちます。従来のモノリシックなアプリケーション・アーキテクチャから、よりモジュール化されたスケーラブルなクラウドネイティブ・ソリューションに移行することで、運用を最適化し、ユーザーエクスペリエンスを向上させることができます。ただし、モノリシックなシステムをマイクロサービス・アーキテクチャへとモダナイズするには、先進的なクラウドネイティブ・アプリケーションを構築するための包括的なツールセットが必要になります。また、複数の環境にわたってアプリケーションを接続、管理、監視するための一貫した方法も必要です。

DevOps 

DevOps のプラクティスは、コード、アプリケーションの保守、およびアプリケーションの管理を統合するうえで役立ちます。DevOps は CI/CD パイプラインと自動テストを通じて、コードのコミットからプロダクション環境へのデプロイへの移行を自動化します。DevOps チームは往々にして、既存アプリケーションの保守、インフラストラクチャの管理、統合されていないツールの統合に時間を費やしています。アプリケーション・プラットフォームでは開発と運用が統合されるので、チームは安定性を維持しながら迅速にアプリケーションを変革できます。

適切なプラットフォームは、既存アプリケーションをモダナイズし、新しいクラウドネイティブ・アプリケーションを開発し、インフラストラクチャをまたいですべてのアプリケーションを大規模に提供するために必要な一貫性、セキュリティ、柔軟性をもたらします。また、特定のパブリッククラウドやテクノロジーに縛られることもありません。

Red Hat® OpenShift® は、アプリケーションを大規模に開発、モダナイズ、デプロイできる包括的なアプリケーション・プラットフォームです。セキュリティとコンプライアンス機能が埋め込まれ、オープンソース標準に基づいている Red Hat OpenShift は、組織が従来型のワークロードと AI を活用したワークロードの両方を構築、加速、拡張できるよう支援します。各種ツールとサービスにより、コードの開発から提供、ハイブリッド環境全体でのアプリケーション・ワークロードの管理に至るまで、アプリケーションライフサイクル全体を効率化します。 

Red Hat OpenShift により、任意のインフラストラクチャで使える包括的なツールセットを使用して、イノベーションを加速し、AI の導入を単純化できます。これにより、統合されていないツールを操作および管理する負担が軽減され、結果として生じる相互運用性や可搬性の課題が解消されます。 

Red Hat OpenShift Operator を使用すると、データベースや可観測性ツールを含む Red Hat Ecosystem Catalog から、Red Hat のテクノロジーおよび認定済みのサードパーティ・テクノロジーを Red Hat OpenShift コンソールに直接追加して管理できます。Red Hat が完全にサポートおよび保守するさまざまな統合ツールから選択できます。これらのツールは可観測性、ネットワーク、パイプライン、GitOps、セキュリティ、仮想化などに対応しています。お好みのツールを選択すれば、あとは Red Hat が互換性と Red Hat OpenShift への統合について責任を持ちます。 

クラウド、データセンター、エッジなど、お好みのインフラストラクチャ上でアプリケーションを実行できます。Red Hat OpenShift クラウドサービスは事前設定済みのツール、自動監視、ワンクリックデプロイ、ライフサイクル管理、自己修復型システムを提供するので、インフラストラクチャ管理の負担と責任を軽減したい組織は、初日からアプリケーションのデプロイに集中することができます。 

Red Hat OpenShift をどのように実装するか、またどこにデプロイするかに関わらず、信頼性が高くセキュリティを重視したアプリケーション・デプロイメントによって一貫した管理エクスペリエンスを期待できます。

ブログ

Applications

Get the latest on how our platform solves the toughest application challenges

Red Hat OpenShift:先進的なアプリケーション・プラットフォームの 5 つの柱

Red Hat OpenShift は、アプリケーションをセキュアに構築、実行、管理できる包括的なアプリケーション・プラットフォームです。そのメリットをご覧ください。

関連情報

生成 AI とは

生成 AI とは人工知能テクノロジーの一種であり、大規模なデータセットで訓練されたディープラーニングモデルを使用して新しいコンテンツを作成するものです。

ソフトウェア開発ライフサイクルにおけるセキュリティ

ソフトウェア開発ライフサイクル (SDLC) は、ソフトウェアの開発、デプロイ、保守に使用されるフレームワークです。SDLC の各段階にセキュリティを組み込む必要があります。

脆弱性管理とは

脆弱性管理は、デバイス、ネットワーク、アプリケーションのセキュリティ上の欠陥を特定、評価、修正する IT セキュリティプラクティスです。

Application platformリソース