2010年4月22日木曜日

Google Apps Marketplaceのよくある勘違い



Google Apps Marketplaceは、今年3月にGoogleが発表したGoogle Apps向けのアプリケーションやサービスを販売するサイトだ。


アプリケーションをクリックひとつで自社ドメインのGoogle Appsへインストール・統合することができ、今後のサービス販売の場としても注目するべきサイトのひとつであろう。


Google Apps Marketplaceのよくある勘違いとして、「Google Appsに統合されるわけだからGoogle Apps Engineで開発する必要がある。」というのがある。(私もはじめはそう勘違いしていた・・)


結論から言えば「Google Apps Engineである必要は全くない」のである。それどころか、サイトを検索するとGoogle Appsとは一見関係のないようなものから、インストール代行などアプリケーションではないものも売り出されている。(関連サービスということなのだろう)


Googleのドキュメントによれば、Marketplaceに登録するには以下の要件を満たしてくれとある。




  1. OpenIDによるシングルサインオンを実装してください。

  2. アプリケーションマニフェストを書いてください。

  3. ユニバーサルナビゲーション(Google Appsのページ一番上にあるメニュー)をつけてください(どうやらオプションのようだ)

  4. Google Appsのメールやカレンダーと連携する場合はGoogleDataAPIを使ってください。


以上である。


3と4はオプションなので実際は1と2が必須項目である。


言い換えれば「自社のサービスにOpenIDを実装すれば、すぐにMarketplaceに出展できる」のである。


もちろん、OpenIDの実装のほかにもマニフェストで設定するページやそのたGoogle Appsとの連携などに若干の開発は必要であろう。


要は、すでにユーザーに提供しているASPやサービスがあれば、ある程度の開発だけでMarketplaceに出展できるということだ。





わかりやすい例として、ZoHoがある。


SOHO向けの機能(本当にたくさんある)をクラウドで提供する会社だが、彼らのサービスはMarketplaceでも販売されている。彼らは既にあるサービスをOpenID化して、Marketplaceに提供しているのだ。試してみると(無料版もある)、認証や管理はGoogle Appsと連動しているが、実際のサイトでは彼らのもともとのサービスと全く代わりがない。(それはそれでGoogle Appsとの連動が薄いと評価されているが)


整理すると以下のようになる。


Google Apps Marketplace




  • Googleが決済代行をするGoogle Appsユーザー向けのアプリケーション及び付帯サービスのコマースサービス。

  • 認証の連動など、いくつかの条件がクリアできれば、稼動要件などは問わない。

  • 提供するサービスはアプリケーションである必要もない。


Google Apps Engine




  • Googleのインフラを使って、伸縮性のあるWebアプリケーションを開発できる。

  • 独自ドメインでサービスを提供


ここまで書くとお分かりだろうが、Google Apps Engineで開発したアプリはMarketplaceですぐ使えるというものではなく、あくまで「自社ドメインで稼動するWebアプリをGoogleのインフラで作った」という位置づけである。


Marketplaceとはあまり関係ないというか、むしろ別のサービスと考えたほうがすっきりする。


Google Apps Engineは独自ドメインのSSLが不可(いろいろと組み合わせれば回避可能だが)だったり、メール送信や外部のURLアクセスに件数制限(有料設定でコントロール)があるなど、サンドボックス的な制約も多い。しかしながら、数百万ユーザーのアクセスでも耐えるであろうGoogleのインフラを考えれば非常に魅力的だ。


専用サーバーなどを自由にカスタマイズして作るWebアプリも魅力だが、ユーザーの増加が読めないコンシューマー向けのサービス等では、拡大に伴うコストは非常に高くなる。そういう場合の選択肢としてGoogle Appsなのだと考える。(過去にサービスを立ち上げる前から「100万ユーザーでも耐えられるようにつくってくれ」と頼まれたことがある。まだサーバー2台で稼動しているが・・)逆に言えばアクセスや用途が限定されているのであれば専用サーバーのほうが有利なケースも多い。


実際の落としどころで言えば、「用途や内容によってGAE、AWS、専用サーバーを組み合わせて実装する」というところであろう。(言語の選定やライブラリ・フレームワーク等は非常に悩ましいところだが)





P.S. AMAZONでもメールの送信数には制限があるようですね。やっぱりそうだよね(笑)





2010年4月18日日曜日

app-engine-patchの終了とDjango-nonrel



Google AppsでDjangoを使うためのパッチ集であるapp-engine-patchが、バージョン1.0.2.3をもって開発終了した。


といっても完全になくなったわけではなく、Google Apps +Djangoの別のプロジェクトであるDjango-nonrelへ引き継がれた。


django-nonrelではapp-engine-patchのように「djangoがGAEで動くようにパッチを当てる」という方向性とは違い、「Djangoで非リレーショナルDBをサポートする」というプロジェクトで、そのDBの中のひとつにGoogle Apps Engineのモデルが含まれているというもの。GAEのモデルのほかにもMongoDBやAmazoneのクラウドサービスのひとつであるSimpleDB等がサポートされる予定である。


実装方法としてはbackendtemplateと呼ばれるデータProxyのような役割を果たす低レベルAPIのレイヤーをモデルに入れるという方法。パッチがでかくなりすぎてしまったapp-engine-patchよりは正しい方向性だと思われる。


まだ実装されたばかりでこれからという感じだが、GAEだけでなくAWSでも使えるとなれば「Django LOVE!」な人は要チェックだ。





2010年4月7日水曜日

April Fool



ネット上のあちこちでApril Foolネタが掲載されているが、KLabのニュースリリースは大笑いしてしまった。


KLabニュースリリース