株式会社アクアシステムズは1998年に設立し、Oracle Databaseの性能監視、チューニング支援ツール「Performance Analyzer」「AUDIT MASTER」の提供でビジネスを開始した。同社は創業以来データベース領域で圧倒的な強みを持ち、データ基盤となるデータベースインフラの領域、データのモデリングや移行、データパイプライン設計など、データエンジニアリング領域のコンサルティングを得意とする。現在ではクラウドを含む主要なプラットフォーム、データベース全てを取り扱っていることも大きな特長となっている。

「AWSやAzure、Oracle Cloud Infrastructure(OCI)など、プラットフォームを問わず多数の構築経験があります」とアクアシステムズ 執行役員 技術部長の川上明久氏は語る。AWSとは日本でパートナー制度を開始した2012年からテクノロジーパートナーとして協業関係を築いており、Azureについても同様のパートナーシップを結んでいる。また、アクアシステムズはもともとデータベースに強みがあったことから、OCIの案件実績も多い。そんな同社に「データベースのクラウド化」のポイントについて、話を伺った。

データベースのクラウド化では性能などの非機能要件を満たすのが難しい

株式会社アクアシステムズ 執行役員
技術部長 川上明久氏

今やクラウドの利用は当たり前といえるが、ミッションクリティカル、あるいはビジネスクリティカルなシステムのクラウド化はそれほど進んでいない。特に高い可用性と処理性能、高度なセキュリティが求められるデータベースは、クラウド化が難しい面があるという。「クラウドサービスは日々進化しており、各社の機能ギャップはなくなってきました。ですが、非機能的なギャップ、特に性能問題は実際にクラウドで動かしてみないと分からないこともあります」と川上氏は語る。

アクアシステムズでは移行アセスメントサービスの提供で、性能などクラウド化に伴うギャップを事前に洗い出し、リスクを踏まえた安心な移行計画を提案する。クラウドでは、オンプレミスで利用してきたシステムと同様の性能や可用性を確保できないケースがあるのだ。

「過去に、オンプレミスの商用データベースからクラウドのOSSデータベースに入れ替えるために移行作業を行い、結合試験まで至ったところで性能が出ず、クラウド化をキャンセルした例もありました」(川上 氏)

アクアシステムズのアセスメントでは、既存のデータベースの利用状況から性能リスクをスコアにし、実際にクラウド上で動かさずとも移行の可否を判断できるようにしている。性能が出ないと予測され、Oracle DatabaseからOSSデータベースへの移行をしないと判断することはよくあり、特にオンプレミスでOracle Exadataを使っている場合は、クラウド化で性能ギャップが出やすい。

Oracle Real Application Clusters(RAC)の冗長構成で動かしているミッションクリティカルシステムでもギャップが出る。一般のクラウドインフラではRACのような"Active-Active"構成がとれず、障害発生時に瞬時に切り替わるフェイルオーバーが実現できない。高いサービスレベルが必要なければRACとは別の冗長化も可能だ。しかし証券会社のシステムや大規模ECサイトなど、極めて高いミッションクリティカル性で止められないRACシステムは、オンプレミスに残すことも多い。

他にもデータ連携がクラウド化のネックとなることがある。データベースリンク機能で複数のOracle Databaseが密につながっている場合、移行先がOSSのデータベースだとデータベースリンクではつなげられない。そのため、一部のデータベースしかクラウド化できず、密だったデータ連携もETLツールなどを用いた疎の連携に変えることになってしまうのだ。

  • オンプレミス・システムのクラウド化では、性能・可用性・セキュリティといった非機能要件を満たせない事も多く、結合テストの段階でプロジェクト凍結となることもある

ミッションクリティカルシステムの移行ではOCIにアドバンテージ

アクアシステムズでは、どのクラウドサービス、データベースを選ぶかはアセスメントの結果から客観的・中立的に判断してくれる。アセスメントではリスクを明らかにし、最適な移行先を1カ月ほどで提案。アセスメント後は、明らかになったリスクをPoCなどで検証する。これには2、3カ月の時間をかけ、その間にアプリケーションの一部を移行し単位当たりの移行コストと期間を算出して、移行計画の全体像を明らかにするという。

既存データベースがMicrosoft SQL Serverであれば、SQL Server系の高機能・高性能なサービスが揃ったAzureを移行先に提案することが多い。一方、AzureにはOracle Databaseのサービスがないため、Oracle Databaseからの移行ではギャップが出やすい。また、AWSはサービスのバリエーションが多く、汎用的な使い方ができる。Oracle Databaseのサービスも備えているが、RACが使えないといった制限もあり、Oracle Databaseの移行先としてはこちらもギャップが出やすい。

