Congress最新動向: OpenStackプロジェクトのインテグレーションユースケースが続々登場

2016年6月28日(火)
室井 雅仁

今回のAustin SummitレポートはCongressプロジェクト※1を取り上げます。

[1] https://wiki.openstack.org/wiki/Congress

OpenStack Congressは比較的新しいプロジェクトでBig Tentプロジェクトの一つです。2016年4月にリリースされたMitakaバージョンでは、3.0.0がリリースされました。CongressはGovernance as a Serviceと言われ、システムや企業がもつ様々なPolicyを定義することで、システムに対してPolicyによる制御を実現することを目指しています。

Congressはクラウド環境があるべき状態になっているかさまざまな情報を収集し、クラウドの運用者が定義したPolicyに違反していないか検査を行い、違反していた場合には違反内容の修正を実施します。今までなら、nova、neutron、keystoneなどの情報を突き合わせて判断をしなければならなかったことが、1つのPolicy記述言語 (Datalog) に記述するだけで、あとはCongressが各モジュールの情報を取得して動いてくれるのです。つまり、運用者は、DatalogでPolicyを定義するだけで、クラウド全体のガバナンスを管理できるようになります。それがCongressがGovernance as a Serviceと言われるゆえんです。Policyがどの様なものかは、以前の記事※2や今回のAustin Summitで多くのユースケースが議論されましたのでそちらをご覧ください。

[2] https://thinkit.co.jp/article/8381

図1: Austin Summit会場近くのテキサス州会議事堂
プロジェクト名の由来は議会の様にクラウドへgervernanceを持たせる事

本稿ではAustin SummitでNewtonリリース向けに議論された、Congressの最新動向についてレポートしていきたいと思います。

OpenStackプロジェクトとのインテグレーション

今回のAustin Summitでは、他のOpenStackプロジェクトと共にCongressで定義したPolicyを組み合わせて実現するユースケースとその実現方法について、多くの議論がされました。Congressが提供するGovernanceは前述の通り、「OpenStack内外の様々なサービスから情報を収集し、事前に定義したPolicyに違反していないかを判定します。判定の結果、Policyに違反していた場合、違反を更生するためのActionを実行する」というものです。そのため、Congressは他のサービスと連携することにより、その真価を発揮します。数多くのサービスと連携をするユースケースが提案されてきており、様々な領域のPolicy管理が提案および実現されてきていますので、その一端を紹介したいと思います。

アプリケーションSLAの管理

アプリケーションのSLAに必要なスケーラビリティやスループットなどの情報をCongressにPolicyとして設定をすることで、アプリケーションの開発者が柔軟にSLAを設定できるようにするユースケースです。

具体的にはMonascaのアラーム機能とCongressのPolicyを連携させることで、クラウド上にデプロイされたアプリケーションのSLAを確保します。Monascaプロジェクト※3はOpenStackの監視サービスで、監視したメトリックスを時系列に整理してアラームを上げる機能があります。そこで、Congressを利用して、ユーザが設定したPolicyをMonascaのアラーム情報に変換して設定し、アラームが上がった時、つまりPolicyの違反が発生した時に、アラームを取り除き常にアプリケーションのSLAが守られていることを目指しています。

[3] https://wiki.openstack.org/wiki/Monasca

図2:CongressポリシーとMonacaアラームの連携
例: VMのホストでエラーが発生した時に、VMをStopする

本ユースケースは前回のOpenStack Summit Tokyoで提案され、MitakaリリースではCongressとMonasca間でデータのやり取りとPolicy違反時に対処を実施するMonasca driverが既に実装されています。ユースケースの実現に向けて不足している機能は、アラームのリアルタイム受信機能とPolicyからアラームへの変換機能の2つです。リアルタイム受信機能はMitakaで実装されたPush型Driverを用いて実現できることが確認されており、Congress内のPolicyをMonascaのアラームへ変換する機能をMonasca Driverへ実装することがNewtonに向けて提案されています。

Policyによる柔軟なNovaスケジューラの実現

