2009-07-13 1 views
0

クラウドでアプリケーションを実装する際に従うべきベストプラクティスはどれですか?クラウドコンピューティングのベストプラクティス

私はクラウドに依存しないアプリケーションを構築したいと思います。ですから、DACは設定を変更するだけで、S3/AppEngine/Azureに対抗できるはずです。コードがクラウドプロバイダーに依存しないようにするためのフレームワークやベストパターンがありますか?

EDIT:DAC /セッション管理などのさまざまなコンポーネントをどのように抽象化できるかについて、私は理解したいと思います。将来(クラウドプロバイダが他の言語をサポートし始めると)、あるベンダーから別の私が理解するように、Djangoの代わりにApp EngineのフォームとApp Engineのフォームの代わりにApp Engineのモデルを使用する必要があります。これらはプロバイダにアプリにロックする傾向があります。これを避ける方法はありますか?

答えて

0

今は、構成変更だけで3つのクラウド間でアプリケーションを移動できるというあなたの目標は実現できません。 appengine(pythonまたはjava)上で動作し、ASP.net上で動作する効率的なコードを記述するのは難しいでしょう。 (誰かが空腹でdjangoを走らせていない限り素晴らしいです)

appengineとEC2、またはAzureとEC2のいずれかで、3つのコードベースのうちの2つで動作するコードベースを取得することができます。 3つのうち、amazonのEC2は最低レベルのサービスであり、したがって最も柔軟性があります(実行するには、さらに多くの管理が必要です)。あなたはあなたの晴れやかな環境に合うようにasp.netとSqlサーバーを持つWindowsボックスを実行するか、appengine環境に近づけるためにJavaスタックを実行できます。

0

さまざまな提供の間に共通点はないと私には思われます。アプリはちょうどのインスタンスに を展開しているので、

  • S3は、マシンイメージタイプ ソリューションの詳細ですが、 クラウドでESXサーバを考える(例えば、3あなたは....言及しました)マシンイメージ、 LinuxまたはWindows。
  • AppEngineのは
  • アズール(コンピューティング)(Javaサポート がちょうど最近追加) が PythonやJavaのいずれかのアプリケーションのためのアプリケーション環境をホストされている追加の 束とホストされたASP.NETのWebアプリへ より似ていますサービス (メッセージング、BLOBストレージなど)

ので一部共通点があるが、私はこれらの製品のほとんどの間でのアプリの移行を考えていませんが、すべてまっすぐ進むことです。しかし、私もそれは不可能だとは思わない。

EDIT:実際に私はS3がマシンイメージの解決策ではないと嘘をつきました。私はそれをEC2と混同していました。 S3は、データストレージのホステッドアプリケーションとは何の関係もないソリューションです。 (おそらくホストされているアプリのストレージソリューションではない)。

0

AppEngineは、データアクセスのためにJDOとJPAとともにJ2EEコンテナ仕様を実装しています。したがって、Javaを使用すると、J2EEアプリケーションをAppEngineとの間で簡単に移動できます。 EC2では、サーバーを自分で管理する必要があります。つまり、JBossのような独自のJ2EEサーバーをインストールして構成することになります。クラスタリングとスケーリングにも対処する必要があります。 AppEngineはそれをすべて行います。 Azureは.NET向けです。

+3

ランダムなJ2EEアプリケーションをappengineに移動することが「とても簡単」であるとは確信していません。アプリエンジンの上にあるJDOは、SQLデータベースの上にあるJDOとは非常に異なっています。 –

関連する問題