StarlingX――エッジコンピューティング向けクラウドインフラストラクチャのライフサイクル管理
近年、IoT(Internet of Things)としてあらゆるモノがインターネットに繋がる時代において、5G通信やAI/MLを用いた次世代サービスの期待が高まっています。これらの技術を利用して実用的なサービスを提供するためには、IoTデバイスとコンピューティングプラットフォーム間のやり取りにおいて高速で低遅延な処理が求められます。このような背景のもと、高速で低遅延な処理を実現するために、従来のようなサーバを集約する集中処理型のクラウドではなく、サーバをよりIoTデバイスに近いエリアに分散して処理を行う「エッジコンピューティング」が注目されています。
StarlingXは、エッジコンピューティング向けクラウドインフラストラクチャを構築、運用するためのソフトウェアスタックです。現時点では、Airshipと同様、OpenStack Foundationのパイロットプロジェクトとして開発が進められており、2019年9月に最新バージョンであるStarlingX v2.0がリリースされました。
StarlingXは、OpenStackやKubernetesなど、複数のOSSの組み合わせによって構成されますが、利用するソフトウェアはエッジクラウドごとのユースケースに応じて選択することができます。例えば、OpenStackとKubernetesを利用するエッジクラウドと、Kubernetesのみを利用するエッジクラウドをそれぞれ別の分散されたクラウドとして構築し、セントラルクラウドからまとめて運用することが可能です。また、分散ストレージソフトウェアであるCephのクラスタ構成や、OpenStack Ironicによる物理サーバ管理などについても、ユースケースに応じた構成で構築することができます。
また、セッションの質疑応答でも多く話題にあがっていたのが、AirshipとStarlingXの違いです。両方同じようなソフトウェアに聞こえますが、2つのプロジェクトは異なる目的のもと活動しており、Airshipは「宣言的なクラウド構築・運用を実現することを目的としたプロジェクト」、StarlingXは「エッジコンピューティング向けクラウド構築・運用のソフトウェアスタック提供を目的としたプロジェクト」です。そのため、AirshipかStarlingXどちらを利用すべきかは、そのシステムのユースケースに応じて考える必要があります。なお、StarlingXは、AirshipのコンポーネントであるArmada(複数のKubernetes Helm Chartを管理・利用できるソフトウェア)もソフトウェアスタックの一部として利用できると説明があり、StarlingXはあくまでエッジコンピューティング向けに整理されたソフトウェアスタックであることを強調しているようでした。
続いて、StarlingXのソフトウェアスタックで提供される主な管理機能を紹介します。以下5つの管理機能により、エッジクラウドとして分散された多数のサーバを構築し、正常性を確認しながら運用することができます。
Host Management
- 物理マシンの電源操作やハードウェアセンサーのモニタリングを行う
- ハードウェアレベルでの異常を検知し、アラートを通知することも可能
Service Management(HA - High Availability)
- 複数ノードでのHA構成(Active/ActiveやActive/Standbyモード)において、各ノード上のサービスが正常に動作しているかのモニタリングを行う
Configuration Management
- 新規追加された物理マシンに関する設定管理や、物理マシンのインベントリ管理を行う
Fault Management
- 物理マシンやVMなどに対して独自にカスタマイズ可能なアラート・ログ・イベントの管理を行う
Software Management
- OSからKubernetes、OpenStackのレイヤも含むソフトウェアアップデート管理を行う
- モジュールの追加によって並列アップデートやローリングアップデート(ライブマイグレーション含む)を実行可能
StarlingXの活用事例として、中国のChina Unicomが提供している5G(NFV)向けプラットフォームであるCube Edgeの事例などが紹介されていました。各出展企業のブースが並ぶマーケットプレイスでもデモ動画が公開されており、StarlingXのGUI画面で各ノードの正常状態を確認したり、各エッジクラウドの情報をマップ上に表示できる機能が紹介されていました。
上述のように、現状としては、5G(NFV)向けプラットフォームで高速で低遅延な処理を実現するために、端末側に近いエリアにサーバリソースを分散して処理するようなユースケースでStarlingXが活用されている事例が多いようです。一方で、エッジコンピューティングの適用領域に含まれる、AI/ML分野でのStarlingX活用事例(自動運転やARなど)のセッションは見かけませんでした。これらの技術分野がまだ発展途中であることも要因の一つではありますが、これから2019年12月リリース予定のStarlingX v3.0に向けてKubernetes向けIntel GPUサポートやインフラストラクチャのバックアップ・リストア機能追加なども検討しているそうなので、今後はより幅広い分野でエッジコンピューティングを支えるソフトウェアスタックとして成長し、エッジコンピューティングを検討する際の有力な一つの選択肢となることを期待したいと思います。