Upload
shinichi-ogawa
View
1.561
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Google App Engine
shin1ogawa @ 株式会社トップゲート
勘どころ~狙いどころ
DevLOVE HangarFlight- Winter Sortie -
自己紹介...shin1ogawaです!趣味: Google AppEngine, Google Apps, Eclipse, Wicket, Maven, Hudson, 構成管理...などなどが大好きです。コミュニティ: appengine ja nightのメンバとしてTwitterで#appengineタグを見守ったりしています。
お仕事: 株式会社トップゲートで、 Google関連技術のスペシャリスト達と共にGoogleAppEngine, GoogleApps, Androidを使った開発をしています。
Google App Engine?
まずは簡単な紹介
Google App Engineとは?• JavaやPythonで構築したWebアプリケーションを配置・運営することが出来る、 Googleが無料で提供しているプラットフォーム。リソース使用量によっては有料になるが、従量課金でかなり安い(フタ桁安)部類。
• 自動でスケールアウトして負荷に対応。• サーバの管理は不要(アプリケーションのデプロイがメイン)
• PaaSに分類される
どこで使われている?• 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等のソーシャルアプリ• (大きくない)業務アプリ
App Engine for Business• 2010年末に向けてGoogle App Engine for Businessが提供される予定• 日本国内向けは多少遅れるか、一部機能に制限されるかも?
• SLAの提示、プロフェッショナルサポート等。• 最初はGoogle Apps for Businessの企業ユーザが対象となる。• コンシューマ向け等、パブリック(ユーザ数不定)のアプリケーションは対象外
開発手法• 通常のJavaEEに近い。• SDKが提供されており、オフライン状態でほぼ全ての機能を実行可能。
• Java向けのSDKはテストしやすいモジュールが提供され、テスタビリティがとても高い。• リズムが良い開発に慣れた人にはとても高い生産性が提供される
• Eclipseのプラグインとしても提供されており、Production環境へのデプロイもボタンをクリックするだけのお手軽環境。
開発環境の特徴• SDKが提供されており、オフライン状態でほぼ全ての機能を実行可能。
• Java向けのSDKはユニットテスト用にも各機能のスタブが提供されており、テスタビリティがとても高い。• リズムが良い開発に慣れた人にはとても高い生産性が提供される
• Eclipseのプラグインとしても提供されており、Production環境へのデプロイもボタンをクリックするだけのお手軽環境。
安い・生産性が高い・手間がかからない→ お手軽にスモールスタート
Google App Engine
勘所・ハマリどころ
普通のJavaEE環境?
•ファイルアクセスやスレッド、ソケットの使用等が制限・禁止されている。•JDK内でも使用できないクラスがある。•スケールアウトする→複数のVM上で実行される点にも注意が必要。
Servletが使えるし、既存のフレームワークでほぼそのまま使えるものもあるようだが。
普通のJavaEE環境?
•ファイルアクセスやスレッド、ソケットの使用等が制限・禁止されている。•JDK内でも使用できないクラスがある。•スケールアウトする→複数のVM上で実行される点にも注意が必要。
Servletが使えるし、既存のフレームワークでほぼそのまま使えるものもあるようだが。依存するモジュールがそれらを使っているかもしれないので注意
データベース:JDOやJPA?
•それはGoogle様による手の込んだ罠。なぜかミスリーディングしようとしているように見える。先駆者達も多くがこの罠にかかった。•Bigtableの上に構築された、データストアというレイヤを使用する。•まずは「インデックス」「エンティティグループ」を知るところから始めると難しくない。
Google様の公式ドキュメントはRDBっぽいO/Rマッパーでデータベースを操作するチュートリアルが存在する。
データベース:JDOやJPA?
•それはGoogle様による手の込んだ罠。なぜかミスリーディングしようとしているように見える。先駆者達も多くがこの罠にかかった。•Bigtableの上に構築された、データストアというレイヤを使用する。•まずは「インデックス」「エンティティグループ」を知るところから始めると難しくない。
Google様の公式ドキュメントはRDBっぽいO/Rマッパーでデータベースを操作するチュートリアルが存在する。
データストアの学習にとても良い本があるのでそれを使いましょう。
データベース:JDOやJPA?
•それはGoogle様による手の込んだ罠。なぜかミスリーディングしようとしているように見える。先駆者達も多くがこの罠にかかった。•Bigtableの上に構築された、データストアというレイヤを使用する。•まずは「インデックス」「エンティティグループ」を知るところから始めると難しくない。
Google様の公式ドキュメントはRDBっぽいO/Rマッパーでデータベースを操作するチュートリアルが存在する。データストアの学習にとても良い本があるそうです。
課金onで上限を撤廃すれば…!
•一定期間内の制限•月単位、日単位、分単位の上限がある。•日単位で問題なくても分単位の上限にかかるとダメ。案外気づかない人が多いです。
•API的な制限は課金の状態は関係ない•各サービスへのリクエストサイズは1MBまで•30秒制限などなど
各種リソースについて無料枠だと上限があるが、課金設定をオンにすれば上限が引き上げられる。
課金onで上限撤廃!
•一定期間内の制限•月単位、日単位、分単位の上限がある。•日単位で問題なくても分単位の上限にかかるとダメ。案外気づかない人が多いです。
•API的な制限は課金の状態は関係ない•各サービスへのリクエストサイズは1MBまで•30秒制限などなど
無料枠だと上限があるが、課金設定をオンにすれば上限が引き上げられる。お金でなんでも解決できるわけではありません!
Slim3ってのがあるらすぃ!
•それは本当です。しかしそれで安心してはいけない。通常のJEEと同じように使うのではなく、HTMLは動的生成しない(JSONやGWT)…等のAppEngineのベタープラクティスを使組み合わせて使用しましょう。•良いプラクティスを使う事によりSlim3のパワーをさらに引き出すことが可能です。
ひがやすおさんという方が開発したSlim3というフレームワークがAppEngineに特化していて、とても良いらしい。
Slim3ってのがあるらすぃ!
•それは本当です。しかしそれで安心してはいけない。通常のJEEと同じように使うのではなく、HTMLは動的生成しない(JSONやGWT)…等のAppEngineのベタープラクティスを使組み合わせて使用しましょう。•良いプラクティスを使う事によりSlim3のパワーをさらに引き出すことが可能です。
ひがやすおさんという方が開発したSlim3というフレームワークがAppEngineに特化していて、とても良いらしい。
性能が悪い=リソース消費増=課金額増->技術者の性能が数値化されます
ここまで全部クリア!
•まだ足りないかも?AppEngineは色んな操作において、一定確率で失敗することも仕様に含まれています。•データストアへのアクセスの際•リソースの上限に達したとき•各種サービスの時間制限に達した時•コントローラの大本などでも念のためまとめてハンドルしておきましょう!
データストアも理解してSlim3も使って、パフォーマンスも良いサービスを構築できた。
ここまで全部クリア!
•まだ足りないかも?AppEngineは色んな操作において、一定確率で失敗することも仕様に含まれています。•データストアへのアクセスの際•リソースの上限に達したとき•各種サービスの時間制限に達した時•コントローラの大本などでも念のためまとめてハンドルしておきましょう!
データストアも理解してSlim3も使って、パフォーマンスも良いサービスを構築できた。色々制約がある、だからこそ安い仕組みが提供される
完璧に構築した、これで儲かる?
•それはシリマセン。•サービスの魅力・人気はAppEngineには責任がありません。•AppEngineがお金をくれるわけではありませんし、決済サービスもございません。•しかし…
もう全部完璧なサービスが構築できた。これでようやくお金が儲かるのですね。
完璧に構築した、これで儲かる?
•それはシリマセン。•サービスの魅力・人気はAppEngineには責任がありません。•AppEngineがお金をくれるわけではありませんし、決済サービスもございません。•しかし…
もう全部完璧なサービスが構築できた。これでようやくお金が儲かるのですね。これから説明していきます
Google App Engine狙いどころ
Google App Engine狙いどころ
その前にちょっとGoogleのプラットフォームを紹介
• Gmail, Google Calendar, Google Docs, Google Sites 等のオンライン上のアプリケーション群。
• SaaSに分類される。• 無料版と有料版があり、どちらも企業のドメインに紐づいた利用契約を行う。
• 300万企業ユーザが利用中。• ワシントンD.C., フロリダ州オーランド,ロサンゼルス市も導入。
Google Apps
Google Apps Marketplace• 2010/3月に発表された、Google Appsを使っている企業向けにアプリケーションを販売するプラットフォーム。
• Appsを補佐・拡張するツールもたくさん販売されており、Apps管理者はアプリを簡単な手順で購入することができる。
• $100で販売者としての登録を行う必要があり、Googleの取り分は販売金額の20%。
• Apps拡張に限らず、通常のWebサービスも登録販売できる。
Chrome Web Store• 2010/5に発表され、2010/12月にリリースされた、Chromeブラウザ用のコンシューマ向けアプリケーション販売プラットフォーム。• 将来的にはChrome以外にも対応…??• アプリケーション販売者は$5で販売者としての登録を行う必要があり、 Googleの取り分は販売金額の5%+30セント。
• パッケージアプリ、Webサービス(単なるブックマークに近い)を登録販売できる。
Google App Engine狙いどころ
***Marketplaceがたくさん•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store•Appforce, vmForce, ISVforce...•GoogleAppsユーザ向けのGoogle Apps Marketplace•などなどたくさんあります。
稼働するプラットフォーム•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store•Appforce, vmForce, ISVforce...•GoogleAppsユーザ向けのGoogle Apps Marketplace•などなどたくさんあります。
Mobile
Web
稼働するプラットフォーム•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store•Appforce, vmForce, ISVforce...•GoogleAppsユーザ向けのGoogle Apps Marketplace•などなどたくさんあります。
Mobile
Web
モバイルにしろサーバにしろ手軽に(個人でも)開発運用出来る
サービスを提供する対象
•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store •Appforce, vmForce, ISVforce... GoogleAppsユーザ向けのGoogle Apps Marketplace
コンシューマ向け
エンタープライズ向け
サービスを提供する対象
•AppleのAppStore•Androidマーケット•mixi、グリー、モバゲー、Facebookなどのソーシャルアプリ向けの販売プラットフォーム •Webサービス用のChrome Web Store •Appforce, vmForce, ISVforce... GoogleAppsユーザ向けのGoogle Apps Marketplace
コンシューマ向け
エンタープライズ向け
エンドユーザにかなり近いマーケットがたくさん!
Google App Engine
狙い…にくいところ
特定社内向け業務アプリの提案•AppEngineがどうとかいう前に、パブリッククラウドの新規導入自体が大変。•そこを説得して営業していくのはもー本当に苦労する。•既になんらかのパブリッククラウドを導入済みの企業は敷居が低いかもしれない。
•よほど強い営業力が無い限りオススメできない。•発注もらうまでにコストがかかりすぎると思います(誰となく)。
特定社内向け業務アプリの提案•AppEngineがどうとかいう前に、パブリッククラウドの新規導入自体が大変。•そこを説得して営業していくのはもー本当に苦労する。•既になんらかのパブリッククラウドを導入済みの企業は敷居が低いかもしれない。
•よほど強い営業力が無い限りオススメできない。•発注もらうまでにコストがかかりすぎると思います(誰となく)。
もっと広い層をターゲットにした方が現実的…か
も?
まとめ
多少敷居はあるかもしれないが• 経験を積んでコツを押さえてしまえば、従来の環境よりも生産性が相当高い&そこへたどり着きやすい(敷居を超えれば簡単)。• 開発環境もかなり生産性が意識されている• 運用や環境の心配が無いのでアプリケーション開発に集中できる。
• 敷居が高い=簡単には利用できない=だからこそチャンスになる(ひがやすお氏)
チャンスを活かそう
• 無料から始められる、スモールスタートしやすいお手軽プラットフォーム• 二桁安といわれる、安い利用額• コンシューマ向けのソーシャルアプリの強烈な負荷も自動スケールアウトで安心• Google Apps Marketplace向けのアプリケーション開発もやりやすく、親和性が高い
チャンスを活かそう
• 無料から始められる、スモールスタートしやすいお手軽プラットフォーム• 二桁安といわれる、安い利用額• コンシューマ向けのソーシャルアプリの強烈な負荷も自動スケールアウトで安心• Google Apps Marketplace向けのアプリケーション開発もやりやすく、親和性が高い
中小企業・個人から大規模エンタープライズにリーチしてみませんか?
ご清聴ありがとうございました
株式会社トップゲートにはGoogleの技術に特化したスペシャリストが多数揃っています。ご相談下さい。http://www.topgate.co.jp
宣伝