SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
IoTでもコンテナ!
~IoT Edge はじめの一歩
Container X mas Party with flexy LT
https://flexy.connpass.com/event/110839/
大平かづみ / Kazumi OHIRA
@dz_ 主にサーバー
サイドエンジニア
Infrastructure
as Code,
DevOps
クラウド大好き!
Azure
IoT でもコンテナを
Prologue
Internet of Things のエッジの世界
• エッジデバイスの中のモノリス
• モノリスは危険が伴う
• 一部の変更が全体へ影響するリスク
• 配布後の更新はどうするのか
• 人が現場でやる?
• 更新処理を自作する?
• 通信の細さ、不安定さ
• 帯域の制限、断続的
あれ?これってどこかで?
モノリスは分解しよう
柔軟なデプロイ
モノリスは分解しよう
柔軟なデプロイ
コンテナだ!
エッジでもコンテナを使えるようになってきた
• CPUやメモリの性能が向上し、コンテナエンジンが使えるように
• エッジの処理でも、コンポーネントごとの開発は有用
• カメラで写真を撮影するコンテナ
• 写真を分析するコンテナ
• センシングデータを送信するコンテナ
• 受信メッセージに応じて駆動させるコンテナ
IoT の領域でコンテナを使うことでの混乱
• コンテナ間の連携をどうするか
• Webの世界ではコンテナ間の連携は HTTP(s), gRPC などが通例
• コンテナのライフサイクルは短いかも
• エッジは電源が落ちることも想定される
• クラウドへのデータ送信が複雑になりかねない
• コンテナごとにデータ送信?どこかで統合など対策必要
• (コンテナに限らないが)接続の不安定さに備えた蓄積・再送の工夫が必要
Azure IoT Edge の出番!
How to improve
Azure IoT Edge とは
• これまでクラウドで行ってきた分析や実装をエッジ側で
• よりビジネス自体に注力できるようになる
• モジュールによって構成される
• モジュール = Docker を含む Moby プロジェクトに対応したコンテナ
• Azure のサービスやサードパーティ製のモジュール
• IoT device SDK を利用して自作モジュール
• C#, C, Java, Node.js, Python
• IoT Edge runtime がメッセージルーティングやモジュールを管理
IoT Edge の大まかな仕組み
IoT Edge runtime
IoT
Edge
hub
IoT
Edge
agent
module module
…
エッジデバイス
IoT Hub
Azure
IoT Edge の大まかな仕組み
IoT Edge runtime
IoT
Edge
hub
IoT
Edge
agent
module module
…
エッジデバイス
IoT Hub
Azure
セキュリティ、
モジュール管理
データストリーム
のプロキシ
エッジ内の
メッセージ
ルーティング
エッジ上では
iotedge コマンド
docker コマンド
IoT Edge 開発の流れ
1. Azure IoT Hub を作成する
2. IoT Hub にデバイスを登録する(手動 or 自動)
3. Visual Studio Code で開発する
4. Visual Studio Code からデプロイする
5. Azure DevOps など CI/CD の運用も可能
Visual Studio Code Extension
Azure IoT Edge Extension
• IoT Edge モジュールの開発、
デプロイができる
Azure IoT Hub Toolkit Extension
• IoT Hub に登録されたデバイス
やモジュールを管理できる
IoT Edge のよいところ
• Docker コンテナが使える!
• 例えば、Cognitive Services の学習データを Docker 形式でエクスポートし、エッ
ジデバイス内で利用可能
• モジュールをクラウドからデプロイできる!
• Visual Studio Code で開発できる!
• さまざまな言語を利用できる
• IoT Hub へのストリームを束ねられる
• モジュール間のメッセージルーティングを定義できる
• クラウドからコンテナの状態を確認できる
• モジュール Twin を使える
まとめ
Conclusion
Webでのコンテナと IoT Edge の比較
共通点
• コンテナを小さく作ろう
• シンプルに実装しよう
• 使える言語が多い
• ※ SDKに依存する場合もある
IoT Edge の独特な点
• IoT Edge runtime の仕組み
• hub, agent
• メッセージルーティング
• IoT device SDK
• IoT Hub の Standard tier or
Free でのみ利用可能
仕組みを利用することで、
Webで培ったコンテナの
知識がIoTでも活かせる!
Have fun!

Weitere ähnliche Inhalte

Mehr von Kazumi IWANAGA

Mehr von Kazumi IWANAGA (20)

GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
 
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
 
女性エンジニアコミュニティから見える価値観のリアル
女性エンジニアコミュニティから見える価値観のリアル女性エンジニアコミュニティから見える価値観のリアル
女性エンジニアコミュニティから見える価値観のリアル
 
「あの人の自分戦略を聞きたい!2022」~ 大平かづみの場合
「あの人の自分戦略を聞きたい!2022」~ 大平かづみの場合「あの人の自分戦略を聞きたい!2022」~ 大平かづみの場合
「あの人の自分戦略を聞きたい!2022」~ 大平かづみの場合
 
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるAzure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
 
本領を発揮するために、まずバリアを開放できる場を
本領を発揮するために、まずバリアを開放できる場を本領を発揮するために、まずバリアを開放できる場を
本領を発揮するために、まずバリアを開放できる場を
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
 
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
 
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
 
Code Polaris 紹介(Woman type イベント「女性エンジニアのキャリアのお悩み相談室 with Code Polaris」)
Code Polaris 紹介(Woman type イベント「女性エンジニアのキャリアのお悩み相談室 with Code Polaris」)Code Polaris 紹介(Woman type イベント「女性エンジニアのキャリアのお悩み相談室 with Code Polaris」)
Code Polaris 紹介(Woman type イベント「女性エンジニアのキャリアのお悩み相談室 with Code Polaris」)
 
Azure Rock Star Community Day #2 - Cogbot Community スタッフが選ぶ Microsoft Learn コ...
Azure Rock Star Community Day #2 - Cogbot Community スタッフが選ぶ Microsoft Learn コ...Azure Rock Star Community Day #2 - Cogbot Community スタッフが選ぶ Microsoft Learn コ...
Azure Rock Star Community Day #2 - Cogbot Community スタッフが選ぶ Microsoft Learn コ...
 
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
 
Code Polaris meetup #2
Code Polaris meetup #2Code Polaris meetup #2
Code Polaris meetup #2
 
Code Polaris meetup #1
Code Polaris meetup #1Code Polaris meetup #1
Code Polaris meetup #1
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!
 
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
 
Cogbot コミュニティのご紹介 #MSBuild #COM173
Cogbot コミュニティのご紹介 #MSBuild #COM173Cogbot コミュニティのご紹介 #MSBuild #COM173
Cogbot コミュニティのご紹介 #MSBuild #COM173
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

IoTでもコンテナ! ~ IoT Edge はじめの一歩