[技術解説]
OpenStackの最新版「Liberty」の姿、エンタープライズ用途の機能強化が進む
2016年3月16日(水)広野 洋介、古川 雅弘、後藤 僚哉
OpenStackの12番目のメジャーリリースとなる「Liberty」が2015年10月にリリースされました。これまでOpenStackは、研究機関やパブリックサービス事業者を中心に使われてきたクラウドソフトウェアでした。Libertyの機能強化の背景には、流通・金融・製造といったエンタープライズ領域での使用実績が高まってきていることがあります。
「OpenStack」はIaaS(Infrastructure as a Service)を実現するためのOSS(Open Source Software)です。Apache License 2.0により公開されています。
最初のプロジェクトは、2010年に、NASA(National Aeronautics and Space Administration:アメリカ航空宇宙局)が開発した「Nova」と、クラウド/ホスティングサービス事業者の米Rackspaceが開発した「Swift」をオープンソース化したものです。前者は大量のコンピューティングリソースを管理するための、後者はストレージを効率よく管理するためのソフトウェアです。
OpenStackは、Linuxディストリビューションの1つである「Canonical Ubuntu」同様、期間をベースにしたアップデート方式を採用し、半年に1度、新しいメジャーバージョンがリリースされます。最近では、イメージ管理やネットワーク管理などの機能が追加され続けています。そして、12番目のメジャーリリースとなる最新の「Liberty」が、2015年10月にリリースされました(表1)。
拡大画像表示
最新バージョンにおける機能拡張のポイント
最新版のLibertyでは幾つかの機能拡張がなされました。OpenStackは複数のサービスが疎結合しながらシステムを形成しています。以下では、機能面にフォーカスして、主だった特徴を紹介しましょう(参考資料)。
特徴1:管理機能の強化
RBAC(Roll Base Access Control:ロールベースアクセス制御、ロールベースセキュリティとも呼ぶ)を採用しました。RBACは、ユーザーのシステムアクセスを、その人に認められた範囲に制限するコンピュータセキュリティの手法です。OpenStackの主にオーケストレーション(自動配置)サービスやネットワークサービス向けに実装されています。
これまでOpenStackでは、rootやadminといった全権を持った管理者がシステムを管理していました。RBACでは、権限を限定的に付与することでセキュリティの強化を図れることになります。
特徴2:コンテナ技術への対応
新たに「Magnum」というサービスを追加し、コンテナ技術に対応しました。コンテナをオーケストレーションする機能を提供し、コンテナ管理のOSSである「Kubernetes」や「Mesos」「Docker Swarm」をサポートしています。現時点ではベータ版の位置づけになります。
コンテナ技術に対応したことで、OpenStackはクラウドにおける3つの主要技術である仮想マシン、コンテナ、ベアメタルを利用できるようになりました。オーケストレーションサービスを実施するための機能拡張として、仮想サーバー管理サービスNovaのスケジュール機能の拡張や、ネットワークサービス「Neutron」のQOS(Quality of Service)機能の追加、オーケストレーションサービス「Heat」のRBAC対応、ロードバランスサービスのLBaaS(Lord Balance as a Service)機能への対応などが図られています。
コンテナ技術の進化と普及は昨今目覚しいものがあります。今後は、ネットワーク仮想化として注目されているNFV(Network Functions Virtualization)を実現するためのコンテナサービスとなるOpenStackの新しいプロジェクト「Kuryr」にも対応していく予定です。
特徴3:スケーラビリティをよりシンプルに
OpenStackでは数百台以上のホストを運用している環境が考慮されています。そのため、複数サイトに分散しているホストを任意のサイトで稼働するように設定する「Cell」という機能を持っています。現在、このCell機能を単純化し作り直す作業が進められていますが、Libertyには今後の進化の布石として、その基礎部分が「Cell V2」として実装されました。
これまでCell機能を使用するには、仮想マシンのホスト関連の機能が一部制限されたり管理が複雑になったりすることから、多くの経験と知識が求められました。結果、大規模な環境であっても、Cell機能を利用するユーザーは少数で、多くがリージョン単位で環境を構築しているのが実状でした。今後は、よりシンプルにサイトを構築できるようになります。本格的な利用はOpenStack次期バージョンである「Mitaka」以降からになる見込みです。
最新機能のリリース方針を変更
上記の通り、Libertyではエンタープライズ向けのインフラとして不足していた機能が強化され、より“堅実な”構成が実現できるようになってきています。これは、OpenStackの全体的な方向性として間違いありません。
一方で、新規コンポーネントには、より上位のサービスとなるPaaS(Platform as a Service)の機能が追加されてきています。アプリケーションの開発・実行環境としての各種インフラサービスを提供できる、より“先進的”な構成が実現できるようになりつつあります。
こうした堅実性と先進性の両立を図るために、プロジェクトにおける運用方針が変更になりました。今回から「big tent」と呼ばれる新しい方針の下でリリースされるようになったのです。OpenStack環境で中心となるプロジェクトを「Core Services」、それ以外のプロジェクトをbig tentとして定義することで、新規プロジェクトを柔軟に取り入れていくのが目的です(図1)。
拡大画像表示
Core Servicesに位置付けられるのは、プロジェクト初期からある「Nova」「Swift」に、「Glance」と「Keystone」「Neutron」「Cinder」を加えた6プロジェクトです。Glanceは仮想マシン用のOSイメージの管理サービス、Keystoneはユーザー認証/権限の管理サービス、NeutronはIaaS基盤のネットワーク管理サービス、Cinderは仮想マシン用のブロックストレージ管理サービスです。
拡大画像表示
big tentには、表2のようなプロジェクトが分類されています。
OpenStackのプロジェクトのガバナンスはOpenStack Technical Committee が統括しています。これまでは、新規機能を実装しようとすると、複雑で時間のかかるサイクルが発生していました。
具体的には、まずは外部で開発を進め、次に「Incubation」のリクエストを申請し、それが承認されて初めてOpenStackコミュニティーに認知される。そこからさらにOpenStackプロジェクトとして求められる要件を満たさなければならず、その後レビューを経て「Integrated」に位置づけられると、晴れてOpenStackのプロジェクトの一員になります。
新しいbig tent方式の運営では、必要要件を満たし検証と承認される必要があることは変わりませんが、新規プロジェクトの追加にかかる期間は数カ月が目安になります。新たな機能を実装するプロジェクトのOpenStackコミュニティーへの取り込みがスムーズに進むことで、利用者のニーズに迅速に対応した機能拡張を実施しながら、各サービスの整合性を保つことが可能になります。
会員登録(無料)が必要です
- 1
- 2
- 次へ >