著者 : Ville Koskinen   2023年1月17日投稿のブログ記事 (元の英文記事へのリンク)

MASCOTをクラウド上で運用する

クラウドコンピューティングは現代のITパラダイムであり、ビジネスサービスやアプリケーションがサブスクリプションサービスとしてどんどんと提供され、ソフトウェアはサードパーティのクラウドプラットフォームによって運営されているどこかのデータセンターで動いています。Mascot Serverをクラウド上で動作させることは可能か、また可能な場合、それは適切なソリューションかどうかという質問をよく受けます。可能であるかの答えは「はい」であり、適切なソリューションかは「場合による」とお答えしています。

2種類のクラウド利用法

クラウドサービスは、Software as a Service(SaaS)とInfrastructure as a Service(IaaS)という2つのカテゴリーに大別できると言えます。 SaaSは、以前は単にWebベースのソフトウェアと呼ばれていました。定期的な利用料を支払い、ソフトウェアはサードパーティのサーバー上で動作し、Webブラウザを使ってその機能にアクセスし利用します。電子メールサービスがその典型例ですが、会計パッケージや文書処理などの一般的なオフィス・アプリケーションの多くも、現在ではこの方法で提供されています。

一方Infrastructure as a Serviceはこれとは異なるモデルです。クラウドプロバイダーは仮想マシン(VM)を提供し、ユーザーはリソース(CPU、メモリ、ディスク、ネットワーク)の使用量に応じて料金を支払います。VMには好きなものをインストールできますが、多くの場合、ソフトウェア・サービスを提供するためのバックエンドとして使用されます。実際SaaSはIaaSの上に実装されることが多いです。どちらのケースも、VMはクラウドプロバイダーが運営するデータセンターのどこかで稼働しています。

ここでいうSaaSは、ソフトウェアライセンスのサブスクリプションとは異なることに注意してください。一般的にソフトウェア製品のライセンスには、月額または年額でライセンス料を支払い、ソフトウェアを自分のPCにインストールするサブスクリプション方式があります。 SaaSには、ハードウェアとソフトウェアの運用・保守に加え、ソフトウェアライセンスのサブスクリプション料が含まれています。

MASCOTをサブスクリプション形式で運用できるか?

SaaSは様々なWEBベースのサービスにとって優れた提供モデルです。特に、ユーザーあたりのリソース使用が比較的低い場合やユーザー固有のカスタマイズの必要性がほとんどない場合、使用状況に応じた料金システムを提供可能で、多数の潜在ユーザーを持つ事ができます。 逆に、ユーザーあたり大量のCPU時間やRAM、数GBのファイルの移動を必要とするアプリケーションには、SaaSは適していません。高負荷により基本コストが高くなってしまうため、利用当たりの支払いであまり得にならないのです。ユーザーを追加すると、サブスクリプションで逆に通常のシステムよりコストが高くなってしまいます。

私たちが現在Mascot ServerやMascot DistillerをSaaSモデルで提供していないのは、プロテオミクスのデータ処理がSaaSの良い使用方法に当てはまらないからです。 典型的なMascotのワークフローを例に挙げて説明します。装置のrawデータからピーク抽出されMGFに変換されたファイルは、Mascot Serverに送られデータベース検索を実行します。そして結果は必要に応じてMascot Distillerなどのクライアントアプリケーションにダウンロードされ、定量解析やその他の後処理が実行されます。

各ステップにおいて想定しうるケースに大きなばらつきがありすぎるのが問題です。rawファイル、MGFファイルともにサイズが小さいものから数ギガバイトに及ぶものまであります。小さなファイルに限定するとサービスの有用性が低下しますが、大きなファイルを許容すると、ユーザーごとのネットワーク使用量とストレージが予測できなくなり、大きい方を想定した値段設定をするとコストが非常に高くなります。データベースは小さい場合も非常に大きい場合もありますし、検索空間の大きさを制御するために厳しい制限を加えない限り、検索パラメータから検索時間を予測する事も非常に困難です。当然それに伴い、定量計算にも変動が生じます。毎回必ず決まっているような基本的なワークフローでの解析しか行わない場合は別ですが、通常、行いたい解析に併せて、データベース、検索パラメータ、定量方法などを実験に合うようにカスタマイズする必要があります。 中途半端にSaaSによる対応をしても、意味がないのです。

MascotとIaaS(Infrastructure as a Service)

