2015年5月13日~15日、東京ビックサイトで第6回 クラウドコンピューティングEXPO 【春】が開催された。国内最大級となる約1,500社のブースが並び本格的なクラウド時代の到来を伺わせた。
本稿では、会場で紹介されていたさまざまなプロダクトやソリューションの中で、トライテックの「PAXOS Solutions」にスポットを当ててみたい。このソリューションは、GoogleやFacebookなどの巨大なクラウドシステムでも活用されている技術に着目し、一般の企業でも使いやすいソリューションにまとめたものである。
トライテックの代表取締役 渡邊典孝氏、クラウド事業推進室 開発担当室長 土屋健氏、営業企画部PAXOS担当 林正嗣氏の3名に、同社のクラウドへの取り組みやソリューションについて詳しい話を伺った。
大規模クラウドベンダーの可用性を実現するPAXOSアルゴリズム
1995年に設立されたトライテックは、UNIXやTCP/IP、スーパーコンピュータなどの基本ソフトの開発に従事していたエンジニアが集まる、受託開発を中心としたソフトウェアハウスである。非常に高い専門性が評価され、大手のベンダーやSIerを主要顧客に抱え、次世代スーパーコンピュータのOSやファイルシステム、ストレージシステムなどの基本ソフトウェア、基幹アプリケーションやネットワークプロトコルなど、高度な技術を必要とするソフトウェア開発を提供している。 同社がクラウド技術に注目し始めたのは、5年ほど前、クラウドが世に広まりはじめたころだ。自社の基本ソフトウェア開発のノウハウ・知見を生かしたソリューションを提供できないかと研究開発を開始した。
トライテックでは、クラウドの普及によって“情報爆発”が起こる可能性があるという点に注目した。今後のビジネスは、静止画や動画、音声などの大量の非構造化データが主流となっていく。膨大なデータを扱うためには、巨大なシステムが必要となる。そこでポイントとなるのが“障害対応”である。
「いずれ、大量のデータドライブを搭載したペタバイト級のストレージも一般的になっていくでしょう。多数のハードウェアを運用していれば、機器1つ1つの信頼性が高いとしても、いずれかに故障は発生します。問題は、一部に障害が発生したときでも、サービス自体に影響を与えずに運用を継続できるかどうかという点です。これを実現できているのは、GoogleやMicrosoft、Amazonなどの巨大なクラウドサービスベンダーのみです」(渡邊氏)
こうしたテックジャイアントたちは、従来の障害対応技術では対応しきれないほどの、数万・数十万台という規模のシステムを止めることなく運用し続けている。そのベースとなっている技術が「PAXOSアルゴリズム」だ。
PAXOSアルゴリズムを容易に実装できるソフトウェア
クラウドシステムでは、複数のサーバプロセスで同一の機能を提供して信頼性を高めている。しかし問題は、これらのサーバ間でどのように整合性を保つかという点だ。
「一般的なクラスタリング技術は、アクティブ/スタンバイの形式を採用しています。障害が発生した場合には、スタンバイ側が機能を肩代わりしますが、アクティブ側が復旧するまではバックアップは存在しないことになります。数年前に発生した証券取引所のシステム障害は、この仕様が原因とされています。PAXOSアルゴリズムは、機器の故障を前提として、整合性を保ったまま複数のノードを協調動作させることができる技術で、こうした障害が発生しにくいのです」(渡邊氏)
ただし、PAXOSアルゴリズムを正しく稼働させるためにはいくつかの問題があり、システムに実装するのは容易ではない。そこでトライテックは、特許取得済のアイデアを基にPAXOSアルゴリズムの実装上の課題を解決するフレームワークを開発。安価にシステムの信頼性と可用性を高めることのできるソフトウェアパッケージ「PAXOS CORE」として提供している。
PAXOS COREには、サーバどうしが協調動作を行うための合意形成機能のほか、サーバ間のセッション管理やメッセージキュー、イベント監視、共有ファイルアクセスやインメモリ共有データベース、データ健全性チェックなど、分散システムの可用性向上と高速処理を担う機能がパッケージングされている。
特長の1つとして、クライアント側に組み込むためのソフトウェアも用意されている点があげられる。つまり、アプリケーションに大きな変更を加えることなく、PAXOS COREの分散システムに組み込めるということだ。
「一般的なクラスタリング技術は、システムが複雑で高価な共有ストレージが必要であり、可用性をハードウェアに依存している部分があります。PAXOS COREは完全なソフトウェア製品のため、HPCにも、クラウド環境にも、Androidにすら搭載して、システムの信頼性を高めることが可能です」(土屋氏)
PAXOS Solutionsで安価に信頼性・可用性を向上
ある企業では、シミュレータシステムを外部のユーザーへ貸し出す際に利用するライセンスサーバの可用性が課題であった。メインのシステムに問題がなくとも、ライセンスサーバが停止すると、エンドユーザーが利用できなくなってしまうためだ。そこでPAXOS COREを採用し、安価に可用性を高めることに成功した。
またある企業では、分散処理アプリケーションの実行基盤にPAXOS COREを組み込む計画を立てているという。長時間かかるバッチ処理やデータ解析などは、途中で停止すると一からやり直さなければならないためだ。PAXOS COREであれば、アプリケーション自体への影響は小さく、比較的容易に高可用性を実現することが可能である。
トライテックでは、PAXOS COREを中核とした具体的なソリューションとして、S3互換オブジェクトストレージ「PAXOS S3」、ソフトウェアで実装可能な仮想SANストレージ「PAXOS VirtualVolume」、インメモリRDBMS「PAXOS memoryDB」などを提供している。また、分散キャッシュシステム「PAXOS memcache」についても開発中で近日中に提供開始される。
展示ブースでのデモンストレーションでは、これらの製品を用いた仮想化環境が用意され、実際にVMを停止させるなどの障害を発生させたときにも、エンドユーザーに影響を与えることなく稼働し続ける様子を見ることができた。
「トライテックのスタッフのほとんどは開発者で、コアでレアなエンジニアが集まっています。長年にわたって技術を追い続けてきた者も多く、歴史を深く理解したうえで最先端のソリューションを開発しています。ご要望があれば、PAXOS Solutionsの技術や実装方法についても、詳しく解説します。ぜひ当社の技術力をビジネスに活用してください」(林氏)