Apache CloudStackは、クラウドコンピューティング環境を構築するためのオープンソースプラットフォームとして広く利用されており、その柔軟性と拡張性は多くの企業にとって重要な要素です。しかし、市場での競爭力を高めるためには、リソース使用量に基づく正確な評価と計費が不可欠です。本記事では、Apache CloudStackにネイティブで統合された評価システム(Rating System)と會計システム(Accounting System)の導入方法、およびその技術的特徴と実裝例を解説します。この導入により、クラウドオーケストレータ(Cloud Orchestrator)を介した計算リソースユーザー(Computing Resource User)向けに、柔軟な計費モデルを実現することが可能になります。
評価システムは、クラウドリソースの使用量に基づく金額を計算するための基盤となる機能です。このシステムは、計費(Billing)システムとは區別され、後者を外部システムで処理する形で設計されています。評価システムは、プラットフォームイベント(Platform Events)を基にデータを生成します。これらのイベントは、仮想マシン(VM)、ボリューム、ネットワークなどのリソースが作成されるたびに記録され、アカウントやプロジェクトに紐づけられます。イベントの生成プロセスでは、リソースの使用狀況を可視化するためのデータが蓄積され、イベント処理プロセスでは、補助テーブル(Auxiliary Tables)を介してイベントデータを集約し、評価データ(Usage Data)として生成されます。
會計システムは、リソースの使用量を詳細に追跡し、個別(Per Entry)および月次(Monthly)の計費モデルをサポートします。データ処理フローは以下の通りです:
例えば、仮想マシンの起動イベントが生成され、継続的な実行中に定期的にデータが更新されます。このプロセスにより、正確な使用量に基づく計費が可能になります。
Quota 1.0では、各リソースタイプごとに単一の計費率(Tariff)が適用されるため、リソースの屬性に応じた柔軟な計費が困難でした。この制限により、クラウドプロバイダーのニーズに完全に対応できず、柔軟性に欠けていました。
Quota 2.0では、JavaScriptを用いた動的な計費ルールが導入され、リソース屬性(アカウント、ホストタグ、ストレージタイプなど)に基づく金額計算が可能になりました。具體的には、以下の機能が追加されています:
現在のシステムでは、ECMAScript 1.0のみがサポートされており、バージョンアップが必要です。また、ドキュメントが不完全で、一部の改善はアップストリーム(Upstream)にまだ反映されていません。
リソースタイプ別の使用量統計、履歴、増分チャートを表示。アカウントやプロジェクトごとにフィルタリング可能。
毎日の計費プロセスが実行され、毎日の費用項目が生成されます。例えば、仮想マシンの毎日の稼働時間とvCPU使用量に基づく費用計算。複數の仮想マシンの例では、月間総費用とリソース使用分佈を表示。
カスタムブランドインターフェースのサポートを予告。コミュニティ開発において実裝が進む。
異なるドメイン(例:darkclouds.com)を介して複數のチームを管理可能。単一エンジンでのデプロイが可能で、リソース割當とビジュアルインターフェースが自動処理される。
Apache CloudStackにおけるネイティブ評価システムの導入は、クラウドオーケストレータを通じた計算リソースユーザー向けに柔軟な計費モデルを実現するための重要なステップです。評価システムと會計システムの統合により、リソース使用量に基づく正確な計費が可能となり、市場での競爭力を高めることが期待されます。今後の改善により、より高度な機能が追加され、Apache Foundationのアップストリームプロジェクトとの連攜が進むことで、さらなる拡張性と信頼性が確保されるでしょう。