ソフトウェア定義ストレージ(SDS)は、ストレージソフトウェアと独自仕様のハードウェアを分離するために設計されたアーキテクチャです。データをローカルおよびグローバルに自動管理する一連のソフトウェア機能を提供し、データアクセスの画期的な高速化、容易な管理、さらにデータ量の増加に応じてテクノロジーインフラを迅速かつ低コストで拡張できる能力を実現します。こうした進歩は、あらゆる企業のストレージシステムで活用でき、ストレージの自動化と仮想化を可能にします。
しかし、SDSは抽象化のレイヤーを新たに追加するため、業界のベストプラクティスに従うことは、導入を簡素化し、ソフトウェア定義システムに本来備わる柔軟性と機能を活用する賢明な方法です。ここでは、専門家による代表的なヒントを15項目にまとめました。
アーキテクチャ設計に時間をかける
準備こそがSDSの成功の鍵です。組織は、導入に先立って詳細なアーキテクチャ設計を行うための時間を確保すべきです。こうした作業を社内で行えるリソースを持つ組織もあるでしょう。しかし、実務経験がほとんどないのにSDSについてすべて知っていると思い込むのは禁物です。必要であれば外部の支援を受け、初期アーキテクチャが正しいものになるようにしてください。
トレーニングを実施する
担当者は、ライフサイクル全体にわたってSDSを維持する方法についてトレーニングを受ける必要があります。ストレージのプロビジョニングにはIT担当者とストレージ担当者の双方が関わるため、両者を対象に含めるべきです。多くのベンダーがこうしたトレーニングを提供しているほか、独立したトレーニング機関もさまざまな講座を提供しています。
シミュレーションを実行する
潜在的な障害状態のシミュレーションを、管理された環境で実行するのは賢明な取り組みです。これにより、IT担当者はアプリケーションがこうした障害をどのように処理するかを理解でき、将来の壊滅的な事態を避けるために最適なアプリケーションアーキテクチャを選ぶ助けにもなります。
APIを活用する
SDSテクノロジーのメリットを最大限に引き出すには、アプリケーションが関連するアプリケーションプログラミングインターフェース(API)と緊密に連携し、オブジェクトストレージなど、APIが提供するすべての機能を利用できるようにする必要があります。これにより、直接統合に伴う膨大な作業を削減できます。
その代わりに、アプリケーションを直接変更することなくAPIの機能を活用できるよう、必要な抽象化を提供するフレームワークを利用したほうが、アプリケーションにとって好ましい場合があります。このようなSDSアプローチなら、各アプリケーションを特定の1つのサービスに固定せず、さまざまなサービスを利用できるため、柔軟性がさらに高まります。
使い慣れたものから始める
少なくとも当初は、ソフトウェア定義ストレージの導入にあたって、慣れ親しんだ領域にとどめましょう。例えば、従来型SANの運用経験があるデータベース担当者は、ブロックストレージベースのSDSアプリケーション導入プロジェクトに注力すべきです。すでにブロックストレージに関する一定の専門知識があり、ソフトウェア定義ストレージの導入時にプロセスを変更する必要がないためです。複数のサプライヤーのハードウェア上で稼働できる、スケールアウト型NASのSDSアプローチもあります。
過去の常識から脱却する
管理の柔軟性を活用しましょう。ソフトウェア定義ストレージでは、従来のストレージアレイシステムを管理するストレージコントローラーソフトウェアが、基盤となる物理ストレージから分離されるため、より高い柔軟性が実現します。したがって、環境を管理する担当者は、従来の管理手法にとらわれない考え方をすべきです。ソフトウェアベースのモデルによって導入と管理の柔軟性が大幅に高まり、好みのハードウェアプラットフォームや管理ツールを自由に選べるようになります。
災害復旧に備える
多くのSDSアプリケーションは、自然災害や人的ミスの影響を軽減するため、データ整合性と地理的レプリケーションに関する豊富な機能を提供しています。ただし、機能セットにかかわらず、システムを停止させたりデータ損失を招いたりする大小さまざまな事象から復旧するための計画を策定しておく必要があります。
アプリケーション要件を把握する
ストレージ管理者は、アプリケーションが不利な状況にどう反応するかを把握し、それに応じて計画を立てるべきです。例えば、SDS環境のアプリケーションが0.1秒、あるいは1秒間まったく応答を受け取れなかった場合、何が起きるでしょうか。SDSシステムの設計者は、レイテンシーと帯域幅の制約を重視して、アプリケーション要件を明確化すべきです。
基盤インフラを調査する
SDSは、十分な理解という強固な基盤の上に構築しなければなりません。既存のワークロード、アプリケーション、ユースケースを調査し、SDSを正しく導入できるようにしましょう。また、SDSの下層に潜む可能性のあるインフラ上の問題にも対処できるよう備えてください。古いプラットフォーム上にソフトウェア定義アプリケーションを導入すると、更新が必要な環境では問題が発生する可能性があります。
これは、ベンダーが自社の要件や好みに合わせて、皆さんのソフトウェアやアプリケーションを適合させようとする場合に、特に重要になります。ベンダーは皆さんの環境を把握していないため、ソフトウェアが何をすべきかを定義するのは皆さん自身であるべきです。自社のSDSアプローチと、プラットフォームやアプリケーションに関する好みに合うベンダーを選びましょう。
ベンダー選定を重視する
さまざまなストレージ利用シナリオに対応するパッケージやアプリケーションは、数多く存在します。重要なのは、自社の環境とニーズを把握したうえで、対象となる特定のアプリケーションワークロードに適合し、対応できるソリューションを選ぶことです。仮想化環境に導入する場合は、特定の仮想プラットフォームを中心にソフトウェア定義アプリケーションの導入を統一するのが最適でしょう。VMwareを利用している企業なら、VMware互換の仮想化SDSソリューションを選ぶべきです。同様に、Microsoftを利用している企業は、互換性のあるプラットフォームとソリューションを利用すべきです。
ハードウェアも重要だと覚えておく
ハードウェアにはソフトウェアが必要ですが、すべてのソフトウェアもハードウェア上で動作する必要があることを忘れないでください。SDSソリューションが特定の独自仕様ハードウェアを必要としなくなったとしても、必ずしもあらゆるハードウェア上で適切に動作するとは限りません。SDSソリューションが稼働できる、また稼働できないプラットフォームやシステムを注意深く確認してください。
サービス全体を検討する
SDSインフラは、さまざまな種類のアプリケーションに対応するサービスの選択肢をユーザーに提供すべきです。アプリケーションのワークロードの特性に応じて、どのサービスが最も適切かを理解することが重要です。これにより、サービスを選ぶ担当者は、何ができて何ができないのかを把握できます。ベンダーによっては、サービスの包括的な一覧と、互換性や統合に関するドキュメントを提供しています。そうしたデータが不足している場合は、IT部門が作成してユーザーに提供する必要があります。
キャパシティプランニングを行う
インフラのプロバイダーとテナントの双方が継続的にキャパシティプランニングを実施し、サービスとアプリケーションがサービスレベル合意を満たせるようにすべきです。サービスは、十分なCPU、メモリ、入出力(I/O)ネットワーク接続リソース、そしてもちろんストレージ容量で支える必要があります。SDSは、それを支えるリソースがあって初めて適切に機能します。優れたキャパシティプランニングにより、必要なときにそうしたリソースを常に利用できるようになります。
アプリケーションのパフォーマンスを監視する
ソフトウェアアプリケーションの導入は、パフォーマンス監視によって大きな恩恵を受けます。最善の方法は、ユーザーが問題に気づき、多数のヘルプデスクへの問い合わせを生む前に対処できるよう、ユーザーレベルでアプリケーションのパフォーマンスを監視することです。導入の不備を早期に検出するため、クラッシュレポートも実装すべきです。
販売後のサポートを惜しまない
販売後のサポートには細心の注意を払いましょう。問題が発生した場合、責任を負うのは皆さんでしょうか、それともベンダーでしょうか。これを考慮しないと、問題発生時に複数のベンダーへ連絡し、それぞれが責任を押し付け合うことになりかねません。一方、責任を持って対応してくれる1社のベンダーに連絡するだけで済む場合もあります。SDSでは、問題の原因となっているアプリケーション、ストレージ資産、プラットフォームが分かりにくくなるため、こうした状況はさらに複雑になる可能性があります。IT部門が問題を迅速に解決できる体制を整えてください。
結論:SDSのベストプラクティスが成功を後押しする
ソフトウェア定義ストレージには、柔軟性、拡張性、プロビジョニングの容易さなど、数多くのメリットがあります。しかし、おそらく最大の強みは、ストレージソフトウェアを基盤となるハードウェアから分離できることです。その機能を最大限に活用する最善の方法は、自社の環境を把握し、ここで紹介したベストプラクティスを実践することです。
SDSのニーズに対応する企業が最も多く採用しているプラットフォームを知るには、ソフトウェア定義ストレージのベストソリューション6選をお読みください