1. ホーム
  2. google-app-engine

[解決済み] どのような場合に以下を使用する必要がありますか。Amazon EC2、Google App Engine、Microsoft Azure、Salesforce.comを使うべきか?

2023-03-08 20:24:55

質問

私は非常に一般的な意味でこの質問をしています。クラウドプロバイダーとクラウドコンシューマーの両方の観点からです。また、質問は特定の種類のアプリケーションに関するものではありません (実際には、どのタイプのアプリケーション/ドメインが、SaaS PaaS IaaS のどのクラウド スラブに対して適合できるかを知ることが意図されています)。

これまでのところ、私の理解は

IaaSです。生のハードウェア(プロセッサー、ネットワーク、ストレージ)。

PaaS(パース)。OS、システムソフトウェア、開発フレームワーク、仮想マシン。

SaaS(サース)。ソフトウェア・アプリケーション。

Stackoverflowerのみなさんが、クラウドコンピューティングの概念について理解し、経験を共有してくださるとうれしいです。

編集部:わかりました、もっと具体的に言いますね。

Amazon EC2:ハードウェアレイヤーをコントロールすることはできません。しかし、OSイメージ、開発フレームワーク(.NET、J2EE、LAMP)、アプリケーションを選択して、EC2ハードウェア上に配置することができます。Google App EngineやAzureで構築したアプリケーションをEC2上にデプロイできるのか?

Google App Engine: ハードウェアとOSを制御できず、アプリケーションを構築するための特定の開発フレームワークを取得します。既存のJavaやPythonのアプリケーションをGAEに移植することはできますか?またはその逆で、GAE で構築されたアプリケーションを GAE から取り出して、Websphere や Weblogic などのアプリケーションサーバーに移植することはできますか?

Azure です。ハードウェアと OS を制御できず、アプリケーションを構築するために特定の Dev Framework を取得します。既存の.NETアプリケーションをAzureに移植することは可能でしょうか?またはその逆で、Azure上に構築されたアプリケーションをAzureから取り出して、Biztalkのような任意のアプリケーションサーバーに移植することができるのでしょうか?

どのように解決するのですか?

いい質問ですね。ご指摘のとおり、さまざまな製品がさまざまなカテゴリーに分類されます。

EC2はInfrastructure as a Serviceであり、VMインスタンスを入手し、それを好きなように使うことができます。Rackspaceのクラウドサーバーもほぼ同じようなものです。

Azure、App Engine、SalesforceはすべてPlatform as a Serviceですが、統合のレベルは異なります。Azure では任意のバックグラウンド サービスを実行できますが、App Engine は短時間のリクエスト ハンドラ タスクに重点を置いています (タスク キューとスケジュールされたタスクもサポートされています)。私は Salesforce のサービスにはあまり詳しくないのですが、私の理解では、特定のニッチに特化しているものの、ある点では App Engine と似ています。

Software as a Service に分類されるクラウド サービスは、Amazon の Simple Storage Service や SimpleDB のようなインフラストラクチャから、Fog Creek がホストする FogBugz や、もちろん StackExchange のような完全なアプリケーションまで、あらゆるものが含まれます。

一般的なルールとして、提供するものが高レベルであればあるほど、しなければならない作業は少なくなりますが、より具体的なものになります。App Engine や Azure の上に構築するのはもっと大変ですが、より多様性を提供しますし、EC2 のような生の VM の上に構築するのはもっと大変ですが(実際、かなり大変です)、より多様性を提供します。私の一般的なアドバイスは、要件を満たす最も高いレベルのプラットフォームを選択し、そこから構築することです。