クラウドネイティブなストレージ システムが飛躍した2019年
マイクロサービスのコンテナ環境においては、データベースをどこに置くかという問題がたびたび議題に上がります。たとえば「ステートフルとステートレスの違い」の記事でも言及したように、ステートフル アプリケーション(すなわちデータベース)はKubernetes環境においてコンテナ化も、コンテナ アーキテクチャ内の永続ボリューム(Persistent Volume)に置くことも、コンテナ ストレージ インターフェース(CSI)を通じて、外部ストレージに置くことも可能です。
特にCSIは2019年にKubernetesでの使用が本格化して、この「データベースをどこに置くか」問題に光明をもたらした形になり、コンテナ環境に特化したデータサービスにストレージ ベンダーが次々と名乗りをあげました。2020年も引き続き、Kubernetes対応のクラウドネイティブなストレージ システムが躍進する年になるでしょう。
この流れからデータベースのバックアップや災害復旧(DR)などのデータ保護ソリューションを考えると、ごく自然にストレージ システムの機能に依存したくなります。ストレージ システムでバックアップのスケジュールやリテンション期間などのポリシー設定ができ、DRソリューションとしても十分な機能性が備わっていれば、当然それを利用したほうが合理的です。
理由1: 特定ストレージに依存するリスク
しかし、長い目で見た場合、1つのストレージ ソリューションに依存すると、将来的な拡張性に制約が生まれる危険性があります。特にクラウドネイティブ環境においては、複数のアプリケーションを個々に隔離してインフラストラクチャの制約から解き放ち、拡張性を確保するのがマイクロサービス本来の特長です。それが結局、特定ストレージ ベンダーに縛られてしまっては本末転倒になってしまいます。
理由2: アプリケーション単位のビジネス要件
さらに、この個々に隔離されたアプリケーションには個々に特有のビジネス要件がともないます。先に挙げたバックアップのスケジュールやリテンション期間のポリシー設定は、アプリケーションとデータベースの組み合わせごとに異なる場合も考えられます。ストレージに置かれたデータベースだけをバックアップすれば十分という見方もありますが、たとえ現在はそれで十分でも、将来的にはデータが複数ストレージにまたがったり、同一アプリケーションから複数データベースを参照したり、そのデータベースの配置が多様化する(永続ボリュームや異なるストレージ システムの使用などの)可能性もあります。クラウドネイティブ環境ではインフラストラクチャの抽象化によるソフトウェア定義のストレージやデータ管理システムなど、さまざまなオプションが増え続けています。この流動的なIT環境に対して、現段階で将来的なオプションを制限してしまうのは得策ではありません。将来利用できるかもしれないオプションが利用できなくなるもったいなさもそうですが、それ以上に、新しい技術やそれがもたらす効率化を利用できなくなることの損失のほうが大きいです。
理由3: 問題の隔離
また、ストレージをまるごとバックアップする場合、不要な部分も含めてしまう非効率さも気になります。そして、もっと深刻なのが、人為的なミスや外部からの攻撃で何らかのエラーが生じた場合に、それがバックアップに影響してしまうリスクです。特に注意すべきなのは、ストレージ システムのデータ保護ソリューションが「レプリケーション」と「バックアップ」の異なるコンセプトを混同しているケースです。高可用性を確保するために常時レプリケーションが行われる環境で、前述の危険因子もすべて修正する間もないままレプリケーションされる可能性があります。バックアップとは本来、履歴を遡って直近のクリーンなデータをリストアしなければならないのに、それが現時点の問題をそのまま含んだ同一データをリストアするのでは意味がありません。
アプリケーション視点のデータ管理
以上の理由から、特にクラウドネイティブなコンテナ環境では、アプリケーションの視点から、その根底にあるデータベースも含めて全体を抽象化して管理するデータ保護ソリューションがより有効だと考えられます。2020年はKubernetesの普及が進み、さらにCSIの導入でクラウドネイティブ仕様のストレージ オプションもますます増えていくことが予想されます。だからこそ、ストレージの視点からデータを管理するのではなく、アプリケーションの視点からデータを管理して、特定ストレージに縛られない柔軟性と拡張性を将来的に確保しておくことが重要です。
関連トピックス:
- VM上のアプリケーションのパフォーマンスを確認【仮想化プラットホーム VMware vSphere】
- 仮想化におけるデータ保護レポート:2013
- VMware vStorage APIとは?【仮想化プラットホーム VMware vSphere】
- Q:VMware vSphere Replication 1.0の機能制限は?
- バックアップとレプリケーションの両方を活用してHyper-Vの仮想マシンをより良く保護する方法
- 2013年SMB(中小中堅企業)における仮想化データ保護報告書
- 仮想化におけるストレージ・スナップショットの制限
- VMware AppSpeed、Capacity IQの概要紹介