Google App Engine

Google AppsのSenior Product Manager、Rajen Sheth氏がWhat we talk about when we talk about cloud computingにおいてGoogleのクラウドコンピューティングについての取り組みを紹介している。GoogleのクラウドコンピューティングとはGoogle App Engineのことであり、GmailなどのWebアプリケーションもクラウドベースのアプリケーションということになる。Googleのアプローチとほかのアプローチの違い、GoogleがApp Engineに見出している価値などがまとめられている。紹介されている内容をいくつかかいつまんで紹介すると次のとおり。

H/Wでの取り組み

  • プライベートデータセンターの仮想化アプローチでは、企業はサーバを購入し、それをいくつかのサーバへ分割して活用するが、Googleのアプローチは逆。低価格なPCを組み合わせて大規模のスーパコンピュータを構築している
  • エンタープライズのH/Wコンポーネントは高い信頼性を発揮するように設計されているが完璧ではないため、多額の費用をメンテナンスに費やすことになる。GoogleではH/Wは壊れるものだと認識して、ソフトウェアでH/Wが壊れた場合にも問題がないように工夫している。結果、汎用パーツが使えるため費用を抑えることができている
  • データベースや大規模バックエンドシステムに採用される大規模高可用性H/Wはきわめて高価。Googleではソフトウェアで可用性を確保することで廉価なH/Wプラットフォームを使って同様の可用性を実現している

ソフトウェアでの取り組み

  • 典型的なWebアプリケーションを開発しようとした場合、まず仮想環境にデータベース・アプリケーションサーバ・Webサーバを導入する必要がある。作業時間もそうだが、ライセンス購入費用や保守などに手間がかかる。Google App Engineのようなサービスであればスケーラブルなサーバとデータベースに即時アクセスできるしそういった手間も不要
  • Gmailのようなクラウドベースアプリケーションではスケールの管理もアプリケーションの保守やアップグレードもGoogleが担当している。メールシステムをプライベートにホスティングする場合と比較してコスト削減が実現できている
  • Googleが提供しているようなクラウドコンピューティングやアプリケーションはイノベーションのペースがかなりはやい。数年間保守を続けてから一気にアップグレードするモデルと比べて、随時アプリケーションに改善やイノベーションを体験できる

クラウドコンピューティングではGoogle App Engineのように特定のデプロイプラットフォームを提供するものもあれば、Amazonのように特定のサービスだけを提供するもの、またこれもAmazonから提供されているがある程度構築された仮想サーバを選択して利用するものなどもある。