これに対して、IaaS,Infrastructure as a Service は、物理的なハードウェアの購入と保守に代わるものと言えます。ボタンをクリックするだけで、32CPUの仮想マシンを必要なときにクラウド上で準備できます。ハードウェアに対する先行投資が不要である事と、数分以内に利用可能になるのは明らかに大きな利点です。リソースの使用量に応じて支払い、使い終わったらその仮想マシンを削除するだけです。

Mascot ServerはIntelまたはAMDプロセッサを搭載した仮想マシンを提供する、あらゆるIaaSプラットフォーム上で動作します。Mascot Server in the cloudというヘルプページでソフトウェアアーキテクチャと準備の要件についてご案内しています。仮想CPU、RAM、ディスクの要件は一般のハードウェア仮想化の場合とほぼ同じです。ただしクラウド上ではCPUコアマッピングが(たいていのケースで)指定できません。またもう1つ重要な点として、Mascot Serverはハイスループットのデータベース検索サービスとして24時間365日稼働するよう基本的に設計されていて、データベース検索のたびにサーバーを停止したり起動したりすることを想定した設計にはなっていない事が挙げられます。

コストに問題がない場合、あるいは組織の方針ですべてをクラウドに移行する必要がある場合は、クラウドVMでMascot Serverを動作させることができるか、という問いには「できる」という回答になります。実際、パフォーマンスやセキュリティレベルは非常に高く、クラウドストレージによるデータのバックアップも簡単です。定量計算の実施が必要な場合、Mascot Server、Mascot Daemon、Mascot Distillerのすべてを同じクラウド上で動作させる事で、アプリケーション間のネットワークパフォーマンスも向上します。 DistillerとDaemonは通常のアプリケーションであり、VM上で問題なく動作させることが可能です。ただしどちらもGUIアプリケーションであるため、使用するためには基本的にクラウドVMへのリモートデスクトップ接続が必要となります。自分のデスクトップで実行するよりも若干利便性に欠け、セキュリティも低下する可能性があります。

IT予算を無制限に使えることは稀ですから、コスト面については気になるところではないかと思います。 まず、Mascotのライセンスは永久使用権がありますが、クラウド上でMascotを運用するために、通常のソフトウェア使用からさらに必要な追加料金はありません。また、物理ハードウェアから仮想ハードウェアへのライセンスの移行、またはその逆も無料です。新規にライセンスを購入する場合、社内上での運用でもクラウド上での運用でも価格は変わりません。

クラウドコンピューティングの運用コストはあなたの使用方法により大きく変動します。非常に大まかな目安として、1年を通して継続的にデータベース検索を行うのであれば、Mascot Serverをクラウド上で1年間運用するコストは、同じハードウェア仕様の物理サーバーを購入するのと同じ程度になります。 これは1-2CPUライセンス、並びに大規模クラスター、どちらのケースにも当てはまります。ご自身でハードウェア購入、監視、メンテナンス、交換、データセンターセキュリティなどを行う分をサードパーティに委託している事になりますので、その分コストがかかる、という事です。純粋にコストだけを考えれば、初年度からクラウド利用料を上回るような物理ハードウェアの社内コストが発生するのであれば、Mascotをクラウドに移行するのは合理的な選択と言えます。

Mascotを断続的にしか必要としない場合、クラウドVMを停止して起動することでコストを削減することができます。4CPU以上のライセンスであれば、Mascotを複数の検索ノードからなるクラスターモードで構成し、不要なときは計算ノードを切り、検索結果を見るためにマスターノードのみを稼働しておくこともできます。 Mascot Serverは現在のところ、使用状況や予測に基づく仮想リソースの自動割り当て(オートスケーリングとも呼ばれる)には対応していません。SaaSがMASCOTには適さないのと理由と同じく、「ランダム」なデータセットの処理にどれだけの時間がかかるかを予測することは非常に難しく、希望の平均検索時間や分・時間当たりの検索回数に到達するためにどれだけのCPUを追加すべきかを予測することも非常に難しいからです。また、検索を開始する前に配列データベースを伝搬させる必要があるため、計算ノードを追加する際起動してから利用可能となるまでに遅延が発生します。

導入を検討される場合、クラウドコンピューティングを利用することで月々の請求額がどの程度になるのか実際にお試しして頂くをお勧めします。マトリックスサイエンスでは、Amazon Web Services上でMascot ServerをプロビジョニングするためのAmazon Machine Image (AMI)も提供しています。


Keywords: , , ,