Azure Sphereのアプリケーションデプロイ

Azure Sphereの特徴の一つに、アプリケーションのデプロイ機能があります。 一般にOver-the-Air(OTA)とか、自動更新などと言われるもので、デバイスのアプリケーションを遠隔で入れ替えることができる機能です。
Azure Sphereでは、チップ上で動いているAzure Sphere OSが定期的にクラウド、Azure Sphere Security Service(AS3)をチェックして、新しいOSやアプリケーションが有ったときにダウンロードして入れ替えることで実現しています。

で、アプリケーションを更新したいときはAS3にアップロードするわけですが、、、まー、構造がややこしい。どれくらいややこしいかというと、これくらい。(松岡調べ)

f:id:matsujirushix:20200601211955p:plain

まー、ややこしい。(2度目)

こんな声が届いたのか分かりませんが、ちょっと前にこのあたりの構造が大幅に変更されシンプルになりました。

変更後がこんな感じ。(松岡調べ)

f:id:matsujirushix:20200601212416p:plain

シンプルにはなったものの、まだ把握不十分な感じもしていてモヤモヤとしていたのですが、、、
先日、Azure Sphere Public APIなるものが公開されて、これを見てみたところ、スッキリ・バッチリと構造を理解することができました。

結果がこちら。(松岡調べw)

f:id:matsujirushix:20200601210818p:plain

  • 製品をProductとする。
  • アプリケーションの配布単位にDevice Groupを設ける。
  • DeviceDevice Groupと紐づいている。
  • Device Groupに配布するアプリケーションDeploymentを紐づける。
  • と、結果としてデバイスDeviceに紐づいたDevice Group、に紐づいたDeploymentImageをインストールする。

です。

さらに細かな点を言うと、

  • 内部はIDで管理。(なので、名前が重複しても関係ない)
  • DeviceGroupは、複数Productで兼用されない。
  • DeviceGroupからDeploymentのカレント参照は1つのみ。

でした。

あー、スッキリした。