42
Google App Engine shin1ogawa @ 株式会社トップゲート 勘どころ~狙いどころ DevLOVE HangarFlight - Winter Sortie -

Devlove hangar flight-wintersortie-shin1ogawa

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine

shin1ogawa @ 株式会社トップゲート

勘どころ~狙いどころ

DevLOVE HangarFlight- Winter Sortie -

Page 2: Devlove hangar flight-wintersortie-shin1ogawa

自己紹介...shin1ogawaです!趣味: Google AppEngine, Google Apps, Eclipse, Wicket, Maven, Hudson, 構成管理...などなどが大好きです。コミュニティ: appengine ja nightのメンバとしてTwitterで#appengineタグを見守ったりしています。

お仕事: 株式会社トップゲートで、 Google関連技術のスペシャリスト達と共にGoogleAppEngine, GoogleApps, Androidを使った開発をしています。

Page 3: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine?

まずは簡単な紹介

Page 4: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engineとは?• JavaやPythonで構築したWebアプリケーションを配置・運営することが出来る、 Googleが無料で提供しているプラットフォーム。リソース使用量によっては有料になるが、従量課金でかなり安い(フタ桁安)部類。

• 自動でスケールアウトして負荷に対応。• サーバの管理は不要(アプリケーションのデプロイがメイン)

• PaaSに分類される

Page 5: Devlove hangar flight-wintersortie-shin1ogawa

どこで使われている?• 2009年衆院選公式サイト• http://www.google.co.jp/intl/ja/landing/senkyo2009/

• グルーポン系サービス Buyなう• http://buy7ow.appspot.com/• スポーツSNS LaBOLA• http://labola.jp/• Chan-Toru beta• http://www.sony.jp/taiken/chantoru/• 各種mixi等のソーシャルアプリ• (大きくない)業務アプリ

Page 6: Devlove hangar flight-wintersortie-shin1ogawa

App Engine for Business• 2010年末に向けてGoogle App Engine for Businessが提供される予定• 日本国内向けは多少遅れるか、一部機能に制限されるかも?

• SLAの提示、プロフェッショナルサポート等。• 最初はGoogle Apps for Businessの企業ユーザが対象となる。• コンシューマ向け等、パブリック(ユーザ数不定)のアプリケーションは対象外

Page 7: Devlove hangar flight-wintersortie-shin1ogawa

開発手法• 通常のJavaEEに近い。• SDKが提供されており、オフライン状態でほぼ全ての機能を実行可能。

• Java向けのSDKはテストしやすいモジュールが提供され、テスタビリティがとても高い。• リズムが良い開発に慣れた人にはとても高い生産性が提供される

• Eclipseのプラグインとしても提供されており、Production環境へのデプロイもボタンをクリックするだけのお手軽環境。

Page 8: Devlove hangar flight-wintersortie-shin1ogawa

開発環境の特徴• SDKが提供されており、オフライン状態でほぼ全ての機能を実行可能。

• Java向けのSDKはユニットテスト用にも各機能のスタブが提供されており、テスタビリティがとても高い。• リズムが良い開発に慣れた人にはとても高い生産性が提供される

• Eclipseのプラグインとしても提供されており、Production環境へのデプロイもボタンをクリックするだけのお手軽環境。

安い・生産性が高い・手間がかからない→ お手軽にスモールスタート

Page 9: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine

勘所・ハマリどころ

Page 10: Devlove hangar flight-wintersortie-shin1ogawa

普通のJavaEE環境?

•ファイルアクセスやスレッド、ソケットの使用等が制限・禁止されている。•JDK内でも使用できないクラスがある。•スケールアウトする→複数のVM上で実行される点にも注意が必要。

Servletが使えるし、既存のフレームワークでほぼそのまま使えるものもあるようだが。

Page 11: Devlove hangar flight-wintersortie-shin1ogawa

普通のJavaEE環境?

