クールハックスポットライト:ダート

Dockerコンテナプラットフォームは、世界中のミッションクリティカルな取り組みをサポートするために使用されています。 NASAの惑星防衛調整局は、Dockerのプラットフォームを使用して、地球上のすべての人に影響を与える可能性のある重要なミッションをサポートしています。 オフィスは、地球近傍小惑星を追跡し、それらを特徴付け、地球への道を見つけた場合にそれらをそらす方法を決定する責任があります。 

NASAを経由してジョンズホプキンス応用物理研究所が率いるDARTは、二重小惑星リダイレクションテストです。 チームは、衝撃を測定し、このタイプのミッションがどれほど効果的であるかを判断するために、衝突する潜在的に危険な小惑星を選択しました。

宇宙は難しいので、このミッションのためのソフトウェアを開発するのは簡単なことではありません! チームはこのミッションを機能させるためのワンショットを持っており、宇宙での再起動はありません。 宇宙物理学の制約により、放射線の乱流効果により、帯域幅が非常に狭くなり、メモリ密度が低下します。 では、ソフトウェアチームはDockerを使用するために何を解決したかったのでしょうか。 ハードウェアの不足。 このプロジェクトで使用される開発システムは非常に高価($ 300K)であるため、すべての開発者が独自のシステムを入手するわけではありません。 これにより、30人の開発者のチームが5つのシステムを共有するという時間の制約が発生し、生産速度が遅くなりました。

ハードウェアエミュレーションを実現するために、開発者は自分のラップトップで作業しながら実際のハードウェアでテストできるように、チームはクールなハックを開発しました。 コンテナ内のX-11サーバーとVNCサーバーを利用することで、チームはセキュリティの制約を守りながら、必要な外部コンテナからGUIにアクセスできました。

チームは、フライトソフトウェア、テストベッドソフトウェア、Rubyで記述されたCOSMOSオープンソースGUI地上システム、およびDocker環境用の個々のコンポーネントで構成される4つのサービススタック開発環境を展開しました。 コンテナー ネットワーク モデルを利用して、フライト ソフトウェア コンテナーはテストベッド コンテナーに接続します。 テストベッドコンテナはCOSMOSコンテナに接続して無線として機能し、最後にCOSMOSコンテナはVNCコンテナに接続され、Openboxを介してGUIを提供します。 これにより、ハードウェアエミュレーションが完了し、開発者は自分のマシンで作業できるため、開発時間とリソースを数か月節約できます。

NASAの3ステッププランの詳細については、以下の基調講演をご覧ください。

  1. 宇宙船を作る
  2. ターゲットをヒットする
  3. 世界を救う

Dockerとのつながりを保つ DockerCon San Francisco 2018 のビデオを見る:
詳細情報