アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » WEB+DESIGN STAGE » 連載 » MetaGatewayに見る次世代Webサービス » 第3回 開発環境としてのGoogle App Engine

MetaGatewayに見る次世代Webサービス

第3回 開発環境としてのGoogle App Engine

Webサービスを公開するまでの流れを大まかに分けると,次のようなステップになるかと思います。

  1. サーバを有料でレンタルする
  2. 環境構築する
  3. Webサービスを作成する
  4. デプロイして公開する

今回は,MetaGatewayで採用しているGoogle App Engineの優位性を,このステップに沿って紹介していきたいと思います。

サーバを有料でレンタルする

まずサーバを有料で借りるという時点で敷居が高いわけですが,Google App Engineでは,月500万PV,ストレージも500Mまでは無料です。CPU,ネットワークリソースも十分な範囲が確保されており,スタートアップには最適です。

現在はプレビュー期間中ですが,ロードマップによれば,まもなく有料プランも開始されます。有料プランが開始されればリソースを追加購入することができます。つまり,無料で成長させ,制限を超えそうな,芽のでそうなサービスに対してのみリソースを追加購入すればいいのです。

環境構築する

簡単に環境構築と書きましたが,真面目に行うと,その範囲は多岐に渡ります。たとえば,Nagioscactiなどのツールを利用して,稼動状態を監視するとともに,サーバリソースなどの状態をきちんと把握する必要があります。

サービスが大きくなってくれば,当然フロントの負荷分散のために,ロードバランサーなども必要になります。memcache,データベース分散,レプリケーションなども利用する必要になってくるので,そのタイミングに応じてさまざまなチューニングや拡張を施していかなければいけないわけです。

はじめからそういう構成になると考えて構築しておけば,スムーズに展開できますが,個人で作るサービスでそこまで考えているケースなど皆無でしょうし,そういう構成にすることで,成功するかどうかもわからないサービスにさらにお金がかかってしまうのもナンセンスです。

Google App Engineではそういうことを一切考える必要がありません。スケールすることが前提で組まれているので,リソースを追加購入するだけで簡単にスケールさせることができます。当然環境構築など一切不要です。

ただ逆に言えば,環境をまったくさわることができないという意味でもあります。私自身はMetaGatewayを作るにあたって,直接さわることができないことから生まれる不安なポイントがたくさんありました。そこを不安に思っている開発者は結構いるのではないのでしょうか?

しかし,実際使ってみてわかったのは,なんの心配もらないということです。というか,あまりの楽さに一度この世界で開発してしまうと抜け出せなくなるのではないか?と思えるほど開発者サイドから考えられていました。

特に私が気にしたポイントは以下の点になります。

データの確認方法,または不整合が発生した場合の復旧方法(図1)

図1

図1

エンティティ単位でデータを確認することができます。またGQLというSQLと非常に似通った構文のクエリを発行することができ,それでデータを確認することができます。

絞りこんだデータに対して,updateすることもGUIからできますし,エンティティを作ることもできます。つまり,普通にRDBMSに対するクライアントのように操作することが可能で,不整合などが発生した場合には目視しながら直すことも容易にできます。

リソースの監視(図2)

図2

図2

リクエスト数などの情報がグラフによって簡単に把握することができます。

すべてのリソースに対して,どのくらい利用しているのかが一目瞭然なので,Quotaを超えた場合もなにを購入すればいいのかすぐにわかります。また,どのURIに対して何回リクエストされているのか,どのくらいCPUをつかったのかもチェックすることができます。

つまり,単純にリソースを購入すればいいとかいう話ではなく,常にどこにボトルネックがどこにあるのかを理解できるし,それらのチューニングをおこなうことによって,効率的に購入等を行っていくことが可能なのです。

ロギング

通常通りロギングすれば,管理画面ですべて確認することができます。MetaGatewayではexceptionが発生した場合など,一元的に処理してすべて同様にロギングしています。

つまり,ユーザの画面で発生したバグのほとんどのケースを私は把握しています。ユーザはfeedbackしてくれない人のほうが圧倒的に多いので,feedbackなしに進化できるシステムを構築しなければならないので,それがしやすいシステムであることが重要なのです。

著者プロフィール

Techmonkey

コンビのWebビジネスプロデューサー。

社内マイクロブログ - しゃべるエンタープライズサーチ - どこかな?次世代投稿管理サービス - MetaGateway などを2人で開発。今はクラウド型の究極のチームコラボレーションソフトウェアを開発中です。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス