クラウド時代にSPARC/Solarisに何が求められているのか――x86/Linuxにはない優位性や使い続ける意義を考える:DockerやNode.jsにも対応
SPARC/Solarisの“新発見”を紹介する「SPARC/Solaris World」。今回は、日本仮想化技術の宮原さんと@IT編集長の内野さんに登場していただき、いろいろな側面からSPARC/Solarisの魅力を徹底解剖します。
今回は日本仮想化技術の宮原さんと@IT編集長の内野さんが登場です
こんにちは。日本オラクルの増田佑菜(ますだ ゆうな)です。
今回は、日本オラクルでSPARC/Solarisのセールスコンサルタント佐藤和幸と日本仮想化技術の宮原徹さんが、SPARC/Solarisとx86/Linuxについて対談されるというので、見学してきました。宮原さんには、仮想化技術を活用したシステムのコンサルタントという立場で、さまざまなご意見をいただいています。モデレーターは@IT編集長の内野宏信さんです。
x86/Linuxが一般的になる中、基幹システムなどでSPARC/Solarisは根強く使われ続けてきました。IoTやビッグデータが注目され、大量のデータをクラウド上で高速かつ信頼性高く扱う必要が出てきている現在、SPARC/Solarisはどのように進化して、お客さまに何を提供していくのでしょうか。
SPARC/Solarisの立ち位置と「使い続ける意義」
内野 SolarisはスケーラブルなUNIX OSとして、現在も多数のユーザーがいます。ただ一般に、x86アーキテクチャにおけるサーバー仮想化が大きく浸透したこともあり、ある意味、ニッチな存在とも目されています。
一方で、近年、企業ITには激しい変化に対応するために、コスト削減、柔軟性、スピードといった要素が重視されロックインを警戒する傾向も強まっています。こうした中で、SPARC/Solarisがユーザーから「どのように見られているか」を振り返りつつ、「使い続ける意義」をあらためて教えていただけますか。
宮原 私自身、以前はSPARC/Solarisを使っていて、Linuxも経験してきました。Solarisの立ち位置はエンタープライズ領域にあることは変わっていないのですが、10年前に比べてサーバーを使う範囲が広くなってきており、OSがすみ分けられていると感じています。
クラウドの時代になって、ほとんどのユーザーはOSやCPUが何であるかは気にしておらず、「仮想マシンのインスタンスの上で、自分の必要なアプリケーションやミドルウエアが動くかどうか」にしか興味を持っていません。また、IoTが話題となる中で、興味の対象がデバイスなどの小さな端末に移行しているため、その反対側にいるSPARC/Solarisはニッチな存在と見られるようになったのではないでしょうか。
佐藤 宮原さんがおっしゃられたように、「x86サーバー」というカテゴリができて、UNIXの市場は小さく見えるようになってしまったのは事実です。しかし、エンタープライズ領域でUNIXやSPARC/Solarisを求めているお客さまは必ずいて、「エンタープライズ」という観点で「それらを多くの人に使ってもらう」ために、そして「どのようなものが求められているか」を考え、お客さまに直接語り掛けることで、SPARC/Solarisの信頼性を保ってきました。
CPUなどハードウエアのレベルを気にしなくなっていることはわれわれも感じていますが、エンタープライズの領域では、ハードウエアまでしっかり見ていかなければ、その上のアプリケーションの性能を生かすことはできません。オラクルとしては、これまで通り、ストレージからミドルウエアまでをしっかりとお客さまに提供していこうとしています。
仮想化環境とクラウドへの移行、そしてハイブリッド環境
内野 確かに、インフラの業務ごとの使い分けという議論の中では、「アプリケーション層などを気にするだけではなく、下の物理層/ハードウエアレベルまでを考えなければ、しっかりとした設計ができない」という意見も聞かれます。その意味では、現場のエンジニアの方はSPARC/Solarisを意識していると思いますが、企業のユーザー部門にとってSPARC/Solarisを使う意義はどこにあるのでしょうか。
宮原 私は、実際に仮想化移行の案件をご相談いただいていますが、そのほとんどが混在環境です。要求されるサービスレベルが低ければx86サーバーを使えますが、「ある程度の規模の業務で信頼性を出すには、x86サーバーでは難しい」という認識を、ユーザーをはじめ、ソリューション提供者やSIerも感じています。
カタログスペックで性能が同等であっても、「実績」という、目に見えない定量的には説明できないものが選定を左右することがあります。そういう意味ではSPARC/Solarisには、「これまで培ってきた信頼性や安定性」という「実績」があると思います。単純な性能の横並びだけでx86サーバーとSPARC/Solarisを比較するのではなく、「クラウドをパブリックにするか、プライベートにするか」という議論と同じで、それぞれのアーキテクチャに適材適所があることを理解した上で、「実績ベースでの安心」についても考える必要があるのではないでしょうか。
内野 なるほど。確かに、これまで基幹系を支え続けてきたスペックだけでは測れない「信頼性」という面で、また、これまでSPARC/Solarisで利用してきたシステムを今後も生かし続けるという点に、使い続ける意義があるというわけですね。
ただ、信頼性という意味でSPARC/Solarisが支持されてきたとはいえ、昨今はシステム運用のスピードと柔軟性を担保する上で、x86サーバーによる仮想化環境やプライベートクラウドを使うケースも増えつつあります。また、目的に最適なインフラを選ぶために、パブリッククラウドとオンプレミスを使い分けるハイブリッド環境も注目されています。こうした中で、ビジネスの状況に応じて既存システムをスケールできるよう、クラウド移行を考える企業は着実に増えているという背景もあるわけですよね。
佐藤 確かにその通りですが、既存のシステムをスケールさせるためにクラウドに移行しようとしても、クラウド環境に合わせた改修が必要となり、そこにはコストが発生します。SPARC/Solarisでは、2005年のSolaris 10からコンテナー仮想化技術を提供し、アプリケーションだけを仮想化して、ハードウエア集約と仮想化を同時に行えるようになっています。また、Solarisでは、8や9など以前のバージョンで使われてきたアプリケーションもそのまま動くようになっているので、OSのバージョンアップによる改修コストをかける必要がありません。
宮原さんが適材適所とおっしゃったように、ベアメタル/仮想化、OSのバージョンの違いなどの異なる環境を混在させることができ、最適な環境を選べる機能を提供しているので、仮想化の最初のステップとしてベースとなる環境をわれわれと一緒に考えて構築してほしいですね。その上で、混在環境から完全移行環境に移るなど、次のステップへのパスも用意できます。今の時代に適応できるような環境を構築できる多くの機能を、オラクルとしてこれからも提供していきます。
われわれの統合型システムである「Engineered System」によってプライベートクラウド(オンプレミ ス)とパブリッククラウドを変更なしでシームレスに連携できるのも、オラクルおよびSPARC/Solarisの強みだと思います。
仮想化やクラウドに期待されるセキュリティとパフォーマンス
内野 信頼性に加えて、システムをスケールできる拡張性があることはユーザー企業にとって魅力的ですね。では、ここで少し見方を変えて、「企業が仮想化やクラウドで懸念していること」、主にパフォーマンスやセキュリティだと思いますが、「SPARC/Solarisは、これらにどう応えてくれるのか」もユーザーにとっては気になるところだと思うのですが。
宮原 仮想化やクラウドへの移行を検討する際には、全体のシステム設計が重要で、基幹業務では、機能別に「クラウドにするのかどうか」を見極める必要があります。
基本的には、クラウドに求められているものと基幹システムに求められているものは、相反する部分があると思います。今のクラウドに期待されているのはディスポーザブル(使い捨て)で、短いライフサイクルで開発コストの低いシステムをクラウド上でどんどん乗り換えていくことにメリットがあるわけです。一方で、基幹業務ではディスポーザブルではなく、サスティナブル(持続可能)なものが求められます。Solarisが以前のバージョンのアップグレードパスをきちんと持っているように、過去の資産もサポートする、サポート継続性と信頼性が求められていると思います。
内野 なるほど。最近は「何でもクラウドへ」といった風潮も一部にあるわけですが、クラウドの基本特性にはなじまないシステムもあるわけですね。確かに、長期間変わらず使い続けるような、高度な安定性を求めるシステムの場合、クラウドに移す意義はコスト面でも薄いと思います。つまり、先の話のように適材適所でインフラを使い分ける必要があるわけですが、信頼性・安定性に加えて、システムをスケールできる柔軟性があることはSPARC/Solarisの強みと言えそうですね。佐藤さんは、いかがですか。
佐藤 クラウド環境でもそうですが、セキュリティが重要になってきます。また、個々のスレッドの速さだけではなく、集約度の高さも求められます。このクラウドで求められている2つの要素を、SPARC/Solarisは担保しています。最新のSPARC M7プロセッサーでは、「Software in Silicon」として本来ソフトウエアで実装されていた機能をシリコン上に実装し、さまざまな機能を提供します。
内野 宮原さんは、ユーザー視点でSPARC/Solarisのセキュリティにおける特性をどう見ていますか。
宮原 SPARC/Solarisは成熟した大人の環境なので、一般的な企業はそこまでの環境を要求していないと感じることはあります。しかし、個人情報を預かるようなシステムを運用する場合は、パブリッククラウドではシステム監査が通らない場合があります。情報セキュリティの課題が大きくなって、「守るものはしっかりと守る」という意識を皆が持ち始め、「外に出せるものはパブリッククラウド、個人情報はオンプレミスやプライベートクラウド」というよう使い分けるようになっています。ですが、そこから先は具体的にどうしたらいいのか分からない場合が多いのではないかと思います。
佐藤 SPARC/Solarisは、セキュリティの機能を多数搭載しており、「そこまでは必要ない」と言われることもあります。しかし、そこまでのセキュリティを備えなければ攻撃を受けてしまうリスクが出てくるし、どこまでセキュリティを強固にしていくかという話に終わりはないと思います。
内野 安定運用やセキュリティへの不安についても、ハードウエアとソフトウエアが密接に結合しているSPARC/Solarisが優位なのでしょうか。
佐藤 例えば、「Software in Silicon」の一つである「Security in Silicon」には「Hardware-Assisted Encryption」機能、いわゆる暗号化アクセラレーターが搭載されています。AESやECC、SHA-2、Camelliaなど15種類の暗号化アルゴリズムをプロセッサーの各コアに組み込んで提供しています。CPUへのオーバーヘッドもほとんどなく、OSのフレームワークによってユーザーが意識しなくてもOpenSSLやPKCS#11 APIを利用したアプリケーションで自動的に暗号化を適用できます。Java Cryptography Extension、Oracle Databaseの暗号化機能である「Transparent Data Encryption」も、何も追加することなくネットワークからZFSストレージまでを暗号化機能により保護することが可能です。
また、「不正なメモリアクセスを検知する」などは、ソフトウエアでも実現可能ですが、大きなオーバーヘッドが発生します。「Security in Silicon」の「Silicon Secured Memory」機能では、ハードウエア側で不正なメモリアクセス検知を実装することでオーバーヘッドを抑え、不正アクセスを検知した場合はそれ以上の被害を受けないようにプログラム終了します。これにより、メモリ操作のバグを突いた悪意のある攻撃からの被害を最小限に食い止めることが可能になります。この機能はそういった実装のバグを開発段階で検知する予防機能にも応用することができますので、利用する全てのユーザーに「Silicon Secured Memory」によるセキュアな環境を提供できます。
宮原 オーバーヘッドといえば、「ストレージI/OやネットワークI/O、仮想ソフトウエアのオーバーヘッドなど、仮想化環境でパフォーマンスを十分に出せるか」もユーザーが気になるところだと思います。
佐藤 パフォーマンスは、ハードウエアとの依存関係が重要になってくると考えます。
SolarisとSPARCが提供する仮想化技術には物理デバイスをどのように扱うか複数の選択肢を提供しています。Solarisでは、「PCIe SR-IOV」という仮想化機能で、仮想マシン間でのPCIe(Peripheral Component Interconnect express)デバイスの効率的な共有を可能にすることもできます。また、PCI Expressのルートコンプレックスレベルで分割し仮想ゲストに物理デバイスを直接割り当てハードウエア本来の性能を得る構成も可能です。さらに、2005年発表されたUltra SPARC T1プロセッサー以降を搭載するサーバーは、ファームウエアにハイパーバイザーを組み込んでハードウエアを論理分割できる状態で出荷されており、仮想化ソフトウエアのオーバーヘッドの影響を抑え、新製品を発表するごとにパフォーマンス向上と機能拡張を実現しています。
内野 データベース高速化も多くの企業にとって課題となっており、オールフラッシュやインメモリDBが注目されています。この点では、SPARC/Solarisはどう応えているのでしょうか。
宮原 先日発表された「DAX(Database acceleration engines)」の発想は非常に面白いですね。「Software in Silicon」の一つである「SQL in Silicon」でデータベース処理に特化した命令を作るところがオラクルらしいなと感じました。
佐藤 ありがとうございます。SPARC/Solarisの特徴は、集約性と「インメモリのスループットをいかに早くするか」なので、多数の大量の並列アクセスで威力を発揮させることと、それに加えてDAXのようなオラクルならではの機能を付加できたと思います。
宮原 バッチ処理などで、Apache Sparkを使うことも考えられますか?
佐藤 まだ、社内での検証という段階ではありますが、「Apache SparkからDAXを使うことで、36秒かかっていた処理を6秒に短縮できた」という事例もあります。先日まで、われわれは、「DAXはOracle Database専用のアクセラレーター」として紹介してきましたが、データベース以外のインメモリでも活用できないか考えているところです。
宮原 IoTやビッグデータなどの時代の流れから、最近はノード分散型のHadoopでは処理が追いつかなくなり、ここ最近になってApache Sparkが注目されるようになっています。スケールアウトとスケールアップを同時に行えるようなハードウエアでの機能を生かしたApache Sparkでの高速処理が求められるようになってきていると思います。
DockerやNode.jsにも対応
内野 これまでの話を伺うと、企業がビジネスを行う上で今の時代が求める品質やスピードを両立するには、ソフトウエアだけではなく、それを支えるハードウエアをどうやって選ぶかが重要になるように思います。
宮原 ハードウエアについては、専用機と汎用機に完全に分かれてきていると思います。多くのクラウドサービスは、それほど性能が要求されないため、Software Definedで汎用的なハードウエアを使うことで、価格も安くすることができ、簡単に使うことができます。しかし、性能要求が少しでも上がると、Software Definedで汎用的なハードウエアでは厳しくなります。SPARC/Solarisは、業務系やエンタープライズ領域に特化していく方向に向かっていくのではないでしょうか。
内野 クラウドなど、ここ数年のコンシューマライゼーションの流れがある一方で、ミッションクリティカルな業務を支えるSPARC/Solarisなどの業務系/エンタープライズは、合理性や必然性を持って、別の進化をしてきたと思います。コンシューマライゼーションの本流にいる今の人たちにも、このような意識を持ってもらうためには、どのようなメッセージを伝えたいと思いますか。
宮原 コンシューマー向けサービスは要求される納期も短く、ベンチャーやスタートアップなどの若い企業がソフトウエアやハードウエアのコストを抑えて、要求されたものをすぐに満たせるようにオープンソースソフトウエアなどを使ってきました。そうなっていくのは仕方がないことですが、一方で、高信頼のシステムや継続性の高いシステムを作る流れや、しっかりとした信頼性を担保できる技術もあることを知ってほしいですね。
佐藤 SPARC/Solarisを求めているお客さまだけに出していたメッセージを、もっと広げていこうと考えています。若いエンジニアやコンシューマー向けサービスを提供する企業にも、FPGAを使ったアクセラレーションなど、サーバーにおけるハードウエアへの興味が高まっていますし、コンシューマー向けサービスで使われることが多くなってきているDockerやNode.js、それに関連するさまざまなコンポーネントなどをSolaris環境でも提供できるよう準備しています。
また、これまでの環境をスケールするためにステップアップできるような環境も、さらに整えていこうと考えていますので、エンタープライズにとらわれない環境を提供してゆきます。
SPARC M7の機能をより多くの開発者に体験していただくための開発環境を「Oracle Software In Silicon Developer Cloud」として無償提供していますので、SPARC/Solarisにも注目して試してみてほしいです。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年12月31日