Novaのスケジューラで一般的なFilterスケジューラにPolicyスケジューラを追加することで、OpenStackの運用者が簡単にスケジューラをカスタムできるといったユースケースです。

NovaのFilterスケジューラでは多くのFilterが用意されており、任意のFilterを組み合わせることで運用者が利用したいスケジューリングを実施できるようになっています。しかしながら、既存のFilterで実現できないスケジューリングを運用者が利用したい場合には、新しくFilterを開発する必要がありました。そこで、Congressで定義したPolicyをスケジューリングに利用することで、運用者が柔軟にスケジューラを設定できるようにします。

Novaプロジェクトでもスケジューラに関する議論が行われており、本ユースケースは同じくその中でも議論を続けていくことになっています。Newtonリリース以降ではPolicyを用いて運用者毎のスケジューリングが実施できるようになることが予想されます。

NFV領域での活用

OPNFV Doctorプロジェクト※4において、ハードウェアの故障を論理的なシステムの故障へ変換するユースケースが紹介されました。

[4] https://wiki.opnfv.org/display/doctor

DoctorプロジェクトはNFVを構成するインフラのFault Manangementを目的としたプロジェクトです。Zabbixなどの監視システムによって検知されたインフラの故障情報(ハイパーバイザやスイッチの故障情報)を元に、故障が影響する仮想マシンを特定し、故障に合わせた処理を実施する機能がCongressを用いて実現されています。Monascaインテグレーションで記載したPush型Driver用いることでこの機能が実現されており、Newtonリリースに向けて、本機能を実現しているDoctor用のDriverとそのPolicyがCongressプロジェクトに還元される予定です。

Congressのパフォーマンスと可用性の両立

Congressプロジェクトではスケーラビリティの向上を目的にLibertyリリース以降プロセス構成の変更を行ってきました。Mitakaリリースでは新構成のベースとなるコードが完成しています。しかし、マルチプロセス構成が実現されることにより、各プロセス間の通信スループットとデータの可用性確保が必要になるため、パフォーマンスと可用性を両立する方法について議論が行われました。

現在Policyの計算やPolicy違反への対処はインメモリで実施しているため、さまざまな実装方式の提案が行われました。pacemakerでプロセスの管理を実施しCongressプロセス間でデータの可用性を確保する方法、DBなどの永続化領域を利用した方法などが提案されています。

Summit期間中には議論が終わらなかったため、IRCやミーティングで議論が継続しています。Newtonリリースまでにはスケーラビリティを確保した新構成での動作が完成される見込みのため、近いうちにパフォーマンスと可用性を両立する方法も合わせて確立されることが予想されます。

おわりに

Congressプロジェクトはまだ知名度は低いですが、着実にユースケースが増えてきています。Congressは、Policyを管理する機能という特性上、各種サービスの縁の下の力持ち的な役割になります。まだ若いプロジェクトではありますが、今後各プロジェクトとのインテグレーションが進むにつれて、さまざまなユースケースでCongressが重要なポジションになっていくと予想されます。

せっかくの機会ですので、これを機にCongressを利用してみて気になるバグや欲しい機能についてコントリビューションしてみてはいかがでしょうか。

NTTソフトウェアイノベーションセンタ

OpenStackコミュニティで「Congress」のコアレビューア、「Blazar」のPTLとして活動中。NTTソフトウェアイノベーションセンタに勤務し、OpenStackを利用したOSSクラウドのクラウドアーキテクトを担当している。OpenStackを利用したクラウドの開発には「Diablo」リリースより携わっている。

連載バックナンバー

クラウドイベント

テレコムからIoTまでさまざまなユーザ事例が公開されるOpenStack

2016/8/29
昨今、OpenStackのユーザ事例は多分野、他業種に広がりを見せている。今回はその中から大規模な事例や、IoTに関する事例を取り上げて紹介する。
クラウド技術解説

Nova最新動向:スケジューラ、セル、ライブマイグレーションの改善は継続、他のプロジェクトとの連携が課題に

2016/7/25
OpenStackの中核コンポーネントであるNovaについて、Austinサミットで議論された内容から、その最新動向をお伝えする。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています