Jump to section

クラウド・アプリケーションとは

URL をコピー

クラウド・アプリケーションは、ユーザーが主にインターネット経由でアクセスするソフトウェアで、少なくともその一部が、ユーザーのローカルマシンではなく、サーバーによって管理されるものを指します。クラウドネイティブ・アプリケーション開発戦略があれば、物理、仮想クラウドベースなどさまざまな IT インフラストラクチャにおいて、開発チームが一貫したエクスペリエンスを通してフロントエンドユーザーとバックエンド運用チームのためのアプリケーション設計ができるようになります。

この基本的な定義は、クラウド・アプリケーションが市場やビジネスモデルをどのように再構築してきたのかを十分に説明するものではありません。クラウド・アプリケーションは、適切に設計されていれば、全体がローカルマシンにインストールされたプログラムのようなユーザーエクスペリエンスを提供でき、しかも、リソースのニーズが少なく、更新が簡単で、さまざまなデバイスから機能にアクセスできます。

新しいクラウド・アプリケーションは、主要な収益源となり、市場とビジネスモデルに破壊的変化をもたらす可能性があります。Gartner は、全世界のクラウドサービスによる収益は 2020 年に 1,105 億ドル、さらに 2022 年までに 1,437 億ドルまで増加すると予測しています

クラウド・アプリケーションの導入をお考えの場合は、チームで使用するクラウド・アプリケーションを組織のアーキテクチャに統合するか、社内用あるいは顧客用に独自のクラウド・アプリケーションを開発することをお勧めします。

他社開発のクラウド・アプリケーションを既存のアーキテクチャに統合する

たとえば、Salesforce は顧客関係管理用の有名なクラウド・アプリケーションで、自分のサーバーに独自のシステムを設定する必要がありません。Red Hat には、Salesforce の統合に関する事例もあります。

SaaS (Software-as-a-Service) と呼ばれる Salesforce のようなクラウド・アプリケーションによって、有用なツールとサービスを既存のシステムにプラグインする多くの新しい機会が生み出されますが、それらを既存のアーキテクチャと統合する方法を検討する必要があります。

独自のクラウド・アプリケーションを開発する

クラウド・アプリケーションの開発により、新しい顧客にリーチする可能性が生まれ、社内での使用に適したシステムが提供されます。たとえば、Ally Financial はコンテナ化されたハイブリッドクラウド・プラットフォームを作成して開発スピードを向上させ、UPS は独自のアプリケーション・プラットフォームを作成して、物流チームのデータアクセスを向上させました。その結果、両社とも、社内プラットフォームを通じたエンドユーザーのカスタマーエクスペリエンス向上を実現しました。

クラウド・アプリケーションの用途に関係なく、アプリケーション開発に対するクラウドネイティブ・アプローチに精通することは有益です。

もっと具体的に言えば、クラウド・アプリケーションは、クライアント側とサーバー側の 2 つの異なるシステム間で処理ロジックとデータストレージを実行するソフトウェアです。一部の処理は、デスクトップやモバイルデバイスなどのエンドユーザーのローカルハードウェアで実行され、一部はリモートサーバーで実行されます。一般に、クラウド・アプリケーションのメリットの 1 つは、ほとんどのデータストレージがリモートサーバー上に存在することです。実際、ローカルデバイス上のストレージスペースをほとんど消費しないようにできるクラウド・アプリケーションもあります。ユーザーは、Web ブラウザやアプリケーション・プログラミング・インタフェース (API) を介してクラウド・アプリケーションを操作します。これらはクラウド・アプリケーションの基本原則ですが、クライアント側とサーバー側の間で厳密に何を処理するか、ユーザーエクスペリエンスをどのように変更するかには、いくつかの異なる形式があります。

SaaS (Software-as-a-Service) は、クラウド・コンピューティングの形式としては一般的なもので、Web アプリケーションと、そのすべての基盤となる IT インフラストラクチャおよびプラットフォームをユーザーに提供します。次のような企業や個人にとって理想的なソリューションです。

  • インフラストラクチャ、プラットフォーム、ソフトウェアのメンテナンスに携わりたくない。
  • 最小限のカスタマイズで課題を解決したい。
  • ソフトウェアのサブスクリプションモデルを利用したいと考えている。

SaaS の場合、サービスパフォーマンスはインターネットの接続スピードで決まるため、ユーザーは高速のネットワークハードウェアに投資する必要がありますが、ソフトウェアを恒久的に購入したり、堅牢なオンプレミスの IT インフラストラクチャに投資したりする必要はないので、ユーザーの初期費用は削減されます。

SaaS の例には、Google Docs や Microsoft Office 365 のような一般消費者向けのサービスや、人事ソフトウェア、コンテンツ管理システム、顧客関係管理ツール、 統合開発環境 (IDE) を提供するエンタープライズ向けのサービスがあります。

PaaS (Platform-as-a-Service) は、稼働するために必要なインフラストラクチャや環境のビルドおよびメンテナンスを必要とせず、独自のアプリケーションを開発、実行、管理するプラットフォームを提供します。これは、PaaS が外部のサービスプロバイダーのユーザーにハードウェアとアプリケーション・ソフトウェア・プラットフォームを提供するためです。つまり、プラットフォーム上に存在する実際のアプリケーションとデータを制御できるので、PaaS は開発者とプログラマーにとって理想的なソリューションになります。たとえば、開発者は、企業がすでに使用している既存の Oracle データベースと統合する新しいアプリケーションを作成するための基盤として PaaS を使用することがあります。

IaaS (Infrastructure-as-a-Service) とは、プロバイダーがパブリッククラウドプライベートクラウドを介してインフラストラクチャ (実際のサーバー、ネットワーク、仮想化、ストレージ) を管理することを意味します。API やダッシュボードからインフラストラクチャにアクセスでき、インフラストラクチャはレンタルされます。オペレーティングシステム、アプリケーション、ミドルウェアなどはユーザーが管理し、ハードウェア、ネットワーキング、ハードドライブ、ストレージ、サーバーは AWS や Microsoft Azure などのプロバイダーが提供します。機能停止、修理、 ハードウェアの問題にもプロバイダーが対応します。

クラウド・アプリケーションについてさらに詳しくご説明いたします。Red Hat コンサルタントまでお問い合わせください。 

関連資料

記事

ステートフルとステートレス

あるものがステートフルかステートレスかは、別の何かとの通信の状態が記録される期間と、その情報をどのように保存する必要があるかによって決まります。

記事

Quarkus とは

Quarkus は、Java 仮想マシン (JVM) およびネイティブコンパイルのために作成された Kubernetes ネイティブの Java スタックで、Java をコンテナに最適化します。

記事

サーバーレスとは

サーバーレスは、開発者がサーバーを管理する必要なくアプリケーションを構築および実行できるようにするクラウドネイティブ開発モデルです。

クラウドネイティブ・アプリケーションの詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

リソース

トレーニング

無料のトレーニング

Developing Cloud-Native Applications with Microservices Architectures