Webサービスを公開するまでの流れを大まかに分けると,
- サーバを有料でレンタルする
- 環境構築する
- Webサービスを作成する
- デプロイして公開する
今回は,
サーバを有料でレンタルする
まずサーバを有料で借りるという時点で敷居が高いわけですが,
現在はプレビュー期間中ですが,
環境構築する
簡単に環境構築と書きましたが,
サービスが大きくなってくれば,
はじめからそういう構成になると考えて構築しておけば,
Google App Engineではそういうことを一切考える必要がありません。スケールすることが前提で組まれているので,
ただ逆に言えば,
しかし,
特に私が気にしたポイントは以下の点になります。
- データの確認方法,
または不整合が発生した場合の復旧方法 (図1) -
エンティティ単位でデータを確認することができます。またGQLというSQLと非常に似通った構文のクエリを発行することができ,
それでデータを確認することができます。 絞りこんだデータに対して,
updateすることもGUIからできますし, エンティティを作ることもできます。つまり, 普通にRDBMSに対するクライアントのように操作することが可能で, 不整合などが発生した場合には目視しながら直すことも容易にできます。 - リソースの監視
(図2) -
リクエスト数などの情報がグラフによって簡単に把握することができます。
すべてのリソースに対して,
どのくらい利用しているのかが一目瞭然なので, Quotaを超えた場合もなにを購入すればいいのかすぐにわかります。また, どのURIに対して何回リクエストされているのか, どのくらいCPUをつかったのかもチェックすることができます。 つまり,
単純にリソースを購入すればいいとかいう話ではなく, 常にどこにボトルネックがどこにあるのかを理解できるし, それらのチューニングをおこなうことによって, 効率的に購入等を行っていくことが可能なのです。 - ロギング
通常通りロギングすれば,
管理画面ですべて確認することができます。MetaGatewayではexceptionが発生した場合など, 一元的に処理してすべて同様にロギングしています。 つまり,
ユーザの画面で発生したバグのほとんどのケースを私は把握しています。ユーザはfeedbackしてくれない人のほうが圧倒的に多いので, feedbackなしに進化できるシステムを構築しなければならないので, それがしやすいシステムであることが重要なのです。