この手に、大いなる力を。青空を探す、旅の記録。スマートフォン用の表示で見る青空を探す、旅の記録。2008-04-08この手に、大いなる力を。Codeぶっ飛んだサービスが始まりました。Googleを支える超大規模なグリッド上に、自作のアプリケーションを収容して運用できる。従来だったら共有サーバを借りたり、場合によっては専用サーバを1台借りてその運用から全部やらなきゃいけなかったのが、Googleのサーバ群で運用できるのでそんな手間が一切かからない。おまけに、リクエストが殺到してリソースが足りなくなったら自動的に必要な分だけ負荷分散をかけてくれるそうで、小さくはじめても勝手に要るだけ育つ。処理が走るのはリクエストに応答するだけで、long-pollでクライアントを掴みっぱなしにしたり夜間バッチでデータを生成するってことは出来ないみたいなのが注意点かな。普通にブラウザからリクエストされたらなんか作って返す、ってカタチのアプリケーションを組むなら問題はない。あと、現在はPythonで書かれたアプリケーションのみ動かせる。いえ他言語も対応の予定があるみたいだから、近いうちにRubyもいけるようになるかな?バッチ処理は出来ないから、ウチのアプリケーションだと読書びよりと月燈火はアウト、カケラの樹は乗せられる。Rubyサポートが入ったら乗せ替え考えようか。それ待つだけなのもアレだし、Pythonも覚えるかなあ。初回枠は1万アカウントで、既に埋まって招待待ちになってる。Analyticsの時みたいに思いっきり待たされるかと思ったら半日しないうちにインビテーションが来た。速いペースで拡張していってるみたいだから、興味を持ったらサインアップしておくのがいいと思う。Codeをざっと途中まで訳したので載せておきます。id:hamatsu1974さんが全訳されたのでそちらをどうぞ。Engineを使えばあなたのウェブアプリケーションをGoogleのインフラ上で実行できます。Engineアプリケーションは容易に開発、メンテナンスが出来、トラフィックやデータ保存領域を必要に応じて簡単に拡張できます。Engineを使えば、サーバの管理は必要有りません。あなたは単にアプリケーションをアップロードすれば、すぐにユーザにサービスを提供できるようになります。Appsを使ってあなたが持っているドメインを使うことも出来ます。アプリケーションは全世界に向けて公開することも出来ますし、あなたの組織内のメンバーに限定することも出来ます。Engineを始めるのに費用はかかりません。無償のアカウントでサインアップし、アプリケーションを開発して公開するのになんの費用も義務も必要有りません。無償アカウントでは500MBのデータ保存領域と、月に500万ページビューを支えるのに十分な演算能力と帯域幅が使用できます。Engineのプレビューリリースの期間中は、無償アカウントのみが利用できます。近い将来には、追加の計算機資源を購入できるようになる予定です。Engineは、巨大なデータや高負荷状態でも安定して稼働するアプリケーションの開発を容易にします。この環境には次のような能力があります。EngineアプリケーションはPythonプログラミング言語を使って実装されています。実行環境はPython言語の全てと主な標準ライブラリを全て含んでいます。Engineでサポートされる唯一の言語ですが、我々は将来的にはさらに多くの言語をサポートしたいと思っています。下層のOSへのアクセスが制限された環境で実行されます。Engineがアプリケーションへのリクエストを必要に応じて複数のサーバで処理するために必要なものです。サンドボックスはあなたのアプリケーションを、ハードウェアやOS、物理的な場所から独立した安全で信頼できる環境へと隔離します。サンドボックス下での制限の例は次の通りです。アプリケーションは他の計算機にインターネット経由でのURLアクセスやメール送受信、API経由でのみアクセスできます。他の計算機からはアプリケーションに標準的なポートでのHTTP(かHTTPS)でのみアクセスできます。アプリケーションはファイルシステムに書き込みできません。ファイルの読み込みは可能ですがアプリケーションのコードと共にアップロードされたモノのみです。Engineのデータストアを使用する必要があります。アプリケーションのコードはリクエストに対してのみ走り、数秒のうちに応答を返す必要があります。サブプロセスを生成したり、応答を返した後での処理は出来ません。EngineはPythonプログラミング言語を使った実行環境を提供します。他のプログラミング言語と実行環境は将来のリリースでの追加を考えています。Python実行環境はPython2.5.2を使用しています。この環境はPythonの標準ライブラリを含んでいます。ソケットを開いたりファイルを書き込んだりなどサンドボックスの制限に引っかかるようなライブラリ呼び出しは成功しません。Engineの実行環境でサポートされないいくつかのモジュールは無効になっており、importすると例外が発生します。アプリケーションはPythonで記述する必要があり、Cでの拡張はサポートされません。この段落の残りの概要は、こんな感じ。データストア、Googleアカウント、URLリクエスト、メールなどのAPIが組み込まれているウェブアプリケーションフレームワークDjangoを含む3rdパーティーのライブラリをアプリケーションと一緒にアップロードできる。内部で非サポートの標準ライブラリを呼んでおらず、Pythonのみで記述されている場合に限る。21:44この手に、大いなる力を。