クラウド上でのJavaやRuby、.NETを利用した開発についての記事は増えてきていますが、クラウド上でのPHP利用に関する記事は、現時点では意外と少ないです。本連載では、PHP開発で利用することを前提に、Amazon Web Services(以下、AWS)とWindows Azureの2大クラウドを比較します。PHPのエンジニア以外でも参考になる内容になっていると思いますので、ぜひお読みください
前回は、開発環境やアプリケーションのデプロイなど、開発における使い勝手について見ていきました。 今回は、クラウド上でアプリケーションを運用する際に気になる、性能や監視項目の設定について見ていきます。
また、クラウドを利用すると、複数のユーザーでディスクやマシンをシェアするので、他人にのぞき見されないか、あるいは、運用者が不正にデータを閲覧したり、持ちだしたりされないかという点も気になるところだと思います。これについては、セキュリティ認定の取得状況をご紹介していきます。
なお、各クラウドサービスは日進月歩で進化しています。下記は今回の評価条件下での、現時点での結果です。実際にクラウドを利用する際には、最新の情報および利用目的に基づいて再調査することをお勧めします(本連載の第1回に掲載した価格表については、第3回の公開にあわせて2012年4月8日時点の価格に基づき修正しました)。
まずは、AWSとAzureの、インスタンスごとの性能の比較から見ていきましょう。ここでは、PHPの代表的なアプリの1つであるWordPressを利用して、ベンチマークの比較を行いました。なお、性能評価結果は、今回の評価条件かつ現時点のAWS、Azureの環境に基づくものであり、他のアプリケーションやシステム構成でこのとおりの結果になるとは限らないので、ご注意ください。
■ 評価条件
評価条件は次のとおりです。AWSとAzureは似た構成で、WordPressの環境を構築しています。
AWSは、EC2でイメージをAmazon Linux(64ビット版。インスタンスタイプによっては64ビット版がない場合は32ビット版)インスタンスを起動して、1台のサーバの上でMySQLとApacheを動作させ、WordPressも同じサーバにデプロイして評価しました。Amazon Linuxを利用すると、インスタンスはEBSを利用して起動されます。
Azureは、コンピュートサービスで Windows Server 2008 R2のインスタンス(64bit版のOSのみ、Extra Small〜Extra Largeの5種類)を起動して、1台のサーバ上でMySQLとIISを起動させ、WordPressも同じサーバ上にデプロイして評価しました。MySQLのデータは、ドライブ(ストレージサービスのBLOBストレージ)に格納して永続化しています。
利用したソフトウェアのバージョンは下記のとおりです。
ソフトウェア | バージョン | ||
---|---|---|---|
WordPress日本語版 | 3.3.0 | ||
MySQL | 5.1.52 | ||
Webサーバ | |||
Apache(AWS) | 2.2.21 | ||
Internet Information Server(Azure) | 7.0 | ||
PHP | 5.3.10 | ||
表1 今回のベンチマーキングで使用したソフトウェアとバージョン |
Apache ABを利用し、WordPressトップページに、10多重のスレッドで各100回ずつ(計1000回)のリクエストを送信し、平均のスループットを求めます。これを1セットとし、計3セット計測を行い、その平均からスループット(リクエスト/秒)を算出します。
■ 評価結果
まずは、AWSとAzureでWordPressのベンチマークの評価の結果を掲載します。図1は各インスタンスのスループット(リクエスト/秒)です。
スループットの上位は、Azureのインスタンスが占めています。また、Azureの最も小さいインスタンス(Extra Small)はAWSの最も小さいインスンタンス(t1.micro)の3倍程度の性能が出ています。
次に、価格性能比として、1ドルでできる処理量(スループット×3600/インスタンス単価)のグラフをみてみましょう(Azureは為替1ドル=82円で計算)。
Copyright © ITmedia, Inc. All Rights Reserved.