18

Google のインフラストラクチャがなくても他のプラットフォームで動作するGoogle App Engine Python コードを作成するためのガイドラインはありますか?

他のプラットフォームで Google App Engine 用に設計されたアプリケーションを実行できるオープン ソース フレームワークを作成する既知の試みはありますか?

編集:

明確にするために、質問は実際には次のとおりです。

現在 Google App Engine でアプリケーションを開発している場合、後で別のプラットフォームに移行できますか?それともロックインですか?

4

9 に答える 9

33

アプリを完全に移植可能にするために必要なコンポーネントがいくつかあります。

  • ランタイム環境自体。これは、App Engine 環境をエミュレートする CGI または FastCGI サーバーをセットアップすることで、比較的簡単に移植できます (それ自体は、基本的に CGI をわずかに拡張したものです)。これを行うためのコードのほとんどは、SDK に既に含まれています。残念ながら、このためのパッケージ化された簡単なツールキットはまだありません。
  • データストア。これまでで最も複雑な API を移植します。多くの取り組みが進行中です。AppScaleは EC2/Eucalyptus/Xen 上で実行され、HyperTable または HBase バックエンドを使用します。これはまだ非常にベータ版の品質であり、データ コネクタを個別に配布することはありません (これは、完全なアプリを独自のクラウド上で実行するソリューションの始まりです)。Jens はSQLite バックエンドを書いている/書いていました。バックエンドとして BDB-JE を使用し、完全に機能する (ベータ版の品質ですが)私自身のプロジェクトBDBDatastoreがあります。他の人が言及したAppDropは、単に開発サーバーをバックエンドとして使用するため、本番環境での使用には適していません。
  • ユーザー API は、OpenID ベースの API など、別のものに置き換える必要があります。繰り返しますが、かなり単純ですが、まだ事前に作成されたソリューションはありません。
  • Memcache API には、標準の C memcache バックエンドを使用するバックエンドが必要です。
  • 他の API には、SDK の一部として完全に機能するバックエンドがあるため、実際に移植する必要はありません。
  • Cron のサポートも、バックグラウンド処理や XMPP などが利用可能になったときに実装する必要があります。

ご覧のとおり、やるべきことはたくさんありますが、Google の環境外で App Engine アプリを実行するための基本的な障壁はありません。実際、興味があれば、ぜひ参加してください。私と他の人々は、さまざまな部分のソリューションを組み合わせて、独自のアプリをホストするための単一の「OpenEngine」ソリューションにする計画を立てています。

于 2009-05-21T19:09:25.810 に答える
0

AppScale は、Google App Engine の最も成熟したオープン ソース実装です。2008 年から開発が続けられており、現在、Python、Java、Go、および PHP の 4 つの言語すべてをサポートしています。現在、アプリケーションを本番環境で実行しているユーザーがいます。

FAQ では、サポートされている API と不足している API について説明しています: https://github.com/AppScale/appscale/wiki/FAQs

(免責事項:私はプロジェクトに取り組んでいます)

于 2014-02-17T20:48:14.893 に答える
0

台風をチェックしてください。ベータ版ですが、非常に使いやすいです。アプリの 1 つを、このスタックを実行する社内サーバーに移動しました。

于 2010-05-09T17:48:12.403 に答える