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

公開マスコットサービスの運用方法

1998年11月にサービスを開始した弊社ウェブサイト上で公開されているMascotサービスは、先日25回目の誕生日を迎えました。公開サービスは購入前に製品を評価していただくことが目的ですが、小規模なデータセットやプロテオミクスのトレーニングコースにも役立ちます。私たちは小さな会社で、主な活動はソフトウェア開発です。公開サービスを運営する秘訣は、継続的なコストを最小限に抑え、システム管理の量を減らし、不必要な開発コストを避けることです。

2024年1月、私たちはサーバーのハードウェアとオペレーティング・システムをアップグレードしました。ハードウェアは、それ以前の1998年から2023年の間にも勿論何度かアップグレードされています。直近では、IBM BladeCenterハードウェアを使用した最大12台のブレードサーバー(訳者註:「ブレード」とも呼ばれる薄いサーバーを複数差し込んで高密度に運用できる形式の筐体を持つサーバー)から成る検索ノードを持つMascotクラスターを、英国ロンドンからほど近いデータセンターに設置場所を借りて稼働させました。データセンターは、IT企業や通信企業の統合に伴い、7つの異なる所有者を経てきましたが、建物は25年間同じままでした。

IBMのハードウェアは驚くほど堅牢でした。中に差し込むブレード、RAM、ディスクは何度かアップグレードしましたが、筐体とシステムモジュールはずっと同じままでした。また、2018年には、全体管理を行うマスターコンピューターをより強力なDellサーバーに交換しました。IBMのブレードが摩耗したため、1台を交換し、最終的にクラスタを12台から10台(アクティブブレードは6台)にする必要がありました。計算キャパシティー削減が可能になったのは、Mascot検索をより効率的にしたことと、Covid-19パンデミックの開始時にNCBIprotをログイン時のみ使用可能になるよう変更したためです。

2020年以前は、taxonomyフィルターなしでNCBIprotに対してPMF検索を実行するために、多くの計算時間が浪費されていました。NCBIprotへの計算は、データベースの大きさ(数億のタンパク質配列)の影響を受け統計的に有意な、同定基準を超えるマッチは得られませんが、一般に公開されているサービスを運営する教訓のひとつは、「よくわからず検索を実行する人によって、非常に時間がかかる検索が偶然実行されてしまう事がある」ということです。また、アルファベット順の最初のデータベースという発想でデータベースを選択する人も多く、contaminants(247配列)が選ばれる事もよくあります。

古いハードウェアは耐用年数をはるかに超えていたため、しばしばトラブルが発生し、データセンターに出向かなければならない事が増えました。この問題を解決するために、ハードウェアの交換が必要となりました。選択肢は2つありました。自社ハードウェアによるレンタルスペースへのサーバー設置を続け大きな投資を行うか、それとも代わりに数あるクラウド・プロバイダーの中からクラウドサービスを選ぶかです。クラウドコンピューティングとレンタル・サーバーのコストはここ10年で下がり、一方、自分たちで構築したサーバーを置く「場所」を借りるコストは上がっているため、クラウドコンピューティングの方が明らかに良い選択です。私たちは、英国に拠点を置く小規模なプロバイダーから新しいハードウェアをレンタルすることにしました。彼らは、AWSのような大手プロバイダーよりもはるかに毎月の固定費が低価格になるためです。

この新しいサーバーは、インテルXeon Gold 24コア・プロセッサー、256GB RAM、RAID1 NVMeディスクを搭載した、1台まるごと弊社のみでレンタルしているサーバーです。プロセッサーの性能向上は2010年代に一度落ち着いたものの、ここ数年で再び高速化が進んでいます。ゴールドの24コア・プロセッサーは、10年前の80コア超のBladeCenterと同等の性能です。この新しいサーバーは、消費電力と占有スペースが少ないだけでなく、再生可能エネルギーで駆動する最近建設されたデータセンターで稼働するため、あらゆる面でメリットがあります。

ハードウェアという要素はコスト削減という面で半分の要素にしか過ぎません。小規模な企業でも無料で公開サービスを運営することが可能なのは、積極的なメンテナンスがあまり必要なく、人的な時間とコストを節約できるからです。これは、Mascot Serverのいくつかの特長のおかげでもあります:

  • 遠隔地からの利用を想定した設計 - 検索の送信、結果の表示、ほとんどの管理作業はウェブブラウザを通して行います。
  • 完全自動化 - 一度システムを構築すれば、手動での管理はほとんど必要ありません。
  • 汎用ハードウェア上で動作 - 標準的なIntel/AMDサーバーであれば、どのようなサーバーでも動作します。高価なGPUや変わったハードウェアは必要ありません。
  • システム依存が少ない - WindowsやLinuxのバージョンを問いません。公開サーバーのMascotは安定しトラブルも少ないDebian Linux上で動作しています。
  • 耐障害性- 公共サービスでは、あらゆる種類の異常な入力が送信されます。Mascotは無効な入力、欠陥のある入力、不完全な入力にも対応しています。
  • Mascot Security - すべての人が公平に検索できるように、同時に検索する「ゲスト」のサイズと数に自動的に制限をかけています。

旧システムから新システムへのMascot Serverの移行は、'mascot'ディレクトリをコピーし、設定ファイルのファイルパスを調整するだけでした。公開サーバーでは会社のウェブサイトなども運用しており、Mascot Serverそのものよりもそれらのテストや検証に時間がかかったくらいです。

私たちは運用に際し、Checkmkのような様々な監視ツールを使用してシステムのリソースが不足した場合やハードウェア障害が発生した場合にアラートを出すようにしています。また、Mascot Serverは、検索が致命的なエラーで終了した場合やその他のエラーが発生した場合、管理者にメールを送信する事ができます。つまり誰もシステムの動作を保証するためにお守りをする必要がないのです。

最後に、公開サービスでは開発コストを削減するため、未修正の製品版Mascot Serverを実行しています。特に新バージョンを準備しリリースする際には、その前に必ず公開サイトにインストールします。つまりすべてのメジャーバージョンは、平均して数年間、24時間365日の実環境でテストされることになります。公開ウェブサイトで発見され修正されたバグは、常に製品版のパッチ・リリースに反映され、すべての人に恩恵をもたらしています。


Keywords: , ,