* この投稿は、米国時間 4 月 21  日、Google Cloud Platform Global Head of Solutions の Miles Ward によって投稿されたものの抄訳です。

はじめに
習うより慣れろということで、 ローカル SSD を直接、そしてより気楽に体験していただくために、割引価格をご用意しました。2015 年 4 月 21 日から 2015 年 5 月21 日まで、ローカル SSD を $0.055/ GB /月、つまり 75%割引で提供します。この期間後は、料金は通常の $0.218/ GB /月に戻ります。ローカル SSD を試す絶好のチャンスですので、ぜひお試しください。


クラウドの料金体系を理解する」というブログを公開して以来、最も多くリクエストを頂いた項目は、ストレージのコストと性能の詳細について、特に当社の製品が他のクラウド サービスに対してどこが異なっているかに関してです。

ソリッド ステート ディスク(SSD)は素晴らしい技術ですが、一方で多種多様なデバイス、構成、コネクタ、およびドライバが桁違いに性能に大きな違い出ることを理解することが重要になります。すべてのソリッド ステート ディスクが同じように作られているわけではないからです。

さらに、クラウド プロバイダーによっては、まったく異なるパッケージの SSD を提供する場合もあります。今回、統計を列挙したり実際の状況分析を示したりするのではなく、ローカル SSD を使用したシステム例を具体的に示し、Google Cloud Platform および AWS で実行した際の違いを分析してみましょう。


以前のポストと同様に、Web スケールのアプリケーションのために、NoSQL のキー値をストアするバックエンドをデプロイする場合を例として考えてみましょう。ここでは、分かりやすく単純化した例として、3 ノードのクラスタをデプロイし、最大性能を得るためにローカル SSD にデータをホストすることにします。

Google Compute Engine 上で、4 つのローカル SSD ボリュームが接続された n1-highmem-8 インスタンスを使用します。これは、AWS の i2.2xlarge インスタンスに、 CPU、RAM、およびSSDのストレージ ボリュームを持たせた仕様とほとんど同等です。ここでは、最低でも 75000 IOPS を実現して、高速クエリを達成するようにセットアップしようとしているのです。

以下の計算は 2015 年 4 月 3 日に行ったため、その料金計算結果をこのポストに記載したものであることに注意してください。不一致があるとすれば、このポストの公開以後に料金変更や計算手順変更があったためである可能性があります。


料金計算結果:

Google Cloud Platform 見積料金:
月額: $1883.04

Amazon Web Services 見積料金:
月額: $3744.18

Google Cloud Platform のほうがかなり安いことに気づかれたでしょう。その理由の 1 つは、Googleに Sustained Use Discounts と呼ぶ自動継続割引があるためです。しかし、それがなくとも 39 %も割安です。詳細な数値を次に示します。

  •  i2.2xlarge の場合の利点:
    • 17 % メモリ量が大きい
    • 7 % SSD スペースが大きい
  • n1-highmem-8 に 4 つの SSD パーティションを接続した場合の利点:
    • 39 % 割安
    • 807 % 読み出し IOPS が大きい
    • 380 % 書き込み IOPS が大きい


気づきましたか? 読み出し IOPS が 807% も大きいのです!  ほぼ半分のコストで 9 倍以上の速さを生み出しています。

では、このことは NoSQL のワークロードにどのような影響があるでしょうか? 読み出しに限定したワークロード(その多くはレポートや分析などのシステム)が時間とともに大きくなると仮定した場合、インスタンスで SSD における読み出しキャパシティが使い尽されると、ノードを追加してクラスタをスケールアウトする必要があります。読み出しトラフィックが 6 倍になったとしてみましょう。

料金計算結果:

Google Cloud Platform 見積料金:
月額: $1883.04 (上記とまったく変わらず)

Amazon Web Services 見積料金:
月額: $22465.08