•ファイルアクセスやスレッド、ソケットの使用等が制限・禁止されている。•JDK内でも使用できないクラスがある。•スケールアウトする→複数のVM上で実行される点にも注意が必要。

Servletが使えるし、既存のフレームワークでほぼそのまま使えるものもあるようだが。依存するモジュールがそれらを使っているかもしれないので注意

Page 12: Devlove hangar flight-wintersortie-shin1ogawa

データベース:JDOやJPA?

•それはGoogle様による手の込んだ罠。なぜかミスリーディングしようとしているように見える。先駆者達も多くがこの罠にかかった。•Bigtableの上に構築された、データストアというレイヤを使用する。•まずは「インデックス」「エンティティグループ」を知るところから始めると難しくない。

Google様の公式ドキュメントはRDBっぽいO/Rマッパーでデータベースを操作するチュートリアルが存在する。

Page 13: Devlove hangar flight-wintersortie-shin1ogawa

データベース:JDOやJPA?

•それはGoogle様による手の込んだ罠。なぜかミスリーディングしようとしているように見える。先駆者達も多くがこの罠にかかった。•Bigtableの上に構築された、データストアというレイヤを使用する。•まずは「インデックス」「エンティティグループ」を知るところから始めると難しくない。

Google様の公式ドキュメントはRDBっぽいO/Rマッパーでデータベースを操作するチュートリアルが存在する。

データストアの学習にとても良い本があるのでそれを使いましょう。

Page 14: Devlove hangar flight-wintersortie-shin1ogawa

データベース:JDOやJPA?

•それはGoogle様による手の込んだ罠。なぜかミスリーディングしようとしているように見える。先駆者達も多くがこの罠にかかった。•Bigtableの上に構築された、データストアというレイヤを使用する。•まずは「インデックス」「エンティティグループ」を知るところから始めると難しくない。

Google様の公式ドキュメントはRDBっぽいO/Rマッパーでデータベースを操作するチュートリアルが存在する。データストアの学習にとても良い本があるそうです。

Page 15: Devlove hangar flight-wintersortie-shin1ogawa

課金onで上限を撤廃すれば…!

•一定期間内の制限•月単位、日単位、分単位の上限がある。•日単位で問題なくても分単位の上限にかかるとダメ。案外気づかない人が多いです。

•API的な制限は課金の状態は関係ない•各サービスへのリクエストサイズは1MBまで•30秒制限などなど

各種リソースについて無料枠だと上限があるが、課金設定をオンにすれば上限が引き上げられる。

Page 16: Devlove hangar flight-wintersortie-shin1ogawa

課金onで上限撤廃!

•一定期間内の制限•月単位、日単位、分単位の上限がある。•日単位で問題なくても分単位の上限にかかるとダメ。案外気づかない人が多いです。

•API的な制限は課金の状態は関係ない•各サービスへのリクエストサイズは1MBまで•30秒制限などなど

無料枠だと上限があるが、課金設定をオンにすれば上限が引き上げられる。お金でなんでも解決できるわけではありません!

Page 17: Devlove hangar flight-wintersortie-shin1ogawa

Slim3ってのがあるらすぃ!

•それは本当です。しかしそれで安心してはいけない。通常のJEEと同じように使うのではなく、HTMLは動的生成しない(JSONやGWT)…等のAppEngineのベタープラクティスを使組み合わせて使用しましょう。•良いプラクティスを使う事によりSlim3のパワーをさらに引き出すことが可能です。

ひがやすおさんという方が開発したSlim3というフレームワークがAppEngineに特化していて、とても良いらしい。

Page 18: Devlove hangar flight-wintersortie-shin1ogawa

Slim3ってのがあるらすぃ!

•それは本当です。しかしそれで安心してはいけない。通常のJEEと同じように使うのではなく、HTMLは動的生成しない(JSONやGWT)…等のAppEngineのベタープラクティスを使組み合わせて使用しましょう。•良いプラクティスを使う事によりSlim3のパワーをさらに引き出すことが可能です。

