Skip to main content Skip to Footer

Hadoopクラスタ構築はクラウドかベアメタルか?

アクセンチュアによる、Hadoopクラスタ構築についての検証と提言。クラウドかオンプレミスかの違い、また実装方式による性能・コストへの影響などを検証。そこから導き出したコスト・パフォーマンスの最適解を紹介します。

概要

アクセンチュアは、ベアメタル(物理サーバー)を利用した場合とクラウド・コンピューティングをベースとした場合のHadoopクラスタのコスト・パフォーマンスを比較しました。


目次

はじめに

ビッグデータの活用により、企業における情報の位置づけと、その情報が事業にもたらす価値(あるいは、もたらさない価値)に変化が生じています。従来のデータ処理インフラに取って代わりつつあるビッグデータ向けのインフラは、コストに比例して取り扱えるデータの容量が増大し、性能(処理速度)も向上します。それに対し従来のデータ処理インフラは、容量と性能に応じてコストが指数関数的に増加していました。データを保存して処理するインフラには、このような変化が生じています。

この変化を背景に企業は、事業に価値をもたらす洞察を得るため、複数のデータセットや情報ソースを統合し、それを分析して顧客や業務を完全に“見える化”する動きを活発化させています。既に、ビッグデータを活用し、企業内の業務や対外的な事業活動を改善した事例が出てきています。いまや、多くの企業が同様の成果を得ようとしており、IT関連の取り組みの中でビッグデータの導入を高い優先度に位置づけています。

ビッグデータが巻き起こしているこの変革において、中核的な役割を果たしているのが「Apache Hadoop」(以下、Hadoop)です。HadoopはThe Apache Software Foundationが開発・公開しているオープンソースソフトウェアであり、ビッグデータの効率的な並列分散処理を得意としています。Hadoopによって、企業は数年前には考えられなかったほど大量なデータを保存/処理できるようになりました。

総所有コストを比べる

アクセンチュアは、(1)ベアメタル(物理サーバー)を利用して構築したHadoopクラスタと(2)クラウドをベースに構築したHadoopクラスタの2つについて、アクセンチュア独自の総所有コスト(TCO:Total Cost of Ownership)モデルを使用し、コスト・パフォーマンスを比較しました。このうち(2)クラウド・ベースのHadoopクラスタとしては、4種類の仮想マシンのインスタンスに対してそれぞれ2種類のデータフロー・モデルを適用した計8種を構築しました。その上で、Accenture Data Platform Benchmarkが実際に提供しているHadoopアプリケーションを3種使用し、(1)および(2)の各クラスタによる実行時間を比較しました。

これにより、データをベアメタルを利用したオンプレミスのローカル・ストレージで保持する場合と、クラウド内のリモート・ストレージに保持する場合で、性能にどのような影響が出るかを調べました。直観的にはオンプレミスの方が高い性能を得られるように思えますが、今回の検証からは逆の結果が導かれました。つまり、リモート・ストレージを使用してデータの可用性(アベイラビリティ)を高める方が、Hadoop Distributed File System(HDDS)でローカル・ストレージにデータを保持する場合よりも高い性能が得られることが分かりました。

image

Table 1. TCO matching bare-metal Hadoop cluster and Hadoop on the Cloud
まず、Hadoopクラスタを(1)ベアメタルで構築した場合の1カ月当たりのコストを、表中の左側のように見積もった。その合計金額は2,1845.04米ドルである。この金額を、(2)クラウドをベースに構築する場合のコスト要素に分割したのが右側である。今回の調査では、この同じコストで得られる(1)と(2)の性能を比較した。
(PDFから抜粋)

実装方式が性能・コストに与える影響

今回の検証では、アクセンチュア・テクノロジー・ラボのData Platform Benchmarkにおいてデータフロー・モデルとクラウド・アーキテクチャが性能に与える影響について確認しました。

さらに、Hadoop実装方式がコスト・パフォーマンスに及ぼす影響について、2つの相反する見解について調査しました。一般的には、仮想化されたHadoopクラスタの方が処理は遅くなると考えられています。大量に発生するI/O処理がHadoopの負荷となり、仮想化環境ではその実行が遅くなりがちだと思われているためです。もう1つの見解として、クラウド・ベースの方がコスト削減の面で大きな効果が得られるというものがあります。この実装方法は、クラスタを構成するサーバー群のノード個々にかかるコストを低く抑えられる傾向があり、コストを積み増せばHadoopの性能を高められるとされています。

検証結果と提言

今回の検証からは、次の3つの結果が得られました。

  • Hadoopクラスタをクラウド・ベース(Hadoop on the Cloud型あるいはHadoop-as-a-Service型)で実装した方が、ベアメタルを利用して実装するよりもコスト・パフォーマンスが高い。
  • パフォーマンス・チューニングの効果は非常に高い。そのため、クラウドにおける仮想化レイヤーは、オーバーヘッドになる半面、パフォーマンス・チューニングを実施しやすくなるので投資する価値がある。
  • パフォーマンス・チューニングは、多大な効果は期待できるものの、複雑で時間のかかる作業である。そのため、自動チューニング・ツールが必須となる。

クラウド・ベースのHadoop実装方式には複数のタイプがあり、企業のニーズによって最適な選択肢は異なります。Hadoop on the Cloud型はHadoopクラスタの制御性がより高くなり、Hadoop-as-a-Service型は運用がより簡単になります。

実装方式を決めたら、以下に挙げる4つのポイントを検討し、クラウドのプロバイダを選定する必要があります。

  • ワークロードの利用率と要求量
  • コスト構造
  • クラウドのアーキテクチャ
  • 作業者にとっての使いやすさ

上記の4項目について慎重に検討することで、企業はビッグデータ活用に向けたインフラ構築を成功させ、クラウド上で最大のパフォーマンスを得ることが可能になります。