DevOpsには湯水のように使えるインフラが必要
企業ITは、2000年ごろを転機に統合/仮想化が進められ、本格的なクラウドの時代に入りつつある。2017年から5年ほどで、「セルフサービス」「Software Defined」「ハイブリッドクラウド」というキーワードが、大多数の企業に普及すると考えられている。
企業ITは、IaaSやPaaS、SaaSといった「IT as a Service」を柔軟に活用することが主流となり、従来の所有モデルから消費モデルへと変化していくことだろう。こうした時代に求められるのは、インフラとしてのIT、“湯水のように”利用できるITだ。
こうした時代の中で、サービスベンダーやデベロッパーに注目されているのが「DevOps」だ。調査会社RightScaleの報告によれば、2016年から2017年にかけてDevOpsを採用している企業は74%から78%へと増加しており、大企業での採用率は84%にも達しているという。
DevOpsでは、“消費型のIT”を最大限に活用することで、「サービス提供のリードタイムを短縮すること」と「ビジネス成果を上げること」という2つの大きな目的を実現できる。
プライベートクラウド基盤を構築してセルフサービス化を行い、場合によっては消費型のサービスを最大限に活用することで、インフラの準備にかかる負荷を軽減する。さらにソフトウェア開発サイクルを自動化することで、効率よくサービスを開発し、リードタイムを短縮することができる。
その結果、リリースのタイミングを早め、市場シェアの獲得を容易にするという効果も得られる。市場からのフィードバックを高速に反映できるのも、DevOpsの効果だ。結果的にリリースサイクルを高速化して、さらなるビジネス成果につなげることができるというわけだ。
コンテナの活用ではストレージに大きな課題
DevOpsの実現において、2017年に最も注目された技術として「Docker」コンテナとコンテナを管理するための「Kubernetes」が挙げられる。いずれも、2017年にユーザーが急増した。
コンテナ技術を本格的に本番運用するにあたっては、当然ながらいくつかの課題がある。CNCFが2017年6月に行った調査によれば、セキュリティやネットワーク、オーケストレーターを含むコンテナ管理などがあげられているが、最も多くの回答者が課題として認識しているのは「ストレージ」であったという。
KubernetesやOpenshiftなどによって、コンテナ管理の問題はおおむね解決できる。問題は、プログラムが終了したあともデータが失われないようなストレージを確保すること、つまり「データの永続化」をどのように実現すればよいかという点である。本番運用を検討するにあたって最大の課題と言えよう。
例えば一般的な仮想化環境では、ストレージ仮想化技術を活用し、サーバーの内蔵ディスクでストレージを構成するケースがある。しかし、たいていは可用性とデータ保護の点で十分な機能・性能が得られず、エンタープライズレベルの実サービスには耐えられない。
エンタープライズクラスの実サービスでコンテナを活用するにあたっては、高い可用性と堅牢なデータ保護の環境を実現する必要がある。
[RELATED_POSTS]
ネットアップが提供する消費型ストレージプラットフォーム
ネットアップは早い段階から、OpenshiftやKubernetes、JenkinsなどのDevOpsツールのプロバイダーやベンダーと協業体制を敷き、アプリケーションの開発とデプロイを効率化・迅速化するための技術的支援を行っている。
同社は2017年4月、DevOps管理ソリューションを発表した。このソリューションを活用することで、ソフトウェア開発ライフサイクルの高速化やアーティファクト管理、構成管理と自動化などを実現し、CI(継続的インテグレーション)/CD(継続的デリバリー)によるDevOpsの成熟化に貢献する。
具体的な効果としては、「消費型のストレージプラットフォームの実現」があげられる。上述したように、今後の開発環境では消費型のインフラが重要な要素となる。ネットアップのストレージを活用することで、KubernetesやOpenshiftの環境において、ストレージリソースをオンデマンドにプロビジョニングできるようになるということだ。
例えば、従来の管理者が事前に準備しておくストレージ(Kubernetes Static Volume Provisioning)の場合、余裕を持ったストレージを用意する必要があるため大きなムダが生じたり、急なリソース要求に対応できなかったりするケースがある。管理者は常にPV(Persistent Volume)を監視して、足りなくなったら追加するという作業を行う必要があり、運用負荷が大きくなってしまう。
ここで「NetApp Trident」を介することで、ダイナミックにプロビジョニングできるストレージ(Kubernetes Dynamic Volume Provisioning)が実現できる。管理者は、オンデマンドな要求に対し、簡単な操作で待ち時間なくPVを作成できるようになる。運用中はストレージクラスタが正常に稼働しているかどうかのみ確認すればよく、より高度な業務に従事するための時間を確保できるようになるというわけだ。
Tridentが活躍するケースとしては、例えばデータベースのサービス化(Database as a Service)があげられる。30秒でDBをプロビジョニングしたり、1分で10個のDBを立ち上げたり、1TBのDBを30秒でクローニングしたりと、新しい要求に応えられるDBを実現できるようになる。
マルチクラウド環境に求められるデータモビリティ
ネットアップが提供するもう1つの価値は、「データモビリティの実現」だ。コンテナによってアプリケーションのモビリティは向上できるが、アプリケーションはデータがなければ動かない。ネットアップのストレージ技術を活用することで、データのモビリティが向上し、真のハイブリッド/マルチクラウドが実現できるようになるということだ。
Kubernetes/Openshiftとネットアップソリューションを組み合わせることで、ソフトウェア開発に必要となる要素をすべて提供することができ、要求されたアプリケーションスタックを瞬時に準備できるようになる。消費型インフラによってセルフサービスを実現し、環境の準備を迅速化して、管理者の負荷も小さい。
コンピューティングはクラウドを活用しながら、オンプレミス環境に統合的なデータプラットフォームを構築することによって、市場に合わせて複数のサービスを切り替えられるマルチクラウド環境を活用しながら、堅牢なセキュリティとデータガバナンスを実現することができるというわけだ。
すでにネットアップの社内では、TridentとOpenshiftとの組み合わせによって「Platform as a Service」を実現し、開発のイテレーションサイクルを数日から数時間・数分へと短縮することに成功したという。欧州の大手銀行でも、アプリケーション近代化のためにDocker EEとNetApp Docker Volume Pluginを活用しはじめているとのことだ。
まとめ:DevOps環境に最適化ストレージ
DevOpsの最大の目的はアプリケーションのビジネス効果を高めることにあり、そのためにはデータ管理の課題を解決する必要がある。データにモビリティとシンプルな管理を提供するネットアップの技術は、そうしたDevOps環境の課題を解決するソリューションとなることだろう。
- カテゴリ:
- ハイブリッド