クラウドストレージサービス選びにとって重要な指標

クラウドストレージは柔軟性が高く費用対効果も優れている。「Amazon Web Services」(AWS)、「Google Cloud Platform」(GCP)、「Microsoft Azure」のようなハイパースケーラーだけでなく、多くのクラウドプロバイダーが選択肢に入る。  

Source: クラウドストレージサービス選びにとって重要な指標

クラウドストレージは柔軟性が高く費用対効果も優れている。「Amazon Web Services」(AWS)、「Google Cloud Platform」(GCP)、「Microsoft Azure」のようなハイパースケーラーだけでなく、多くのクラウドプロバイダーが選択肢に入る。

 クラウドストレージサービスのパフォーマンスはどのように測ればよいのか。オンプレミスの場合、ストレージのパフォーマンスを追跡できるさまざまな指標が確立されている。クラウドではそれらが明確にならないことがある。

クラウドストレージの比較と監視はオンプレミスのそれよりも難しくなる可能性がある。IT担当者は、ストレージパフォーマンスの従来の指標であるIOPSやスループットなどに加えて、コスト、サービスの可用性、セキュリティなども考慮する必要がある。

従来のストレージ指標

 ストレージの従来の指標(訳注)はクラウドにも当てはまる。

訳注:詳しくは「ストレージパフォーマンスの比較にとって重要な5つの指標」を参照。

 ストレージの「速度」については、スループットとIOPSという2つの主な測定値がある。スループットはデータ転送速度のことで、1秒当たりのバイト数で測定される。IOPSでは1秒当たりの読み書き数、つまり入出力(I/O)操作回数を測定する。

 ハードウェアメーカーは読み取り速度と書き込み速度を区別しており、通常は読み取り速度の方が速い。加えてシーケンシャル/ランダムも区別する。

 これらの指標はディスクの読み取り/書き込みヘッドの動き、フラッシュストレージにおける既存データの削除の必要性などの影響を受ける。実パフォーマンスの最善の指針はランダム読み取り/書き込みのパフォーマンスだ。

 HDDメーカーは、1分間当たりのディスク回転数(rpm)をスペックとして提示する。メインストリームのストレージには7200rpm、高品質のエンタープライズシステムには1万2000rpm、低パフォーマンスのハードウェアには5400rpmのHDDが使われる。この測定値はSSDには当てはまらない。

 IOPSは、HDDならば50~200の範囲になる。SSDはパフォーマンスが大幅に高くなる。ハイパフォーマンスのSSDは理論上、2万5000以上のIOPSを実現する可能性がある。ただしストレージコントローラーやネットワーク、RAIDやキャッシュメモリなどのオーバーヘッドを考慮に入れると、実際の差は少なくなる。

 考慮すべきもう一つの重要な測定値がレイテンシだ。レイテンシは各I/O要求が実行される速さを表す。HDDの場合、レイテンシは10~20ミリ秒になる。SSDの場合、レイテンシは数ミリ秒だ。レイテンシはストレージがアプリケーションをサポートできるかどうかを判断する重要な指標になることが多い。

クラウドの指標

 ストレージの従来の指標をクラウドに単純に適用できることはほとんどない。

 クラウドストレージユーザーは、利用する容量がどのようにプロビジョニングされるかを正確に把握することはないだろう。フラッシュ、HDD、テープ、光メディアをどのように混在させるかはクラウドプロバイダー次第であり、サービスレベルによっても異なる。

 大規模クラウドプロバイダーの多くは、ストレージ、キャッシュ、負荷分散などの技術を組み合わせて運用する。そのためハードウェア自体のパフォーマンスデータはほとんど役に立たない。また、ブロック、ファイル、オブジェクトという異なるストレージフォーマットが測定値の比較をさらに難しくする。

 バックアップ/リカバリーとアーカイブに重点を置くサービスもある。こうしたサービスにはROT(目標復旧時点)や取得時間などの独自の指標がある。

 大規模クラウドプロバイダー同士なら、ブロックストレージを比較するのが最も簡単だ。

 GCPはブロックストレージ(https://cloud.google.com/compute/docs/disks/performance)について、最大持続IOPSと最大持続スループット(MBps単位)を示している。この2つの指標は、

  • 1GB当たりの読み取りIOPSと書き込みIOPS
  • 1GB当たりの読み取りスループットと書き込みスループット
  • 1インスタンス当たりの読み取りIOPSと書き込みIOPS
  • 1インスタンス当たりの読み取りスループットと書き込みスループット

に細分化される。だが、Googleは「永続ディスクのIOPSとスループットパフォーマンスはディスクサイズ、インスタンスvCPU数、I/Oブロックサイズなどの要因によって決まる」としている。

 Googleは7200rpmの物理ディスクを基準にしてパフォーマンスを比べた便利な比較表も提示している。

 Microsoftは「Azure Blob Storage」の監視を希望するITユーザーを対象としたガイダンス(https://docs.microsoft.com/ja-jp/azure/storage/blobs/monitor-blob-storage)を公開している。このガイダンスはAzureでストレージパフォーマンスを測定(https://docs.microsoft.com/ja-jp/azure/storage/blobs/monitor-blob-storage-reference)する際の便利な入門書になる。

 AWSも「Amazon Elastic Block Store」に関して同様のガイダンス(https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSPerformance.html)を提供している。

コスト、サービスの可用性などの有用な測定値

 クラウドストレージは従量制サービスなのでコストは常に重要な指標になる。

 主要クラウドプロバイダーはコストとパフォーマンスに基づく階層を用意している。AWSは、汎用(はんよう)SSDボリュームには「gp2」と「gp3」を、パフォーマンス最適化ボリュームには「io1」と「io2」を、「大規模シーケンシャルワークロード」を目的とするスループット重視のHDDボリュームには「st1」を用意している。ユーザーは、類似サービスを比較するためにコストとパフォーマンスについて独自の分析をまとめたいと考えるだろう。

 だが、クラウドストレージの指標となるのはコストとパフォーマンスだけではない。1GB当たりまたは1インスタンス当たりのコストを考える場合、データイングレスコストとデータエグレスコスト、つまりデータを取り出すコストなども考慮する必要がある。非常に安価で長期間利用できるストレージサービスの中には、データをクラウドから取り出す際に非常に高額を請求されるサービスもある。

 使用可能な容量も指標の一つだ。実際にクライアントアプリケーションで使える量はどの程度か、使用率がどこまで高まったらパフォーマンスに影響し始めるかなどが重要だ。繰り返しになるが、この数値はオンプレミスでの数値とは異なる可能性がある。

 CIO(最高情報責任者)は、サービスの可用性にも着目すべきだ。ストレージコンポーネントとサブシステムの信頼性は、これまでMTBF(平均故障間隔)で測定されてきた。SSDの場合は時間経過によるTBW(Total Bytes Written)で測定される。

 大規模クラウドプロビジョニングの場合、可用性はもっと一般的で有用な測定値になる。データセンター形式や電気通信形式の可用性や稼働時間の測定値を利用するクラウドプロバイダーが増えており、多くの場合は99.999%が最善かつ最高額のSLAだ。

 とはいえ、考慮すべき要素はこれらの指標だけではない。クラウドストレージユーザーは地理的位置、冗長性、データ保護とコンプライアンス、セキュリティ、クラウドプロバイダーの財務の堅牢(けんろう)性も考慮すべきだろう。

 こうした要素は、従来の感覚ではパフォーマンスの指標ではない。だが、こうした要素のいずれかがプロバイダーに欠けていると、そのプロバイダーのサービスを利用する上で障害になる恐れがある。

Leave a Reply