OCIは、Oracle Databaseのサービスバリエーションが豊富で、RACやOracle Exadata、データセキュリティ機能など「オンプレミスで実現しているOracle Databaseの全てを受け止められます」と川上氏は言う。そのうえで「超ミッションクリティカルなシステムのクラウド移行では、OCIに大きなアドバンテージがあります」と太鼓判を押す。また、オンプレミスを熟知した管理者でも、クラウド独特のデータベース運用管理の知見までは備えていないことが多く、管理者には監視方法やチューニングポイントなどクラウドの特性に応じたスキルが新たに求められる。移行先がOCIであれば、オンプレミスで培ったOracle Database運用管理のノウハウをそのまま生かすことができるのだ。

OCIの特長を活かしたモデルケースを紹介しよう。RACを用いたオンプレミスのシステムで、金融関係のビジネスを展開していた企業が、コスト削減を目的にAWSへの移行を検討していた。そこでアクアシステムズがアセスメントを実施したところ、Amazon Auroraでは可用性のギャップが大きくなるとの結果が出たという。フェイルオーバーのダウンタイムがAmazon Auroraでは長過ぎてしまい、ビジネスにも影響が出てしまうのだ。OCIならばRAC環境を継続でき、顧客へのサービスレベルを維持しつつクラウド化によるコスト削減も可能と分かったため、最終的にOCIへの移行に切り替えられた。

それぞれのクラウドサービスの特長を見極め適材適所で活用

それでは新規システムのためには、どのような観点でクラウドサービスを選べばよいのだろうか。サーバーレスなど多様なPaaSを提供するAWSは、迅速なアプリケーション開発が可能なイメージがある。一方で、データ活用の視点では「OCIに大きな優位性があります」と川上氏は言う。

一般的なクラウドでは、オブジェクトストレージにデータを蓄積、それをハブとして目的ごとに用意されたデータベース系サービスにデータを移行し、アプリケーションから利用する。この形ではデータタイプごとにあるサービスのインターフェイスやデータモデルが別々な分散型アーキテクチャとなり、データ連携に手間がかかるうえ、エンジニアリングの難易度やコストは高くなりがちだ。サービスごとに構築する連携の仕組みのメンテナンスにも手間がかかる。

OCIであればリレーショナルデータベース、HDFS、オブジェクトストレージと、データを蓄積するサービスは異なるが、各リポジトリのデータをジョインして1回のSQLでサービスを跨いだデータ取得ができる。データの相互変換などは必要なくデータが分散化しないので、データガバナンスの確保も容易でデータセキュリティが保ちやすい。

通常AWSなどでデータ連携の仕組みを構築するとなれば、データを理解して表形式に変換し、検証なども含めれば1カ月程度の時間が必要になるだろう。それをさらにジョブ化し運用できるようにするには、3カ月くらいかかるかもしれない。Oracle Databaseの外部連携表などによってOCIで対処できれば、結果の確認などだけで済むため「1週間から数週間でデータ活用ができるようになるでしょう」と川上氏は語る。

アクアシステムズが手がけた防災科学技術研究所の事例では、OCIでデータ活用基盤を構築したことで、サービス間のデータ移行やフォーマット変換が必要ないうえに、それぞれのサービスで並行処理が可能となり、俊敏性のあるデータ活用が実現しているという。たとえば1分間に1ギガバイト得られる雨量データの扱いにおいて、受信からフォーマット変換、データベースへの格納までの処理を1分以内に行うという要件があった。OCIでOracle Database Cloud Serviceを核とした構成にしたことで、この大量データ処理の要件を十分に満たすことができたのだ。

  • 防災科学技術研究所でのデータレイクアーキテクチャ

「データを入れてから複雑な変換などが必要だと、PoCや研究のスピードを落とすことになります。イノベーティブなことをしたい防災科学技術研究所のような組織では、データを入れたらすぐに活用したいはずです。OCIはそのニーズにフィットしています」(川上 氏)

さらに多様なデータを統合的に扱える「コンバージドデータベース」のOracle Databaseでは、JSONやXML、空間情報などさまざまなデータを1つのデータベースに格納できる。Oracle Databaseに入れられない半構造化、非構造化のデータはオブジェクトストレージに置き、外部表として見せられるので、ユーザーからは裏側の連携を気にせずシンプルに見える。こういったことも、さまざまなタイプのデータを利用したい新しいアプリケーション開発においては優位に働く。「変化するニーズに対し、長く使えるデータ活用基盤としてもOCIは優れています」と川上氏は言う。

データベースのクラウド移行では、それぞれのサービスの特長をより見極めることが重要だと川上氏はあらためて指摘する。アクアシステムズは専門家としてクラウド、データベースの知見をより広く発信し、「最適なクラウドを選択するサポートをしていきたい」と意欲を語る。現状ではそのための情報が十分に伝わっていない面があり、書籍の執筆などを通して情報発信しているという。そうしたさまざまな活動を活性化させつつ、今後もアクアシステムズは顧客のDX推進を力強く支援していくことだろう。

Oracle Cloud Infrastructure
Oracle Cloud Infrastructure (OCI)は、スケーラブルで安全、高可用性、高性能を備えた環境で幅広いアプリケーションの構築を実現します。​

[PR]提供:日本オラクル