CERNの運用自動化
欧州原子核研究機構(CERN)では、2012年からOpenStackのIaaSプライベートクラウド環境を立ち上げ、研究開発向けのサービスとして提供してきました。単純に研究開発用途のサーバ群のスケールアウト対応だけではなく、同時に分散ファイルシステムやベアメタルやコンテナのオーケストレーションのクラスターなど新規サービス提供も行っています。現在は、Rockyバージョンで運用しているとのことです。サーバ規模だと使用CPU数300,000以上、インスタンス数36,000以上、ハイバーバイザー数9,000以上、という大規模なOpenStack基盤です。人数を増やすことなく数年間でこれらの莫大なスケールを可能してきたのは基盤の運用自動化を進めた結果であり、いくつかの取り組みが紹介されていました。
運用の自動化
日常発生する運用タスクの自動化ツールとしてRundeckを採用しているそうです。Rundeckとはタスクスケジューラー機能を持つOSSで、主に運用用途で使用されています。ここでの用途として、スケジュール管理でハードウェア関連の一般的な問題の修正を行うこと、チケットのハンドリング自体をジョブスケジューラに任せること、メンテナンス時間をスケジュール化することを挙げていました。また、運用自動化の具体的な例としてディスク故障時のオペレーションをあげており、ディスク故障のイベント通知からServiceNow経由で修理チームにタスクが割り当てられ、Rundeckを使用して修理を自動化しているとのことでした。このようにCERNでは大規模なOpenStack環境を運用するために、自動的に適切なチームへオフロードする仕組みを作り上げることでシンプルかつ無駄の少ないエコシステムを作り上げているそうです。

リソースのライフサイクル管理
プロジェクトのライフサイクル管理に関しては、プロジェクトのタイプをsharedもしくは、personalという2種類にわけて提供しています。2種類の異なるプロジェクトタイプを定義することでプロジェクトに合わせたライフサイクル管理を実現しています。また、プロジェクト自体やサービスのプロビジョンやクリーンアップにはMistralのワークフローを利用し、サービスの内部の依存性を定義しているとのことです。エンドユーザには、ITサービスマネジメントツールであるServiceNowから申請できるよう画面を提供しています。
リソース利活用の最適化 、VM可用性とパフォーマンス向上
上記で定義したpersonalプロジェクトはVM単位に有効期限を設定しており、リソースを自動的に回収する仕組みを取り入れているとのことです。また、ハイパーコンバージドサーバーを利用し、サーバ上のインスタンスが該当サーバのローカルリソースを使うようにすることで、低遅延のI/Oレイテンシで提供でき、結果、系全体としてパフォーマンスを向上できるとのことでした。

今後は原因分析サービスであるOpenStack Vitrageや、総所有コスト(TCO)を下げるためにOpenStack Watcherの導入を検討していくとのことでした。また、既存リソースの有効活用方法として、遊休のコンピューティングリソースを一時的に利用可能なPreemptibleインスタンスを提供し、さらなる系全体としての効率性高めていくとのことです。
今後も実運用環境でのOpenStack採用が普及するに連れ、リソースの有効活用や運用改善をテーマにしたOpenStackプロジェクトへの期待は高まっていくものと思われます。
