アイエニウェア・ソリューションズでは、パッケージに組み込めるRDB製品「SQL Anywhere」をソフトウェアベンダーに提供している。近年は顧客からのリクエストにより、多くのパッケージベンダーが業務用アプリケーションのクラウド移行を検討している。本セッションでは、ソフトウェアパッケージベンダー向けのクラウドソリューションとして新たにリリースされる「SQL Anywhere OnDemand Edition」の魅力的な機能が紹介された。
オンプレミスのデータとソフトウェアをクラウドでそのまま展開
SQL Anywhere OnDemand Editionのメインターゲットは、独立系のソフトウェアベンダーや、パッケージソフトウェアを展開しているベンダーだ。これまでパッケージで提供していた自社開発したアプリケーションを、エンドユーザーのニーズや時流に合わせてクラウドに展開したいという要求に応えるものとして開発されている。
特に昨年の大震災後、「津波で流されてしまってデータも何もなくなり一から登録しなくてはならない。そういうときクラウドにデータがあれば業務に早く復帰できるのではないか。そういう期待も含めてクラウド化できないかという相談を受けるパターンが増えている」と磯辺氏は語る。
これまでのパッケージ製品であれば、サーバごと客先にあるため管理も楽で、データも客先から出ることはないのでセキュリティ面でも安心と、ある意味で「手離れがよい」ところがあった。ところが、クラウドでは何百もの顧客のデータのセキュリティを一元的に管理する課題や、ホスティングの責任に直面することになる。
そこで、今までオンプレミスで利用してきたデータベースを、なるべく手間をかけず互換性を保ちながらクラウド展開でき、しかも顧客を個別に管理することが必要とされる。磯辺氏は、まずSQL Anywhere OnDemand Editionの利点として次の4点を説明した。
- 複数のテナントをセキュアに管理
- 柔軟性
- スケーラビリティ
- リレーショナルパワーの活用
クラウド上で複数のテナントを管理するには、2つの考え方があるという。一つが、すべてのテナント情報を同一の大きなDBにすべて入れて管理する方式。このときテーブルのスキーマ上に顧客コードを持たせて情報を分離することになるが、顧客コードを扱うプログラミングのミスがあると、顧客情報の流出につながる危惧がある。
もう一つはテナントごとに別々のデータベースで管理することで、データの分離が図れるため、流出の心配もない。しかし、クラウド展開で顧客が数百数千となったときに、個別の何百何千というDBをどうやって管理するのかを考えると難しくなる。
SQL Anywhere OnDemand Editionではこれを解決するため、両者の良いところを取り、内部的には別々のデータベースで管理しているが、外部からは1つの大きなデータベースに見えるような、透過的な管理の仕組みを提供している。
その透過的なクラウド構成によって、どこか一箇所でなくさまざまな場所にあるデータベースをまとめて1つとして見ることができる。パブリッククラウド(Amazon EC2など)でも、自社でデータセンターでも、外部のハウジングサービスでも構わない。環境の拡張・縮小が柔軟にできる。
これによって、顧客が増えた場合にクラウドの環境を増やし、データベースの数を増やすことで簡単にスケールする仕組みも実現している。
そして何より大きいのは、従来のSQL Anywhereと互換性を保っていることだ。オンプレミスのデータベースファイルを、そのままクラウド環境に追加することができ、逆にクラウドのDBをオンプレミスに戻すことも可能だ。リレーショナルデータモデルも同じように利用でき、クエリもSQL92に準拠した普通のSQLが実行できる。