AppEngineは、アクセスがあったときにアプリケーションを起動し、しばらくアクセスが無ければアプリケーションを終了させ、また次のリクエストで再起動するという仕組みを導入しています。 そのため、アプリケーションを起動(spin-up)する時間がとても重要になってきます。このspin-upの時間はpython(webapp)で60cpu_ms以下。(cpu_msはcpuが使う仮想的な時間ですがmsと同じ感じで捉えてもらってもとりあえずは大丈夫です)JavaのServletだと600cpu_msくらいです。PythonでもDjangoような大きなフレームワークだと1000cpu_msくらい(アプリによる)かかりますが、許容範囲内。JavaだとSlim3で1300cpu_ms、Springだと早くて7000cpu_msという感じで、Slim3がギリギリ許容範囲内でしょうか。ほんとうは、1000
あんまり他の人と話はできなかったけど、純粋にテーマと発表が為になりました。 @shuji_w6eさんと@quicyさんありがとうございました! GAE/Jについて(@shuji_w6eさん) spin-up、spin-downについて spin-up アプリケーションの起動にかかる処理のこと。インスタンスの起動時間。何も考えずに作ると結構時間がかかる。 spin-down Google App Engineでは1分以上リクエストがないと強制的にインスタンスが終了する。Googleのサーバのリソースの円滑な割り当てを行うため。 ある程度大きいサービスを提供する場合、随時人がアクセスしリクエスト発生するためspin-upにかかる時間をそれほど考えなくてよいが、 あまりアクセスされないサービスの場合や、人の少ない深夜であったりすると結構spin-upにより待たされてしまい印象が悪くなってしまう。
Welcome to Episode 15. In this episode, we shall cover how to incorporate a CAPTCHA in your application. The CAPTCHA solution that I will be demonstrating over here is the ReCAPTCHA project found here. To quote from its Wikipedia entry, a CAPTCHA is a type of challenge-response test used in computing to ensure that the response is not generated by the computer. Usually, one sees one or two words s
Transparent persistence. Powerful querying. Use the API your prefer, to a very wide range of datastores. The most standards-compliant Java persistence product. Open Source software, under the Apache 2 license. Persisting Java objects is now easy. Choose your Datastore from a very wide range! Providing access to industry leading RDBMS, map stores such as Cassandra and HBase, the Neo4j graph store,
はじめに 6月9日に開催された「Google Developer Day 2009」で、夷藤勇人氏と鵜飼文敏氏により「Javaで動かすGoogle App Engine」というセッションが講演されました。本稿では、その概要をお伝えします。 Google Developer Dayとは、Googleが主催する開発者向けのイベントです。例年、Google Japanのスタッフのみならず、世界中のオフィスからソフトウェアエンジニアやデベロッパーアドボケイト(advocate;支持者)、API Expert(Google認定のサードパーティエンジニア)が駆けつけて、Googleが関わる最新のテクノロジーのセッションが行われています。 セッションでは、前半で夷藤勇人氏がGoogle App Engineの概要を説明し、後半で鵜飼文敏氏がデータストアについて説明しました。 以下、罫線で囲んだ部分は、セ
はじめに Googleのインフラで実行されるクラウドサービス「Google App Engine」が2009年4月7日にJavaに対応しました。Javaエンジニアにも利用できるようになった、Google App Engineを一緒に勉強して行きましょう! 今回は、他のサーバと通信をするための、URL Fetch Java APIを勉強したいと思います。 対象読者 ウェブサービス開発に興味のあるJavaエンジニア Google App Engine for Javaに興味がある方 必要な環境 「Google Plugin for Eclipse」がインストールされている、Eclipse 3.3(Europa)か3.4(Ganymede) 開発環境の構築手順については、第1回の解説を参照してください。 URL Fetch Java APIとは? Google App Engineではソケット通
ゴールデンウィークに特に予定のなかった筆者は,「ちまたで噂のGoogle App Engine for Java(GAE/J)とFlexでスケジュール共有ツールでも作ってみよう」と思い立ちました。およそ5日間かけて開発を進めたのち,2009年5月6日に「ご都合.com(画面1)」を公開しました。その後,はてなブックマークやニュースサイトなどでご紹介いただいたおかげで,公開後6日で約2000人の方にご利用いただいています。 そこで本稿では,この「ご都合.com」の開発で実際に筆者が得た経験を通じて,GAE/JによるWebアプリケーション開発の実際とそのポテンシャルについて紹介します。 米Googleが2008年4月に発表したGoogle App Engine(画面2)は,「自分が開発したWebアプリケーションをGoogleのデータセンターで運用できるクラウドコンピューティング・サービス」です
App Engine Java Overview Welcome to Google App Engine for Java! With App Engine, you can build web applications using standard Java technologies and run them on Google's scalable infrastructure. The Java environment provides a Java 6 JVM, a Java Servlets interface, and support for standard interfaces to the App Engine scalable datastore and services, such as JDO, JPA, JavaMail, and JCache. Standar
GAE/JでJavaのソースコードやJSPに日本語を使うと、ローカルの開発サーバ上では問題ありませんが、クラウドにアップロードするときに、プラットフォームのエンコーディングでコンパイルしようとしてUTF-8を使っている場合は失敗します。 これに対応するには、appengine-web.xmlのシステムプロパティに <property name="file.encoding" value="UTF-8"/> <property name="DEFAULT_ENCODING" value="UTF-8"/>を追加します。 http://www.jxva.com/blog/2009-04/change-the-google-app-engine%27s-javac-compiler-encoding.html 何語で書かれているのか良くわからないけど。 これで、確かにアップロードには成功するよう
Google App Engine Google App Engineの対応言語にJavaが追加された発表は、Javaデベロッパによって多くの場合は讃辞をもって受け止められた。発表があって以来、Javaを使ったプロダクトやフレームワーク、ライブラリを開発しているデベロッパがGoogle App Engineで動作させてみたという発表を各々のブログを通じて活発に実施している。クラウドプラットフォームとしての制限があるためすべての機能が素直に動作するわけではないようだが、新しいプラットフォームとして軽快なでだしといえそうだ。 そうした反応のひとつに、gregwに掲載されたGoogle AppEngine uses Jetty!がある。Google App EngineのサーブレットコンテナとしてJettyが採用されているようだ、という内容だ。SDKにJettyのクラスが含められているほか、例外
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く