BT

IoTアプリケーションのためのDevOpsパイプラインの用意

| 作者: Hrishikesh Barua フォローする 14 人のフォロワー , 翻訳者 笠原 王徳 フォローする 0 人のフォロワー 投稿日 2017年2月16日. 推定読書時間: 3 分 |

原文(投稿日:2017/02/13)へのリンク

MSDNサイトの最近の記事の中で、Daniel Meixler氏はMicrosoftのフレームワーク及びコンポーネントを使用したInternet of Things (IoT)アプリケーションのための完全なDevOpsライフサイクルを探求した。この概念は少し修正すれば他のIoTプラットフォームに対しても一般化することができる。

一般的にDevOpsはwebアプリケーションの領域で最も広まっているが、特定の技術もしくはアプリケーションの種類に結びついているわけではない。この記事では、概念の検証として冷蔵庫の制御アプリケーションを取り上げ、開発全般に渡るDevOpsライフサイクルの構築に触れている。とりわけ、完全に自動化されたCI/CDのチェーンに特別に焦点を当てている。特定のアプリケーションのための課題が明らかになったら、これらに選択された技術スタックを用いて対処する。概念のいくつかは一般的であり、技術に関係なく再利用することができる。

この例となるアプリケーションは冷蔵庫の制御を模擬しており、Rasberry PI上で実行される。このようなIoTアプリケーションのための開発パイプラインに関して、様々な課題が存在する。このパイプラインは全てのチェックインに対応して自動ビルドを行い、自動化されたUIテストを行い、製品を含む様々な環境への配置や、遠隔測定データの収集を行うことになる。UIテストは一般的に困難であり、デバイス上での任意の種類の自動テストは更に難しい。この文脈における他のいくつかのDevOpsへの挑戦には監査能力と装置の互換性が含まれるが、この記事ではこれらを取り扱っていない。

課題となる冷蔵庫アプリケーションのためには、配置はテスト装置に(QA)と顧客の装置(製品)の両方に行われる必要ががある。後者はデバイスに対する物理的アクセスがしばしば行えないため簡単ではない。この場合、装置には大量に存在し、顧客の構内に位置し、地理的に幅広く分散している。最後の要件である遠隔操作は以下の課題を提示する。つまり、IoT装置は通常の多くの手動介入なしに動作し、装置のパフォーマンスに関するどんなフィードバックもユーザに伝達する手段は存在しない。手動のフィードバックを収集するというのも選択肢にはない。

多くのカスタマイズをせずにパイプラインを最適化するために技術選択が行われた。IoTプラットフォームはWindows 10 IoT Coreを採用し、アプリケーションはWindows Universal App (UWP)である。オーケストレーションプラットフォームはVisual Studio Team Services (VSTS)である。VSTSはDevOpsプロセスを簡単に作成することを目的とした機能群を備えている。Microsoftスタックに沿って、管理プラットフォームはAzure IoT Hubにする選択がされた。このプラットフォームはIoTアプリケーションの管理・設定を行うために用いられた。Azure IoT Hubは複数の言語をサポートしており、.NETとnode.jsがこのアプリケーションのために用いられた。HockyAppという数年前にMicrosoftにより買収されたプラットフォームが、デバイスの使用状況の収集とエラーの分析のために用いられた。

画像はhttps://blogs.msdn.microsoft.com/dmx/2017/01/26/devops-for-iot-part-1/からの引用である。

パイプラインが実行され、アプリケーションの新バージョンが生成されたとき、リリースプロセスはAzure IoT Hubに通知を行う。Hubの責務は新バージョンのダウンロードして取得し、登録された全てのIoTデバイスへのインストールを保証することである。これはその時点でオンラインの装置に対しては即座に行われて、オフラインの装置に対しては遅延モードにより行われる。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT