クラウドおよびインテリジェント・ストレージはDevOpsにどう役立つのか?
クラウド・ストレージとインテリジェント・ストレージは、DevOpsチームが求める、信頼性が高く、高速で、柔軟なストレージを提供できる。
Storage Magazine 2019年9月号より
Robert Sheldon
企業は、アプリケーション・デリバリ処理のあらゆるフェーズにおいて、信頼できるストレージを求めている。この処理に関わる人々(開発者、テスター、運用責任者)は、自分たちのメインの業務を妨げる、管理工数やストレージ・プロビジョニングの遅延を最小化しつつ、生産性を維持するのに必要なパフォーマンスと容量を提供するストレージを求めている。
アプリケーション・デリバリ処理に重要な利益をもたらしうる2つの重要なストレージ技術が出てきた。クラウド・ストレージとインテリジェント・ストレージだ。両者の動き方は異なるが、どちらもアプリケーション・デリバリを高速化し、ストレージ管理の簡易化に貢献するため、DevOpsチーム・メンバーは質の高いアプリケーションの構築とデプロイメントに専念できる。
ストレージ・プロビジョニングとアプリ開発
アプリケーション・デリバリには、開発、テスト、デプロイメント、本番稼働、の4つのフェーズがある。従来のアプリケーション・デリバリにおいては、開発者、テスター、運用責任者に異なる役割が明確に与えられていた。DevOpsの興隆と自動化の増加と共に、役割の境界線はややぼやけてきた。これらのフェーズさえも、以前ほど明確ではなくなってきた。と言っても、各フェーズにおいて堅牢なストレージが必要であることは変わりない。
アプリケーション・デリバリ・チームは、アプリケーション・コード、ツール、試験環境、ビルドデータ、本番データ、画像やその他デリバリ処理をサポートするのに必要なデータのために、ストレージに依存している。さらに、チームがサンプル・データベースの複製などのために、複数のデータコピーを必要とすることもよくある。また、バージョンと変更の履歴を追跡し、複数の開発ブランチを保守するソース管理リポジトリが必要になることもある。これらの要素はストレージの必要容量を増やすだけでなく、アプリケーション・デリバリの各段階でストレージ・プロビジョニングの重要性を示すものだ。
開発されているアプリケーションの種類によってもストレージは影響を受ける。DevOpsがwebやデスクトップあるいはモバイル用のアプリを開発する時、テストと本番のためにそれぞれのアプリが様々な容量を必要とする。本番でアプリケーションがより大きなデータを扱う予定であれば、大きなデータ負荷がかかった時の正常な動作を保証するために、より大きなデータが開発とテストでも必要になる。例えば、ビッグデータ解析プロジェクトでは、本番においても期待通りの動作を保証するのに十分な大きさのデータセットがなければ、完全なテストはできない。AI技術を組み込んだアプリケーションでは、データのモデリングとトレーニングに適切なストレージ・プロビジョニングが要求される。
データのフォーマットは重要な役割を果たす。アプリケーションはデータをファイルかブロックか、あるいはオブジェクト・ストレージとして保存することを要求するかも知れない。アプリケーションが、SQL ServerやElasticsearchのような高機能のシステムを必要とすることも起こりうる。これらのシステムは、ストレージの運用に、より大きな影響を与えるものだ。さらに、アプリケーションの作業内容がストレージに影響を与える。例えば、高スループットのトランザクション処理は、データウェアハウスをアクセスするビジネス・インテリジェンスとは全く異なるI/Oパターンを示す。
開発の種類もストレージ要求に影響を与えることがある。例えば、アジャイルやDevOpsの開発方法はウォーターフォール型開発よりもはるかに非直線的だ。そのため、ストレージ要求やワークフローのパターンはかなり違ってくる。仮想化、コンテナ化、マイクロサービス、infrastructure as codeなどの技術を使うチームもあるだろう。これらの技術全てが、ストレージ・プロビジョニングがもっと柔軟になることを求めている。
現在のアプリケーション・デリバリの世界において企業は、ストレージ・システムを管理するのにかかる時間を最小にしながら、オペレーションを加速するストレージを求めている。ここで登場するのが、クラウド・ストレージとインテリジェント・ストレージである。
クラウド・ストレージ
従来のストレージへの取り組み方は、直線的で予測可能型のアプリケーション開発には有効だった。しかしこの状況の中でも、ストレージ・プロビジョニングは問題となることがあった。アプリケーション開発をサポートするためのストレージ・システム設置に、長い時は数週間かかることもあった。そして、開発途中の方針変更は長期の遅延、費用の無駄、プロジェクトの失敗を招く可能性があった。
今日(こんにち)開発への取り組み方は、これまでよりはるかに動的であるため、変更要求には迅速に対応しなければならない。これは、従来のストレージ・システムではなかなか難しい。さらなるアジリティ、容易な管理、システム統合、データ冗長性を提供するクラウド・ストレージは、アプリケーション・デリバリ・チームから自然に味方と思われるようになってきた。
クラウド・ストレージはオンデマンドによる伸縮自在の拡張性をサポートしているため、デリバリ・チームは変動する要求に即座に対応できる。容量とパフォーマンスのプロビジョニングが数週間ではなく数分でできるため、アプリケーション・デリバリ作業が雑事に邪魔されずに継続できる。クラウド・ストレージはまた、地理的に分散したチームとアプリケーションに、より柔軟に対応するグローバル・プラットフォームを提供して、協業ワークフローをサポートする。さらに、ストレージ・サービスには多くの場合QoS(Quality-of-Service)の仕組みが入っているため、ユーザーはワークロードにどのようにリソースを割り当てるかを管理しやすい。これにより、変化する状況への対応に必要なだけのストレージ・パフォーマンスが確保できる。
クラウド・ストレージ・サービスは、ストレージ・プラットフォームのサポートについて回るバックエンドの問題を引き受けてくれるので、チーム・メンバーは雑務から解放される。管理業務の大半は、ポイント&クリックのわずかな手間で実行できる作業だ。チームは、ストレージ・アレイの設定や最適化、監視についての心配をせずに、ストレージのプロビジョニングを数分で実行できる。これにより、管理者が解放されるだけでなく、開発者とテスターは、自分のリソースのプロビジョニングが可能になる。
クラウド・ストレージ・サービス
多くの人がクラウド・ストレージに着目しているのは、これがアプリケーションとストレージに対する要求事項をサポートするのに必要な容量、拡張性、柔軟性を提供しているからだ。クラウドの利用者は、一画面のWebインターフェースから簡単にストレージ・サービスの管理とプロビジョニングを実行できる。さらに、クラウドのサービスは通常、プログラムを使った運用管理のために標準規格ベースのAPIを提供している。また、クラウド・サービスは従量課金制になっているため、コストの管理と予測が容易である。企業向けには、ファイル、ブロック、オブジェクト・ストレージを提供するクラウド・サービスがある。ファイル・ストレージでは、データはノートPCのファイルとまったく同じように、階層型の形式でファイルとして保存される。ファイル・ストレージは、コンテンツ管理、ファイル共有、データベース・バックアップ、Webホスティングなどをサポートしている。
ブロック・ストレージでは、データは固有の識別子が割り振られた個々のブロックに保存される。ブロックは容量の固定されたロー・ストレージとして提供され、複数のOS上で、マウントされたドライブのボリュームとして見える。ブロック・ストレージは高速で、拡張性が高く、データベース・システムや仮想化製品などの基幹系アプリケーションに適している。
オブジェクト・ストレージでは、データはストレージ・プールと呼ばれるフラットなアドレス空間にロー・ブロックとして保存される。個々のオブジェクトは、拡張可能なメタデータのセットと、アドレス空間内でオブジェクトを一意に識別する識別子を持っている。データが、階層型レイヤーとネゴシエーションを行わなくてよいので、オブジェクト・ストレージは非常に拡張性が高く、高速で、解析業務に最適である。
ストレージ・プロバイダーは、サービスを効率的に提供するために、一般的に仮想化とマルチテナントのアーキテクチャーに依存している。これらの技術は、顧客の要求に応じて動的にストレージをプロビジョニングしつつ、下層の基盤ではリソースの使用の最適化を行っている。
バックエンド・システムに割かれる時間が減るため、アプリケーション・デリバリに使える時間が増える。マネージド・ストレージ・サービスは、従来型開発方法に従っている人たちにも利益をもたらす。運用責任者が、デプロイメントやアップデートのような、アプリケーション・デリバリ特有のタスクに集中でき、開発者とテスターは自分たちの仕事に必要なリソースを確保できるからだ。
クラウド・サービスが、アプリケーション・デリバリを加速させるもう一つの方法は、デリバリの効率向上に使われる自動化システムとの統合機能によるものだ。ほとんどのストレージ・プロバイダーが、自社のサービスを統合するために標準規格ベースのAPIを提供している。企業は、ストレージ関連の作業を自社の自動アプリケーション・デリバリ・システムに組み込む際に、これらのAPIを利用できる。例えば、ストレージ・プロビジョニング、スナップショット作成、ストレージ・パフォーマンス管理などの作業が、これらのAPIを使って自動化できるのだ。
より多くの作業が自動化されればされる程、アプリケーションはより速く、より効率的に開発、テスト、デプロイされる。デプロイメントおよびデプロイメント・ツールがストレージ・プラットフォームと簡単に統合できなければ、管理者は作業を手動で実行するか、バラバラの情報を集めて時間をかけて回避策を考えなければならない。どちらも、時間を無駄に使いアプリケーション・デリバリの遅延をまねくことになる。
クラウド・ストレージは、データのコピーを容易にし、可用性を確保する。ほとんどのクラウド・サービスにおいて、データのクローン作成、スナップショット作成、バックアップ生成、その他の方法でのデータセットのコピーを、迅速かつ簡単に行うことができる。自社のシステムなら数時間、あるいは数日かかるかも知れない処理だ。驚くまでもないことだが、これらのコピーが早く使えるようになればなる程、チーム・メンバーはその分だけ早くアプリケーション・デリバリに取り組むことができる。
クラウドがデータの冗長化のために十分な容量を備えていることによって、ディザスタ・リカバリの実装と、データがいつどこで必要になっても常に使える状態を可能にしている。クラウド・サービスは多くの場合、コピーデータ・マネジメントが得意であり、ストレージ・リソースの使用率は向上し、データはより効率的に供給される。
企業は、これらの作業の多くをオンプレミスで実行できるものの、処理は遅く退屈で、目前の重要な仕事のための時間を奪っていく。アプリケーション・デリバリ・チームは、アプリケーションの要求の変化に対応しつつ、必要な時にはいつでもデータへのアクセスが可能でなければならない。クラウド・ストレージは、これら全てを可能にする有用なソリューションである。
インテリジェント・ストレージ
クラウド・ストレージと同様、インテリジェント・ストレージによって、DevOpsチームは雑務から解放され、アプリケーション・デリバリに集中できる。インテリジェント・ストレージがユーザーにもたらすメリットには、アレイの上手な管理、問題発生の回避、発生した問題の解決、優れたパフォーマンスとコスト節減を提供するストレージ構成の最適化などがある。
インテリジェント・ストレージ(または、スマート・ストレージ)は、AIや機械学習を組み込んでおり、ストレージ基盤間あるいは他のシステムから集めた情報を分析する。この技術は、分析の実行に必要な細かいメトリクスを提供するために、ストレージ・システムに組み込まれた先進的な監視機能をベースとしている。この方法によって、AIによるパターンの発見、起こりうる問題の予測、その解決が可能になる。データが集まる程、AIアルゴリズムの精度は上がってくる。
インテリジェント・ストレージがどのように動くかが分かる良い例がHPE (Hewlett Packard Enterprise)から出ている。同社が提供しているInfoSightサービスは、3PAR StoreServなど同社の多くのストレージ・プラットフォームで使われている。InfoSightは予測解析を使って、世界中のHPEのストレージ・システムおよびサーバー・システムから集めたデータを、解析する。次にこのサービスは、この解析結果を問題の予測と回避、問題解決、パフォーマンス最適化、リソース利用率の最大化に利用する。InfoSightは、ストレージ管理にプリエンプティブ方式を採用しているため、素早い問題解決、アプリケーション・パフォーマンスとストレージ・プロビジョニングの信頼性の向上を実現している。
このようなサービスが、アプリケーション・デリバリ・チームにどれほどのメリットを与えるかは想像に難くない。インテリジェント・ストレージのお蔭で、チームが遭遇する問題の数は減り、それでも発生した問題については費やす時間が短くなる。その結果、アプリケーション・デリバリに集中できる時間が増えることになる。InfoSightがシステムを最適化する機能によって、アプリケーション・デリバリ作業は、データに関連するすべての処理のパフォーマンスが向上するため、これまでより円滑かつ効率が良くなる。
インテリジェント・ストレージ・システム
インテリジェント・ストレージは、ストレージ・システムの保守に伴う複雑さの軽減を手助けする自己管理機能を提供している。ベンダーは、インテリジェント・ストレージの提供には異なる方法をとっているものの、すべては機械学習や予測解析などのAI技術がベースになっている。関連するデータセットの解析や予測はこれらの技術によって実行され、次にこの結果が問題の回避や解析、システム構成の最適化に使われる。インテリジェント・ストレージ・システムは、解析の準備として関連するソースからデータを集める。このデータの多くは、ストレージ・システム(ストレージ製品)自身で発生したものだが、サーバーや仮想環境など、データセンター内の他のシステムからくるものもある。これによって、問題の根本原因がストレージ・システム以外にあったとしても、インテリジェント・ストレージはそれを突き止めることができる。
解析用データが揃うと、解析処理ごとの特定のニーズにしたがって、データはクレンジング(訳注:データ解析用にデータを整備し品質を高めること)、変換、整理される。一部のデータは、データ・モデルのトレーニングと予測アルゴリズムの精度を上げるために使われる。これによって、アルゴリズムは予測の精度を上げるために学習を繰り返すことができる。
インテリジェント・ストレージの実装方法は、ベンダーごとに様々だ。例えば、Hewlett Packard Enterpriseは、ストレージ・プラットフォームと連携して、インテリジェント・ストレージを供給するInfoSightという別立てのサービスを新たに作った。一方Dell EMCは、予め定義したサービスレベルに基づいて自律的に判断を下すAI機能を、直接ストレージ・アレイに組み込んでいる。
両者のインテリジェント・ストレージには、それぞれ長所、短所がある。人工知能を組み込んだ製品は、特定の問題に対しては早い対応ができるかもしれない。個々のストレージの外部で(訳注:サーバーや他シリーズのストレージ製品の情報を含んで)一元化された製品は、より新しい情報を仕入れており、より包括的である場合が多い。インテリジェント・ストレージを評価する時は、人工知能がどのように実装されているか、どちらの製品があなたの会社が求めているストレージ・サービスを提供しているかを確認した方がよい。
インテリジェント・ストレージの市場に参入したベンダーはHPEだけではない。例えば、NetAppのActive IQの人工知能エンジンは、AIと予測解析を使ってオールフラッシュアレイのNetApp AFF Aシリーズのようなシステムの保護と最適化を促進している。Active IQはNetAppのユーザーベースからデータを収集し、問題回避、問題解決の促進、構成の最適化を促進する実用的なインサイト(洞察)を生成して、アプリケーション・デリバリの時間節約と高速化に貢献している。
クラウド・ストレージ・サービスもインテリジェント・ストレージ・プロビジョニング機能の提供に乗り出してきた。例えばAmazon S3は現在、データアクセスのパターンが変わった時にストレージ・サービスをその変化に合わせる、Intelligent-Tieringを提供している。この新しいストレージ・クラスは、パフォーマンスと処理のオーバーヘッドを発生させることなく、二つのアクセス・ティア(頻繁なアクセスと稀有なアクセス)の間を自動的に行き来する。アプリケーション・デリバリ・チームは、パフォーマンスが必要なときはそれを確保でき、不要の時はストレージのコストを低減できる。
インテリジェント・ストレージは、データストレージを次のレベルへと引き上げることによって、アプリケーション・デリバリ作業の高速化を検討しているアプリケーション・デリバリ・チームにとって価値あるソリューションとなった。
現在のストレージ・プロビジョニング
アプリケーション開発の今日(こんにち)の取り組みは、開発作業と同程度に柔軟なストレージ・プロビジョニングを必要としている。ストレージ・システムは、アプリケーション・デリバリの高速化を促進すべきものであって、どんな形であってもアプリケーション・デリバリの邪魔をしてはならない。
クラウド・ストレージ・サービスは、アジリティ、簡易化された管理、標準規格ベースのインテグレーション、データの冗長性を提供している。さらに、インテリジェント・ストレージは、問題の回避と解決およびストレージ・システムの最適化を行いながら、管理を簡易化できる。
これらの要素すべてが、アプリケーション・デリバリ・チームを雑務から解放し、本来の仕事であるアプリケーションのデリバリに専念させてくれる。このような機能をもたないストレージは、アプリケーション・デリバリ作業全体を邪魔する可能性がある。
Robert Sheldonは、技術コンサルタント兼フリーの技術ライター。Emailアドレスは、contact@rhsheldon.com
Copyright 2000 - 2019, TechTarget. All Rights Reserved, *この翻訳記事の翻訳著作権は JDSF が所有しています。
このページに掲載されている記事・写真・図表などの無断転載を禁じます。