2

Javaを使用してGAEでWebアプリケーションを開発すると、後で簡単に移行できる機会がありますか、またはGAEに固執しますか?Google App Engine + Javaの代替品

Google App Engine + Javaの他の代替手段は何ですか?

ない:

+1

アプリケーションをロックするのはフレームワーク作者の仕事です。アプリケーションプログラマーがロックされないようにする作業です。 –

答えて

3

GAEは、限定されたJavaやその他のAPIに対して、Googleが管理するコンテナ内で開発しています。これはクラウドコンピューティングに対するサービスとしてのPaaS - Platformです。これは、Salesforce、Facebookなどのアプローチに似ています。

しかし、ほとんどの柔軟性を得るには、柔軟性が最も高いIaaS - インフラストラクチャをサービスクラウドプラットフォーム(Amazon/Rackspace /など)で検討する必要があります。

我々は現在、RackspaceのとAmazonの両方を使用して、我々は我々が望む何でも展開することができたの上に私たちの弾性コンテナとしてのマシンを持っている(カスタムUbuntuの画像などを...)

1

おそらく、GAEにこだわっされます(または非常に類似したプラットフォームは、あなたが自分で複製できます)。

代替手段:Amazon EC2? Windows Azure?

1

GAEを使用するには、システムの周りにアプリケーションを設計する必要があります。そのため、移行には書き換えが必要になる可能性があります。確かに彼らのNoSQLデータベースは最低です。 Amazon EC2の方が良いと言われている人もいますが、まだ試していません。また、私は、Javaのものではなく、DjangoのようなPythonベースのものを好んでいます。パジャマのクライアント側ツールキットも試してみてください。

2

今GAEの最も実行可能なライバルは、Windows Azureのです。 Azureのフレームワークに依存することなく、簡単にAzureでサイト/アプリケーションを構築できます。あなたが対処しなければならないAzure APIから(ほとんどの場合、診断用に)/非常に/少ししかありません。あなたがテーブルストレージサービスのような他のAzureサービスを使用することに決めた場合、テーブルストレージから自分自身を抽象化してコードをポータブルにすることが大切です。 SQL Azureを扱うことは、SQL Serverを使用する場合と変わりありません。後でMySQLやOracleなどを利用するために、実際のrdbmsの実装(ほとんどのデータアクセスライブラリはそれを実行します)から単純な抽象化を行う必要があります。

3

気をつけて、App Engineの起動と終了の両方で動作するJavaアプリケーションを作成することができます。ただし、App Engineを離れる場合は、AppScaleを使用することをお勧めします。 AppScaleは、独自のハードウェア上にApp Engine互換環境を提供します。

関連する問題