ひがやすおさんという方が開発したSlim3というフレームワークがAppEngineに特化していて、とても良いらしい。

性能が悪い=リソース消費増=課金額増->技術者の性能が数値化されます

Page 19: Devlove hangar flight-wintersortie-shin1ogawa

ここまで全部クリア!

•まだ足りないかも?AppEngineは色んな操作において、一定確率で失敗することも仕様に含まれています。•データストアへのアクセスの際•リソースの上限に達したとき•各種サービスの時間制限に達した時•コントローラの大本などでも念のためまとめてハンドルしておきましょう!

データストアも理解してSlim3も使って、パフォーマンスも良いサービスを構築できた。

Page 20: Devlove hangar flight-wintersortie-shin1ogawa

ここまで全部クリア!

•まだ足りないかも?AppEngineは色んな操作において、一定確率で失敗することも仕様に含まれています。•データストアへのアクセスの際•リソースの上限に達したとき•各種サービスの時間制限に達した時•コントローラの大本などでも念のためまとめてハンドルしておきましょう!

データストアも理解してSlim3も使って、パフォーマンスも良いサービスを構築できた。色々制約がある、だからこそ安い仕組みが提供される

Page 21: Devlove hangar flight-wintersortie-shin1ogawa

完璧に構築した、これで儲かる?

•それはシリマセン。•サービスの魅力・人気はAppEngineには責任がありません。•AppEngineがお金をくれるわけではありませんし、決済サービスもございません。•しかし…

もう全部完璧なサービスが構築できた。これでようやくお金が儲かるのですね。

Page 22: Devlove hangar flight-wintersortie-shin1ogawa

完璧に構築した、これで儲かる?

•それはシリマセン。•サービスの魅力・人気はAppEngineには責任がありません。•AppEngineがお金をくれるわけではありませんし、決済サービスもございません。•しかし…

もう全部完璧なサービスが構築できた。これでようやくお金が儲かるのですね。これから説明していきます

Page 23: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine狙いどころ

Page 24: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine狙いどころ

その前にちょっとGoogleのプラットフォームを紹介

Page 25: Devlove hangar flight-wintersortie-shin1ogawa

• Gmail, Google Calendar, Google Docs, Google Sites 等のオンライン上のアプリケーション群。

• SaaSに分類される。• 無料版と有料版があり、どちらも企業のドメインに紐づいた利用契約を行う。

• 300万企業ユーザが利用中。• ワシントンD.C., フロリダ州オーランド,ロサンゼルス市も導入。

Google Apps

Page 26: Devlove hangar flight-wintersortie-shin1ogawa

Google Apps Marketplace• 2010/3月に発表された、Google Appsを使っている企業向けにアプリケーションを販売するプラットフォーム。

• Appsを補佐・拡張するツールもたくさん販売されており、Apps管理者はアプリを簡単な手順で購入することができる。

• $100で販売者としての登録を行う必要があり、Googleの取り分は販売金額の20%。

• Apps拡張に限らず、通常のWebサービスも登録販売できる。

Page 27: Devlove hangar flight-wintersortie-shin1ogawa

Chrome Web Store• 2010/5に発表され、2010/12月にリリースされた、Chromeブラウザ用のコンシューマ向けアプリケーション販売プラットフォーム。• 将来的にはChrome以外にも対応…??• アプリケーション販売者は$5で販売者としての登録を行う必要があり、 Googleの取り分は販売金額の5%+30セント。

• パッケージアプリ、Webサービス(単なるブックマークに近い)を登録販売できる。

Page 28: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine狙いどころ

Page 29: Devlove hangar flight-wintersortie-shin1ogawa

***Marketplaceがたくさん•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store•Appforce, vmForce, ISVforce...•GoogleAppsユーザ向けのGoogle Apps Marketplace•などなどたくさんあります。

Page 30: Devlove hangar flight-wintersortie-shin1ogawa

