タグ

GAEに関するytotoyのブックマーク (38)

  • AppEngine/Jのspin-upを劇的に改善する方法 - ひがやすを技術ブログ

    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

    AppEngine/Jのspin-upを劇的に改善する方法 - ひがやすを技術ブログ
  • AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ

    AppEngineは、万能なプラットフォームではありません。むしろ、かなり使い道は限定されていると言ってもいいでしょう。 向いていないアプリで使うとかなりはまって、アプリが完成しないリスクがあります。 一方、向いているアプリで使うとこれまでよりかなり費用を節約できたりとか、儲けにつなげることができます。 AppEngineにどのようなアプリが向いているかというと、AppEngineがGoogleの既存のインフラをそのまま利用していることをまず知っておく必要があります。 Googleのインフラは、(極端に単純化すると)大量のデータを多くの人に同時に見せるために最適化されています。 AppEngineも同様で、大量のデータに大量にアクセスがあっても大丈夫なように、BigtableというKVSを使っています。また、自動でスケールアウトするWebのFront Endも既存のインフラをそのまま使って

    AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ
    ytotoy
    ytotoy 2010/11/08
  • Google AppEngineについて思うところ

    早すぎる最適化オジサン @makotokuwata まずAppEngineがいまいちブレークしないのは、お金を集める仕組みが用意されていないことと、Datastore (Bigtable) の使い方が難しいことの2点だと思う。 2010-11-05 23:11:32 早すぎる最適化オジサン @makotokuwata 1点目の、集金システムについて。AppEngineと比べて、たとえばiPhoneアプリは十分ブレークしているといえるけど、これはやはりiPhoneアプリは販売して収益を出せる可能性があることが大きい。 2010-11-05 23:12:58 早すぎる最適化オジサン @makotokuwata それに比べて、GAEはインフラと開発環境は提供するけど、集金の仕組みは提供できてない。言い方を変えると、無料で使える環境は提供しているけど、収益を上げるための環境は提供できてない。そこが

    Google AppEngineについて思うところ
    ytotoy
    ytotoy 2010/11/07
  • Google App Engineで開発するスケールするアプリケーション(後編)

    稿の前編では、Google App Engineの特徴、スケールアウトの基的な考え方、Google App Engineのインフラ・サーバ構成などについて説明しました。そして中編では、ミニブログサービスのTwitterGoogle App Engineを連携させたアプリケーションの仕様概要と、設計について説明しました。後編となる稿では、中編で説明したアプリケーションを実際にプログラミングしていきます。 はじめに Google App Engineは、開発したアプリケーションをGoogleのスケーラブルなインフラ環境上で公開できるサービスです。稿の前編では、Google App Engineの特徴、スケールアウトの基的な考え方、Google App Engineのインフラ・サーバ構成などについて説明しました。そして中編では、ミニブログサービスのTwitterGoogle App

    Google App Engineで開発するスケールするアプリケーション(後編)
    ytotoy
    ytotoy 2010/11/05
  • Windowsユーザーの為の、キャラボット簡易デプロイパッケージ版インストールの図解入り解説

    Windowsユーザーの為の、キャラボット簡易デプロイパッケージ版インストールの図解入り解説です。 こちらの解説は、圧縮ファイルの解凍やファイルやフォルダの移動・コピー、コマンドプロンプトでのコマンド入力でも何でもやったるぜ! ってな人が対象になっています。 自信が無い方は、Windows初心者向け -バッチファイルを使用したキャラボット簡易デプロイパッケージ版インストールの図解入り解説 の方へどうぞー。 まず、うちの環境はXPなのでXPを元に作成してあります。(2011/06時点でWin7に変わってます) が、Win2k~Win7までそれほど変わりは無いと思います。 作成にあたり、携帯電話のメールアドレスが必要になりますので、覚えていない方はメモをしておきましょう。 このページは、より判り易くする為に、いただいたコメントやtwitterの@key_coffee宛てのリプライ、サポートフォ

    Windowsユーザーの為の、キャラボット簡易デプロイパッケージ版インストールの図解入り解説
    ytotoy
    ytotoy 2010/10/30
  • GAE/Python で HTTPリクエストを並列化 « Stop Making Sense

    August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) はじめに GAE/Python ではスレッドや子プロセス等による並列化が出来ないので、タスクキューを使うのが一般的です。 しかし、URLフェッチについては、非同期リクエストを利用することで、タスクキューを使わずに複数のHTTP通信を同時実行出来ます。

  • Google App Engine上で動作するブログエンジン·Micolog MOONGIFT

    MicologPythonGoogle App Engine用のオープンソース・ソフトウェア。ブログを書く時にはアメーバやはてな、ライブドアブログのようなASPを使ったり、自分でサーバを立てるのが一般的だろう。だがここ最近注目されているのがクラウドを使った方法だ。 ユーザ画面 つまりGoogle App Engineを使ってブログシステムを立てれば、アクセスが増えない限り無料でブログを構築できるようになるのだ。もちろん独自ドメインも使える。そのプラットフォームとして高機能なMicologを紹介しよう。 MicologWordPressとまではいかないがかなり高機能なブログエンジンとなっている。まずプラグイン機能に対応しており拡張が出来る。さらにテーマ機能によってデザインも変更できる。通常のエントリーの他にページやファイル添付、執筆者管理など様々な機能が盛り込まれている。 管理画面 さ

    Google App Engine上で動作するブログエンジン·Micolog MOONGIFT
  • App EngineをjQueryでAjax化しBigtableをCRUD操作

    App EngineをjQueryでAjax化しBigtableをCRUD操作:Google App Engineで手軽に試すJavaクラウド(3)(1/4 ページ) BigtableはCRUD処理ができるんです! 連載第1回の「EclipseでJava版App Engineを始めるための基礎知識」では環境設定が中心でしたが、連載第3回となる今回は、「Google App Engine for Java(以下、GAEj)」上で動作するJSPのユーザーインターフェイス(以下、UI)をAjax/JavaScriptでリッチにし、「Bigtable」でCRUD(登録・参照・更新・削除)処理を行ってみます。 今回の解説では、Ajax/JavaScriptライブラリのjQueryのバージョン1.3.2を使用したCRUD処理画面の操作内容と、そのJavaScriptでのプログラム処理を最初に見ていき、

    App EngineをjQueryでAjax化しBigtableをCRUD操作
    ytotoy
    ytotoy 2010/09/24
  • GAE/Jデータストアのバックアップ – trash thread

    GAEのデータストアに保存されたデータをバックアップする方法がないので作ってみました。下記のリンクからソースコードをダウンロードできます。エンティティ単位のため、親子関係などは考慮されません。また、重要なデータには使用しないでください。 バックアップからリストアまでの流れ バックアップ 低レベルAPIでエンティティを1つずつ取得し、シリアライズしてバイナリファイルとしてダウンロード。1リクエストで1Mバイトの制限があるため1エンティティを1ファイルとしています。 リストア バックアップされたエンティティを1ファイルずつpostで送信。デシリアライズしてデータストアに格納する。 使用方法 サーブレット側: GAEBackupServlet.jarの中身をGAEのどこかに設置して、マッピングする。FileBackup.java#BackupKindListにバックアップするデータクラス(kin

    ytotoy
    ytotoy 2010/09/24
  • GAE/Jでブラウザキャッシュを利用 – trash thread

    GAEのサーブレットでデータストアに保存した画像等を出力するとき、アクセスの度にデータを送ってしまうのを防ぐ方法。GAEではファイルを生成できないためにこうなる。 データストアにデータとその時刻を保存する レスポンスにLast-Modified,Expiresヘッダーを追加する If-Modified-Sinceリクエストがあれば比較し、同じならデータは送らず304 Not modifiedを返す 参考: GoogleAppEngine/ブラウザキャッシュの有効化 [JSAPI] 動的ページのAuthSubまとめ。

    ytotoy
    ytotoy 2010/09/24
  • JDO を利用したGAEデータストアの使用 - おちラボ

    GAEでは、JDOまたはJPAによるインタフェースでデータアクセスに対応します。ここでは、JDOについて書きます。 GAEデータストアの特徴   <現在調査中> JDOとは データの永続性を扱うインタフェースデータベースを扱う際のデータの状態(CRUD)管理をする JDOインタフェースを利用することから、感覚的には、HibernateのようなORマッピングツールを使うのと同じように扱えます。 ファイル構成 今のところ、NetbeansのGAEプラグインでは、各構成ファイルを自動生成する機能がありません。よって下記のファイルは手動で作成してもらうことになります。 <?xml version="1.0" encoding="utf-8"?> <jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"     xmlns:xsi="

    ytotoy
    ytotoy 2010/09/21
  • 2/5 データストアにデータを保存する [Javaプログラミング] All About

    データストアにデータを保存する(2ページ目)今回は、プロジェクトの基構成を理解し、GAEの中でもっとも重要な機能である「データストア」を利用してみましょう。 データストアを使うために必要なクラス では、さっそくGAEの機能を利用したアプリケーションを作ってみましょう。GAEでサポートされている機能の中で、もっとも重要なものといえば、やはり「データストア」でしょう。これは、Googleに用意されている「BigTable」と呼ばれる巨大データベースを利用してデータの保存や検索などを行うためのものです。 GAEからデータストアを利用するには、「JDO」というライブラリを使用します。これは「Java Data Objet」というもので、Javaのオブジェクトを永続的に利用するための機能を提供するものです。GAEにはこのJDOが搭載されており、これを利用してデータを管理するようになっています。 J

    2/5 データストアにデータを保存する [Javaプログラミング] All About
  • visible true : Google App Engine for JavaのDatastoreでStringが500文字まで・・・

    2010年04月23日13:21 カテゴリメモGAE/J Google App Engine for JavaのDatastoreでStringが500文字まで・・・ Datastoreでエンティティを適当にStringとかにしていたら java.lang.IllegalArgumentException: summary: String properties must be 500 characters or less. こんな感じで怒られてしまった。 Stringは500バイトまでなんですね・・・ ドキュメントにも書いてあるし・・・。 データ クラスの定義 com.google.appengine.api.datastore.Textを使えとの事。 Textの場合ソートできないそうです。まぁ500バイト以上の文字列のカラムでソートはしないすね多分。 StringのText化は比較的簡単

    ytotoy
    ytotoy 2010/09/21
  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
    ytotoy
    ytotoy 2010/09/16
  • egashira > Google App Engine > 静的なページのみでGAEサイトを構築する

    Google App Engine(GAE)はWebアプリのインフラなので、来はPythonJavaなどを駆使した動的なページでサイトを構築します。 しかし、通常のCSSファイルやJavaScriptなどの静的ファイルを使用する仕組みをもっているため、最初に簡単な設定さえ行えば、通常のホスティングと同様のHTMLによる静的なサイト構築も行うことができます。 同じようなGoogleのサービスでGoogleサイトがあり、これも無料で利用することができます。このGoogleサイトはWebブラウザのみでお手軽にコンテンツを書いたり管理したりすることができる反面、カスタマイズ性は低く、HTMLを自分でコーディングしたい場合には不向きです。 このページでは、テキストエディタやDreamweaverなどの一般的なWebデザインソフトウェアを使ってWebページを作り、FTPでサーバにアップロードする

    ytotoy
    ytotoy 2010/08/26
  • 「Google App Engine」の企業利用におけるさまざまな課題

    連載ではパブリッククラウドを使った企業向けシステム構築について解説している。第1回はAmazon Web Services、第2回はForce.comを取り上げた。今回は「クラウド」という言葉を最初に使ったとされるGoogleが提供している「Google App Engine」(以下、GAE)を取り上げる。毎度申し上げていることではあるが、変化の激しい分野でもあるので、記載されている情報は原稿執筆時点のものであることをご了解いただきたい。 GAEの成り立ち 検索エンジンで創業したGoogleだが、今では何十万人ものユーザーを抱えるフリーのメールやカレンダー、世界中をカバーする地図情報などを提供する「超巨大情報企業」であることは周知の事実である。われわれは日ごろ、これらのサービスを便利に使っているが、少し考えればその裏に膨大なコンピュータリソースと、高度な利用技術が潜んでいることは想像に難

    「Google App Engine」の企業利用におけるさまざまな課題
  • Google App Engineの料金体系が面白い

    社内でGoogle App Engineのミニ勉強会をやることになったので、技術者らしくAPIとかBigTableまわりとかやろうかなーと思って色々ドキュメントをあさっていたところ、思いがけず非常に面白いものを見つけてしまった。 それは、料金体系。たいていのGAE紹介サイトには、〜まで無料、以降〜みたいな形でさらっと書いてあるんだけど、思った以上に奥が深い。DoCoMoやソフトバンクモバイルより奥が深い。しかも、この料金体系によってアプリケーションの作り方にまで影響が出てくる可能性がある。こうなってくると、JPAとかJDOとか開発環境とか紹介するのなんて馬鹿馬鹿しくなってしまった。Google App Engine勉強会、って名目で人呼んどきながら、ずーっと料金の話ってありだろうか?なしだろうなぁ。 基的な概念、リソースとクォータ さて、Google App Engineには利用可能な資

  • GAE/J、アプリを独自ドメインで使う : CB NANASHI管理人ブログ

    2009年08月23日21:20 カテゴリGoogle App Engine GAE/J、アプリを独自ドメインで使う cbnanashi@GAEを独自ドメインのURLに割り当てました。新しいURLはhttp://www.cbnanashi.com/になります。よろしくお願い致します。 独自ドメイン割り当ての方法を簡単にまとめておきます(メモしておかなかったので大雑把です)。作業に当たっては次のページが参考になりました。 Google Apps の URL にアプリケーションを展開する - Google App Engine - Google Code Google App Engine: 独自ドメインでの利用 - にーやんのブログ 2 今回ドメインはVALUE DOMAINで取得しました。Google App Engineのアプリにはnaked domain(h ttp://cbnanas

  • 転石はどん底まで止まらない(・∀・) GAEを勉強しよう(・∀・)-4

  • Local Unit Testing - Google App Engine - Google Code

    Python Overview CGI Environment Storing Data Overview Entities and Models Creating, Getting and Deleting Data Keys and Entity Groups Queries and Indexes Transactions Types and Property Classes GQL Reference Statistics Reference Model Expando PolyModel Property Query GqlQuery Key Functions Exceptions Services Memcache Overview Using Memcache Reference Client Functions URL Fetch Overview Reference T