2016年6月8日の appengine ja night #33 の発表資料です。

Content-Length: 330132 | pFad | http://b.hatena.ne.jp/aki77/google%20app%20engine/
クラウドコンピューティングサービスは、従来にない拡張性を持ち、好きなときに好きなだけのリソースを使えるシステム基盤を提供するものです。しかし、その特性を生かすには、クラウド事業者ごとに異なる設計のルールを守らなければなりません。 そこで本連載は、米Googleのサービス「Google App Engine」に焦点を当て、その「デザインパターン」について解説をします。ここでは、クラウドサービスの特性を生かしたり、制約を回避したりするための設計ノウハウをデザインパターンと呼んでいます。 今回解説する設計ノウハウを「デザインパターン」と呼ぶことに、違和感を持つ読者もいるかもしれません。「これこそクラウド設計のデザインパターンだ」と言えるものは、今後さまざまな知見が集まって確立していくのだと思います。現在はその知見が少しずつたまってきている段階でしょう。今回の連載が、そうした知見の一つになってほし
AmazonからBeanstalkが発表されました。 http://aws.typepad.com/aws_japan/2011/01/introducing-amazon-beanstalk.html Beanstalkを間違っているけど、分かりやすく例えると制限のないAppEngineのようなものです。 GoogleからはApp Engine for Business(4Bと省略)、SalesforceからはVMforceが登場し、2011年のPaaSは、これらの技術の戦いになるでしょう。 どの技術が勝つのか予想する前に、PaaSには、二つの分野が存在することを理解しておきましょう。ソーシャル系などのスケールアウトが必要な分野とそれ以外です。 それぞれの分野で必要とされるものが違うので、分野ごとに勝者を予想する必要があります。 スケールアウトを必要としない分野で求められるのは、制限の無
G-ProxyはGoogle App EngineをSSLプロキシにする。 [/s2If] G-ProxyはGoogle App Engine/Java製のオープンソース・ソフトウェア。10数年前のインターネットでプロキシというとアングラな雰囲気があった。また企業においてはインターネット接続速度の改善やセキュリティ上の理由で用いられることが多かった。 デモ 今でも企業では使われているだろうが、最近では上記の理由以外でも使われることがある。一つはFiresheepと言う公開無線LANをターゲットにした情報漏洩から逃れるため、もう一つは中国の検閲から逃れるために使われるのだ。それがG-Proxyだ。 G-ProxyはGoogle App EngineをWebプロキシにするソフトウェアだ。Google App EngineではSSLが無料で提供されているので、G-Proxyを使えば常時SSLを使
ここ数日、Twitter上で appengine に関する発言をたくさん目にする。それを見る限り、「注目をされてはいるが、手を出しかねている人が多い」というのが現状だろう。そこで、私からもひと言。 App Engine は純粋なソフトウェア・エンジニアにとっての天国 私自身、色々な開発環境を試して来たが、私のようにプログラミングが大好きで、新しい言語や環境を学ぶのが楽しくて仕方が無いエンジニアにとっては、「App Engineは天国」というのが正直な感想。SQLやRailsのように一見開発効率を良くしてはくれるが、直感的に実行効率とかが把握できない「補助輪付きプログラミング」と違い、App Engine上でのプログラミングは、ちょっと手を抜くとすぐに実行効率の悪さとして跳ね返ってくる「一輪車プログラミング」。 新しい言語を学ぶのが苦ならApp Engineは避けた方が良い 現時点で、Pyt
早すぎる最適化オジサン @makotokuwata まずAppEngineがいまいちブレークしないのは、お金を集める仕組みが用意されていないことと、Datastore (Bigtable) の使い方が難しいことの2点だと思う。 早すぎる最適化オジサン @makotokuwata 1点目の、集金システムについて。AppEngineと比べて、たとえばiPhoneアプリは十分ブレークしているといえるけど、これはやはりiPhoneアプリは販売して収益を出せる可能性があることが大きい。 早すぎる最適化オジサン @makotokuwata それに比べて、GAEはインフラと開発環境は提供するけど、集金の仕組みは提供できてない。言い方を変えると、無料で使える環境は提供しているけど、収益を上げるための環境は提供できてない。そこがiPhoneアプリと違うところ。
CirruxCacheはPython製/Google App Engine用のオープンソース・ソフトウェア。Googleは世界中にサーバを持ち、アクセス元にとって最も高速に応答できるサーバを選択してデータを返している。それはGoogle App Engineであっても変わらない。 管理画面はない 高速にデータを返すということは、ごくごくシンプルなCDN(コンテンツ・デリバリー・ネットワーク)と言うことができるかも知れない。その可能性を考え開発されているのがCirruxCacheだ。 CirruxCacheはGoogle App Engine上に立て、静的なコンテンツ(画像など)をキャッシュさせることで次回からのアクセスを高速化するものだ。TTLの設定も行われる。滅多なことでは更新されないコンテンツ(画像など)に対して用いるのが良いだろう。 設定はコードで行う。 キャッシュ可能なIPアドレス
App Engineで使える言語は基本的にはPythonとJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基本的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonとJavaも同じ
"Google App Engine Java の色々な機能を、実際にコーディングしながら体験してみよう" という主旨のもと、Google App Engine for Java のコードラボをこれまでに3回開催してきました。Java を使った Web アプリケーションの開発経験はあるけれども、App Engine は初めてという方向けで、毎回、即日定員に達してしまう人気コースです。 このコードラボで利用している教材は、GTUG のメンバーとGoogle のソフトウェアエンジニアたちが共同で作り上げたものです。コース設計からドキュメントの制作、コース参加者のフィードバックを反映するなど、さまざまな面でGTUGメンバーの惜しみない協力をいただきました。 そして、いよいよこのコース教材「Google App Engine Code Lab for Java」を一般に公開することになり、3月11
自宅用のプロキシをセットすれば、自由にプロキシを操作し、会社や学校にバレずにネットのできる抜け道が作れます。米ライフハッカーでは一ヶ月前にセットの仕方を、ライフハッカー日本版でも過去に『FreeProxy』をご紹介しています。ホームネットワークをいじっている間に、SSH SOCKSプロキシをセットしてリモートトラフィックを保護(リンク先英語)、安全にしていくこともお忘れなく。 PCの電源を入れっぱなしにしておきたくない、そして自宅ネットワーク以上の速度をお求めの方は、Gooogle Apps Engineを通して、ホームネットワークから独立したプロキシへ接続、ブラウズするのがオススメです。他の大ざっぱなプロキシに頼る必要はありません。Googleアカウントをとれば、Apps Engineを通して、無料で自分専用のプロキシを運用できます。デジタルテクノロジーブログ、「Digital Insp
今週に入って、Tiny Message に続く二つ目の Google App Engine ベースのサービスをリリースした。3日ぐらいで試験的に作った Tiny Message とは異なり、今回のものは、丸二ヶ月間寝る間も惜しんで作った力作である。 米国向けのサービスな上に招待制のSNSなので、ここではサービスそのものは公開しないが、いくつかこだわって作った部分があるので、それについて語ってみようかと思う。 1. 対象となるユーザーの絞り込み FacebookやTwitterのような巨人が存在している中で、それにまっこうから対抗するようなソシアル・ネットワーク・サービスを作ったところで無謀なだけである。そこで、逆に対象にするユーザー層を究極にまで絞り込んで、彼らのライススタイルに徹底的にマッチしたサービスを作ることにより差別化をはかる、という戦略を選択。対象は「LAに住む20〜30代の社交
「なんでも判定ツクール」へ多数のアクセスありがとうございますm(_ _)m 1月末にリリースした当初は僅かのアクセスだったのですが、Twitterで火が付いてからは一気にアクセスが集まり、気が付けば2月1日〜2月16日で4,000,000PVを超えました。 自分では絶対に考えつかないであろうユニークな判定がたくさんできて、私自身もとても楽しんでいます:-D(面白い発想をする人は世の中にたくさんいるものです) このサイトはGoogle App Engine(GAE)+Pythonで構築しているのですが、このアクセス数ならではのGAE上で体験できたことをざざっと書いていきます。 無料?課金? まずはじめに大事なこと。 「なんでも判定ツクール」ではGAEを課金状態にしています。無料のQuotaではとてもではないですが、このアクセスは捌けません:D GAE公式サイトには 月間約 500 万ページ
Google App Engine上でアプリを作りはじめて約二ヶ月。いろいろと分かって来たこともあるので、自分へのメモも含めてまとめてみる。まずは、Datastoreの話から。 なによりも大切なのはデータベースの設計 あたりまえと言えばあたりまえの話だが、App Engine上でアプリを作る上でもっとも大切なこと(=頭を使うべきところ)は、データベースの設計である。特にリレーショナル・データベース(RDB)上でのアプリ作りに慣れた人には、大きな「発想の転換」が必要なので、ここは注意が必要。 特に絶対にやっては行けないのは、 将来RDB上へ移行できるようにレイヤーを作って、その上にアプリを作る RDB上に作ったアプリをデータモデルを大幅に変更せずにApp Engine上に移植する RDBを前提に設計されたフレームワークをApp Engine上に載せて、その上にアプリを作る など。App En
社内でGoogle App Engineのミニ勉強会をやることになったので、技術者らしくAPIとかBigTableまわりとかやろうかなーと思って色々ドキュメントをあさっていたところ、思いがけず非常に面白いものを見つけてしまった。 それは、料金体系。たいていのGAE紹介サイトには、〜まで無料、以降〜みたいな形でさらっと書いてあるんだけど、思った以上に奥が深い。DoCoMoやソフトバンクモバイルより奥が深い。しかも、この料金体系によってアプリケーションの作り方にまで影響が出てくる可能性がある。こうなってくると、JPAとかJDOとか開発環境とか紹介するのなんて馬鹿馬鹿しくなってしまった。Google App Engine勉強会、って名目で人呼んどきながら、ずーっと料金の話ってありだろうか?なしだろうなぁ。 基本的な概念、リソースとクォータ さて、Google App Engineには利用可能な資
Google App Engineで受信メールの処理ができるようになった。 具体的な手順はこちら。 http://code.google.com/intl/en/appengine/docs/java/mail/receiving.html 手順はこう。 まず、appengine-web.xmlに次の設定を追加 <inbound-services> <service>mail</service> </inbound-services> そうすると、string@appid.appspotmail.comにメールが来たら /_ah/mail/<address> というURLが呼び出されるようになる。 なので、次のようなサーブレットマッピングをweb.xmlに追加してサーブレットで処理をする。 <servlet> <servlet-name>mailhandler</servlet-name>
瀬戸内海の漁師の続き。 GAEが出た時、 「スケールするつってもそんな大量のアクセスこないしなぁ。月100万PVぐらいまでならさくらの7800円(専用サーバー)で行けるんじゃないのかな?」 なんて思ってた。そんな風に考えてて触ってすらなかった。花京院風に言えばコチコチのクソ石頭の持ち主だった。ところが一年半近く遅れて最近触ってみたところ、なんかスゲー簡単だし、ほとんどのWebサイトは無料で行けるぐらい無料ゾーンが広い。 どうやらGoogle様の意図は俺の思ってたのとは違うらしい。 高性能な分散環境にばかり注目していたが、GAEはある意味、"無料サーバー"なのだ。GAEには"0円"から"格安専用サーバー1台程度"までを全てリプレイスできちゃうような無料レンタルサーバーサービスという側面がある。"WordPressが動く広告も無い無料レンタルサーバー"があったらみんな使うだろう?MySQLとS
App Engineで現実的な送金処理について考え中です。 ドラフト版なので、怪しい点があればご指摘いただければ幸いです。 コメントで情報いただきました。 Distributed Transactions on App Engineで紹介されてる方法と基本的に同じなので、おそらく問題なく動きそうです。ありがとうございました。 今回はこんな図を使います。 この図の読み方は、矢印の方向にユースケースの一連の処理(またはリクエストの処理)が流れていて、右に行くほど時間が経過しています。そして、矢印がくし刺しにしている四角形は、そのユースケース中で操作するエンティティを表しています。 また、左右の位置が同じ矢印は、基本的には同じ時刻に発生したイベントを表しています。上記の図では、A, B, Cがそれぞれの口座エンティティを同時に操作している感じです。 並行性制御(おさらい) 最初の図のように、それ
Solidot | 新浪也推出App Engine中国大手ポータルサイトのSina.comがSina App Engine(SAE)をリリースしました。現在アルファリリースです。Sina App EngineはSina.comのサーバーリソースを利用してWebアプリケーションを構築できるサービス。開発環境はPHP 5.3.0、Mysql 5.0.86。MemcacheとFetch URL APIが利用できるようです。これは言うまでもなくGoogle App Engineと競合するサービスでしょう。名前からして対抗する気満々といった感じですね。中国でも今後クラウドサービスが本格化してくるのでしょうか。SAE向けのアプリケーションの開発はGAEと同じくSDK使って開発してデプロイするというもの。 チュートリアルを流し読みした感じではけっこう手軽に開発できそうです。これもGAEに似てますね。プロ
Google App Engine のDatastoreには、通常のリレーショナルデータベースと比べた時にいくつかの制限があるが、その一つが「このプロパティの値は常にユニークでなければならない」という指定(ユニーク制限)ができないことである。 Invoice IDのように自動生成するものであれば、アプリケーション側でなんとかすることも簡単だが、メールアドレスやハンドル名など、ユーザーが入力するものになると、ユニークであることをきちんと判定した上でEntityを作ることが必要になる。 もちろん、単純に「有無をチェックして、なければ作る」というプログラムではスレッド間の競合に対応できないので、そこはトランザクションを使ってアトミックに処理をする必要がある。 App Engine上でトランザクションを実現するには、エンティティグループという仕組みを使って行うが、気をつけなければいけないのは、エン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
Fetched URL: http://b.hatena.ne.jp/aki77/google%20app%20engine/
Alternative Proxies: