近年では複数のコンピュータの並列化に加え、ネットワークを通じてリソースを利用するクラウド・コンピューティングが増えてきています。クラウドサービスを取り入れることで、サーバやインフラの管理やメンテナンスの費用や労力が抑えられます。さらに拡張性が高いことも特徴です。
例えばSOAサービスでは、あるサービスの利用が増大した場合にパフォーマンスが下がる可能性があります。このような場合にも、クラウドでは追加の仮想マシンを立てるだけで問題が解決します。クラウドサービスには、以下のような分類があります。
表2 クラウドサービスの分類(書籍「Visual Studio 2010 スタートアップガイド」翔泳社刊より引用) | |||||||||
|
グーグルが提供するPaaS型のクラウドサービスです。App Engineを利用すると、グーグルのインフラ上で動くアプリケーションが提供できます。グーグルの資産であるデータベースシステムのBigtableやGoogle File System(GFS)と呼ばれる分散ファイルシステムを使えることが特徴です。
Java仮想マシン(JVM)対応のインタプリタやコンパイラを使ってGroovy、Scala、JRubyなどのJava以外の言語も利用可能です。開発環境としてはEclipseのプラグインが提供されており、開発からデプロイまでをEclipse上で行えます。
使用できる言語としてJava以外にもPHPやRuby on Railsがサポートされています。また、Eclipseベースの統合開発環境である「Aptana Studio」を提供しており、Aptana Studio上で開発からデプロイまでを一貫して操作できます。Subversionによるバージョン管理機能やステージング機能もあります。
ほかにも、Javaのアプリケーションを実行できるクラウドサービスとしては、オラクルが提供するSun Cloudや、Salesforce.comとVMwareが提供するVMforceなどがあります。
.NETでは、マイクロソフトが提供するクラウドのプラットフォームとしてWindows Azureがあります。
まず大きな特徴としては.NETがサポートされています。これによりVisual Studio上で.NET対応言語を使い、クラウド対応のアプリケーションを開発から配置まで行えます。SQL Serverのクラウド版である「SQL Azure Database」がRDBMS型のデータストレージサービスであることも特徴です。
ほかにも「AppFabric」という技術を利用することで、オンプレミスのWindows Server 2008とWindows Azure上のクラウドサービスを連携できます。
またWindows Azure上では、RIAフレームワークであるSilverlightでの開発にも対応しています。さらに、対応言語は.NETだけではなく、PHPやJavaにも対応しています。
Copyright © ITmedia, Inc. All Rights Reserved.