rtos-container

 

インテリジェントエッジを実現するRTOSのコンテナ技術

 

Apr 26, 2021 VxWorks

By ミッシェル・シャブロウ, プロダクトマネージメント シニアディレクター

michel-chabroux

 

ウインドリバーが目指しているのは、組込みシステム開発者の皆様が「高性能なソフトウェアをスピーディーに開発できるよう支援すること」です。 そのために、以下をはじめとする多面的なサービスを展開しています。

  • ミッションクリティカルなインテリジェントシステムの開発、デプロイ、運用、サービスを行うための新たなクラウドネイティブプラットフォーム「Wind River Studio」を先日リリースしました。
  •  

  • VxWorks®は、C++17、Boost、Python、Rustをサポートする初の、そして唯一のリアルタイムOS(RTOS)となりました。
  •  

  • Wind River Labsにおいて、革新的な新技術を公開しています。たとえばVxWorksでは、Robot Operating System 2 (ROS 2)フレームワークのほか、Amazon Web Services (AWS)、Microsoft® Azure、Google Cloud向けのIoTソフトウェア開発キット(SDK)をご用意しています。
  •  

    次に、組込みリアルタイムシステムの開発・デプロイを変革するために当社が推進しているもうひとつの取り組みについてご紹介しましょう。

     

    それが「コンテナ」です!

     

    リアルタイムシステムは、日々、より大規模かつ複雑な環境に組込まれています。例えば、戦闘機に搭載されている様々なコンピュータシステムは、それぞれ異なるOSで動作している可能性があります(この戦闘機の例については、こちらの動画で詳しくご紹介していますので、ぜひご視聴ください。尚、同じ原則が自動運転車やファクトリーオートメーション、その他多くのシナリオにも当てはまります)。

    問題は、このような大規模なシステムへのソフトウェアのデプロイをいかにして高速化するかということです。サブシステム同士のワークフローにばらつきがないよう、デプロイプロセスの均一性を保つにはどうすべきでしょうか?答えは、ローカルインフラもしくはエッジクラウドのコンテナ化です。航空機や自動車、製造現場に組込まれたローカルインフラをコンテナ化することで、様々なサブシステムにソフトウェアの提供が可能です。このエッジクラウドを別のクラウドに接続させて情報配信やソフトウェア更新をプッシュすることで、異種混合ソフトウェアのサブシステム全体の管理やオーケストレーションが可能になります。

    VxWorksはこのビジョンを推進するために、Open Container Initiative (OCI)準拠のコンテナをサポートしています。これにより、従来のIT環境のアプリケーション開発と同様のクラウドインフラ、ツール、ワークフローなどをそのまま利用できるため、モダンなアプリケーション開発やIT手法、DevOpsの最新トレンドを反映したRTOSの世界がさらに広がります。

    VxWorksのコンテナはWind River Studio Cloud Platformと連携し、統一されたテクノロジを用いて異種混在システム間で大規模なアプリケーションのデプロイと管理を可能にします。これにより、RTOSが初めてクラウドネイティブインフラの「正式な構成要素」に仲間入りします。

     

    課題を克服

     

    Dockerの実行には2GB超の容量が必要ですが、VxWorksコンテナのランタイム環境は100KB未満のスモールフットプリントです。4桁もの容量差があるため、DockerをそのままVxWorksに搭載することはできません。VxWorksのコンテナエンジンにコンテナ管理機能を追加しても400KB未満です。小規模フットプリントでのコンテナ対応という難題に加え、 VxWorks RTOSの真髄である「ディターミニスティックかつ認証取得可能な環境」を維持する必要もありました。

    ツールの観点では、「既存のものをそのまま使える」ということも重要でした。そこで、Buildahをそのまま使用できるようにしています。

    つまりVxWorksのエキスパートでなくても、汎用的なITツールや手法を使ってVxWorksアプリケーションを大規模にデプロイできる時代がすぐそこまで来ているのです。

    インテリジェントエッジに関する当社のビジョンについては、こちらのホワイトペーパーで詳しくご紹介しています。