Amazon EC2、Google App Engine、Microsoft Azure、Salesforce.comはいつ使用すべきですか?


88

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

これまでの私の理解は:

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

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

SaaS:ソフトウェアアプリケーション。

Stackoverflowerがクラウドコンピューティングの概念についての理解と経験を共有できればすばらしいと思います。

編集:わかりました、私はそれをより具体的な方法で置きます-

Amazon EC2:ハードウェアレイヤーを制御できません。しかし、OSイメージ、Dev Framework(.NET、J2EE、LAMP)、およびアプリケーションを選択して、EC2ハードウェアに配置することができます。Google App EngineまたはAzureで構築されたアプリケーションをEC2にデプロイできますか?

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

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


2
Rackspace Cloud / Rackspace Cloud Serversを忘れました
phoebus 2009年

2
興味深い質問ですが、サーバーアプリケーションを作成する方法だけではなく、サーバーアプリケーションを配布する方法を重視しているため、ServerFaultに適しています。たぶん、これを参照するSFに2番目の投稿を投稿し、ここからSFのQへのリンクを追加する必要があります。そうすれば、プログラマーとシステム管理者の両方からより良い見解を得ることができます!
Wim ten Brink、

@phoebusもCloudSigmaあまり知られているが、非常にスケーラブルです。
AwesomeUser 2014年

回答:


58

良い質問!ご指摘のとおり、さまざまなオファリングはさまざまなカテゴリーに分類されます。

EC2はサービスとしてのインフラストラクチャです。VMインスタンスを取得し、必要に応じてそれらを使用します。Rackspace Cloud Serversはほぼ同じです。

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まで、あらゆるものです。

一般的には、オファリングのレベルが高いほど、実行する必要のある作業は少なくなりますが、より具体的になります。バグトラッカーが必要な場合は、FogBugzを使用するのが明らかに簡単です。App EngineまたはAzureの上に1つを構築することはより多くの作業ですが、より汎用性を提供します。一方、EC2のようなraw VMの上に1つを構築することはさらに多くの作業(実際にはかなり多く)ですが、より多くの汎用性を提供します。私の一般的なアドバイスは、まだ要件を満たしている最高レベルのプラットフォームを選び、そこから構築することです。


こんにちは、現在私たちはGoDaddyのを使用してarvixeが、我々はアマゾンAWSやAzureのに移動することを計画している、私はから読んで、ここでのコードの変更のAWSロットのために必要であることが、オンライン小売サイトとして我々はの変化を望んでいませんコードには時間がかかるので、この状況で何を選択するのが最も良いホスティングでしょうか?
shaijut 2015年

13

これは素晴らしい質問です。私はAzureに部分的ですが、他の人との経験があるため、完全な開示。

Azureが他の企業より際立っているのは、オンプレミスからクラウドへの迅速な移行です。例えば ​​-

  • SQL Azure-接続文字列を変更し、DBをアップロードしてください。
  • キューはMSMQとよく似ています。
  • ブロブはどのように振ってもほぼブロブですが、クレイジーなスケールです。
  • テーブルストレージコンポーネントは、名前と値のペアに信じられないほどのスケーラビリティを提供するので優れていますが、慣れるには少し時間がかかります。
  • Service Busは、さまざまな通信パラダイムを可能にするため、サービスの中で私のお気に入りです。2つのSBエンドポイントは、最初に相互に接続しようとしますが、接続できない場合、クラウドを介してルーティングします。ファイアウォールが邪魔する傾向がある場合、非常に安全でスケーラブルな処理が可能になります。
  • アクセスコントロールリスト-通常はサービスバスと組み合わせて、適切なユーザーが適切なものにアクセスできるようにします-クラウドのSAMLを検討してください。

お役に立てば幸いです。


8

現在、私のクラウドエクスペリエンスはSalesforce.comに限定されています

標準的なビジネスオペレーションと自動化のために、アプリを非常に迅速に起動して実行できるようにする多数の機能を提供します。特に以下のメリットがあります。

  • セキュリティ(管理者はオブジェクトとフィールドへのアクセスを制御できます)
  • ワークフローと承認
  • 自動UI生成
  • 組み込みのレポートとダッシュボード
  • システム全体(カスタム変更を含む)はWebサービス経由でアクセス可能
  • システム内のデータを公開サイト(eコマースなど)を通じて利用可能にする機能
  • 標準的な問題を解決するためのサードパーティアプリの大規模なライブラリ

プラットフォームはすべての問題を解決するわけではありません。

私はこのプラットフォームを使用して原子力発電所をモデル化したり、次のTwitterを作成したりしません。


6

クラウドコンピューティングの主要なポイントは、使用料を支払うことでコストを節約し、コンピューティングリソースの即時展開を可能にすることです。

コストは、純粋にxインスタンスあたり1時間あたりのセント数ではありません。コストには、メンテナンス、開発、管理などが含まれます。クラウドの大きな利点は、私の心では、お客様がコアビジネスコンピテンシーの範囲内にないものを管理する必要がないようにすることです。。私が保険会社の場合、私の開発者に私の保険請求の問題に集中してもらい、私の請求、料金などのニーズを解決します。電子メールサーバー、ファイルサーバー、ドキュメントリポジトリ、およびOSパッチの管理の問題への対処は避けたいです。 、サービスパックなど

したがって、私の意見では、最大の利点はSaaSおよびPaaSクラウド製品から得られます。PaaSまたはSaaSに特定のニーズに対する重大な制限がある場合にのみ、IaaSに移動する必要があります(つまり、専用のCOMコンポーネントのセットをインストールする必要があり、Azureはそれらをサポートしていません)。

SaaSは、クライアントの基幹業務ではないが実用性の高い商品タイプのアプリケーションに適しています。これらは、一般的なメッセージングシステム、ポータル、ドキュメントリポジトリ、電子メールシステム、CRM、ERP、経理などです。サポートされているサードパーティ製品をカスタマイズできる場合は、独自に作成してホイールを再発明するのはなぜですか。

PaaSは、企業の主要なビジネスサービスをサポートする基幹業務ソフトウェアに最適です。クライアントをOS管理に対処する必要がないようにし、クライアントがビジネスシステム開発に集中できるようにします。


3

また、PaaS(Google App Engineなど)の利点を活用して、場合によっては、必要に応じて、IaaSプロバイダー(Amazonなど)から仮想マシンを引き出していくつかの処理を行い、返送することで、PaaSを拡張することもできます。 Google App Engineへの出力。

このようにして、両方の長所を手に入れます。GAEでスケーラブルなアプリを迅速に開発し、Amazon仮想マシンから必要なプログラムを実行することで、いつでもアプリを拡張できます。


興味深い@ joemar.ctですね!それはどのようなタスクですか?チュートリアルはどこにありますか?
Andru

2

これは変化し続けており、Windows AzureはVMもサポートするようになり、現在はIaaSプロバイダーにもなっています。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.