稼働するプラットフォーム•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store•Appforce, vmForce, ISVforce...•GoogleAppsユーザ向けのGoogle Apps Marketplace•などなどたくさんあります。

Mobile

Web

Page 31: Devlove hangar flight-wintersortie-shin1ogawa

稼働するプラットフォーム•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store•Appforce, vmForce, ISVforce...•GoogleAppsユーザ向けのGoogle Apps Marketplace•などなどたくさんあります。

Mobile

Web

モバイルにしろサーバにしろ手軽に(個人でも)開発運用出来る

Page 32: Devlove hangar flight-wintersortie-shin1ogawa

サービスを提供する対象

•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store •Appforce, vmForce, ISVforce... GoogleAppsユーザ向けのGoogle Apps Marketplace

コンシューマ向け

エンタープライズ向け

Page 33: Devlove hangar flight-wintersortie-shin1ogawa

サービスを提供する対象

•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store •Appforce, vmForce, ISVforce... GoogleAppsユーザ向けのGoogle Apps Marketplace

コンシューマ向け

エンタープライズ向け

エンドユーザにかなり近いマーケットがたくさん!

Page 34: Devlove hangar flight-wintersortie-shin1ogawa

Google App Engine

狙い…にくいところ

Page 35: Devlove hangar flight-wintersortie-shin1ogawa

特定社内向け業務アプリの提案•AppEngineがどうとかいう前に、パブリッククラウドの新規導入自体が大変。•そこを説得して営業していくのはもー本当に苦労する。•既になんらかのパブリッククラウドを導入済みの企業は敷居が低いかもしれない。

•よほど強い営業力が無い限りオススメできない。•発注もらうまでにコストがかかりすぎると思います(誰となく)。

Page 36: Devlove hangar flight-wintersortie-shin1ogawa

特定社内向け業務アプリの提案•AppEngineがどうとかいう前に、パブリッククラウドの新規導入自体が大変。•そこを説得して営業していくのはもー本当に苦労する。•既になんらかのパブリッククラウドを導入済みの企業は敷居が低いかもしれない。

•よほど強い営業力が無い限りオススメできない。•発注もらうまでにコストがかかりすぎると思います(誰となく)。

もっと広い層をターゲットにした方が現実的…か

も?

Page 37: Devlove hangar flight-wintersortie-shin1ogawa

まとめ

Page 38: Devlove hangar flight-wintersortie-shin1ogawa

多少敷居はあるかもしれないが• 経験を積んでコツを押さえてしまえば、従来の環境よりも生産性が相当高い&そこへたどり着きやすい(敷居を超えれば簡単)。• 開発環境もかなり生産性が意識されている• 運用や環境の心配が無いのでアプリケーション開発に集中できる。

• 敷居が高い=簡単には利用できない=だからこそチャンスになる(ひがやすお氏)

Page 39: Devlove hangar flight-wintersortie-shin1ogawa

チャンスを活かそう

• 無料から始められる、スモールスタートしやすいお手軽プラットフォーム• 二桁安といわれる、安い利用額• コンシューマ向けのソーシャルアプリの強烈な負荷も自動スケールアウトで安心• Google Apps Marketplace向けのアプリケーション開発もやりやすく、親和性が高い

Page 40: Devlove hangar flight-wintersortie-shin1ogawa

チャンスを活かそう

• 無料から始められる、スモールスタートしやすいお手軽プラットフォーム• 二桁安といわれる、安い利用額• コンシューマ向けのソーシャルアプリの強烈な負荷も自動スケールアウトで安心• Google Apps Marketplace向けのアプリケーション開発もやりやすく、親和性が高い

中小企業・個人から大規模エンタープライズにリーチしてみませんか?

Page 41: Devlove hangar flight-wintersortie-shin1ogawa

ご清聴ありがとうございました

Page 42: Devlove hangar flight-wintersortie-shin1ogawa

株式会社トップゲートにはGoogleの技術に特化したスペシャリストが多数揃っています。ご相談下さい。http://www.topgate.co.jp

宣伝