Google での SSD 読み出しスループットと同等にするためには、AWS では、次に大きいサイズのインスタンス(i2.4xlarge)にステップアップし、3 倍多く実行する必要があります。 Google Cloud Platform  の SSD が提供する追加の読み出し性能は、同等のみならずシンプルな 3 ノードのシステムを維持することを意味しますが(管理/運用コストを「本当に節約」できます)、同じ低価格のままです。書き込みに限定したワークロードの場合でも、Google を選んだほうが同様に有利です。

この例よりも小さな規模で始める場合はどうでしょうか? すべてのアプリが 680 K IOPS を必要とはしませんね。 これは、Google Cloud Platform の SSD 実装と AWS インスタンスとの間の最も重要な違いの 1 つです。つまり、Google では、標準型、大容量メモリ、および高性能 CPU のインスタンスに SSD を 375 GB 単位で追加することができるのです。このことは、高効率な SSDで始めて、直線的にスケールアップできることを意味します。ただし、AWS では、効率的なスクラッチ ディスクとして使用するためのいくつかの小さなシングルコピー SSD がインスタンスに含まれていることに注意することが重要です。これらは、負荷の高いデータ使用向けに設計されているわけではないので、AWS では性能仕様は文書化されていません。

SSD は Google のすべてのプライマリー インスタンスで提供されていますので、はるかに小さなインスタンス タイプでも設定が容易ですし、ローカル SSD の性能を維持することができます。各プロバイダで利用可能な 3 ノードの最小構成にスケールダウンしてみましょう。それでもフル性能の SSD にアクセスできます。この構成は、Google では  1x375GB のローカル SSD を持った n1-standard-1 インスタンスに相当し、AWS では 1x800GBのローカル SSD を持った i2.xlarge インスタンスに相当します。

料金計算結果:

Google Cloud Platform 見積料金:
月額: $341.90

Amazon Web Services 見積料金:
月額: $1873.20

圧倒的な差です。Google では、このシステムは非常にコスト効率が良く、3 週間実行しても無料トライアルの範囲内で試せます。


SSD の具体的な料金比較

ローカル SSD の場合、クラウド間で直接料金比較を行うのは多少問題がありました。というのも、AWS はコンピューティングとローカル ストレージを単一の SKU にバンドルしていますが、Google Compute Engine はそれらを分離して、顧客が自由にデプロイメントのサイズを決めたり最適化したりできるようにしているからです。

しかし、一般に公開されている AWS のドキュメントを使用すれば、SSD の料金と量だけが異なった同様なインスタンス タイプの構成と料金を比較することによって、EC2 のローカル SSD の料金を導き出すことは可能です。すべての構成情報は Amazon EC2 インスタンスのウェブページから、すべての料金情報は Amazon EC2 料金表ページから引用しました。すべてのケースにおいて、ノースバージニア州でのオンデマンド料金を使用しています。

基本的には、r3(メモリ最適化)とi2(ストレージ最適化)のそれぞれのインスタンス タイプを比較しています。 同量の CPU とメモリを持つが SSD の量が異なり、料金が違うものをペアでまとめてグループ化し、料金の違いによって SSD 容量の違いを分けることによって、AWS が顧客に課金する 1GB のローカル SSD あたりの料金を導出することができます。4 種類のそれぞれの r3/i2 ペアを比較すると、AWS は $0.0007/GB/時間のローカル SSD料金であると算出されます。

一方、Google は 375GB 単位でローカル SSD を $0.218/GB/月で提供していることになります。1 時間あたりの料金に直すと $0.0003/GB/時間となります。従って、Google では少なくとも 4.8 倍高速なローカル SSD を提供しながら AWSよりも 57%割安であると結論づけられます。

インフラ システムの設計で最善の決断をしようとする際には、料金が重要な点であると我々は考えています。クラウド料金についての考えや問題、分かりにくい事、分析が困難な事、予測が困難な事など、我々にできることがあれば、Stack Overflowでご連絡ください

-Posted by Miles Ward, Global Head of Solutions, Google Cloud Platform