balenaCloud

 balenaCloud

3f1b3c7b051241022d973fff2e713c1b?s=128

HORINOUCHI Masato

January 28, 2020
Tweet

Transcript

  1. balenaCloud コンテナベースの IoT プラットフォーム 2020/01/28 Lightning Talk Quipper Limited HORINOUCHI

    Masato 1
  2. Demo part.1 いきなりですが少々時間のかかる作業のためデモ開始します。 2

  3. IoT Device 以前は組み込みデバイスをウォーターフォールで開発することが多 かったが、 PoC 検証を素早く実現することが求められることで、ここ数年では 汎⽤的なデバイスによるアジャイル開発を⾏なうようになってきて いる。 そしてデバイス本体や開発環境も Linux

    や Lightweight Language が ⽤いられることも増えてきている。 特に Raspberry Pi によって安価で開発もしやすくなった。 IoT システム開発キットの販売が⾏なわれていたりする。 3
  4. IoT Device の課題 実装⾯ 機能追加/ 変更 組み込み⽤ハードウェアだと性能⾯での制限がかなり⼤きい 開発環境も貧弱 組み込み開発経験のある開発者も少ない バージョン管理

    デバイス電源 いきなり電源が落ちる、⼈的ミスで電源抜かれるとか普通 デバイスに状態を持つとしたらロールバック処理や不整合による 故障に対応する必要がある 4
  5. IoT Device の課題 運⽤⾯ DevOps ⼭奥や海上など簡単には⾏けない場所に設置されることも多い ⾃⽴復旧機能 ソフトウェアが動作不良起こした場合や突然の電源断など不慮の 事態でも復旧する必要がある 想定外運⽤への対応

    5
  6. balenaCloud The container-based platform for deploying IoT applications 6

  7. balena Platform The core balena platform, or what we call

    balenaCloud, encompasses device, server, and client-side software, all designed to get your code securely deployed to a fleet of devices. The broad strokes are easy to grasp: once your device is set up with our host OS (balenaOS), you can push code to the balena build servers, where it will be packaged into containers and delivered to your fleet. All your devices and their running services can then be managed, monitored, and updated through the web dashboard, or through our API via the CLI and SDK. 7
  8. balena Platform (Google 翻訳) コアbalena プラットフォーム、またはbalenaCloud と呼ばれるものに は、デバイス、サーバー、およびクライアント側のソフトウェアが含 まれます。これらはすべて、多数のデバイスにコードを安全にデプロ イするように設計されています。

    幅広いストロークは簡単に把握でき ます。デバイスがホストOS (balenaOS )でセットアップされると、 balena ビルドサーバーにコードをプッシュし、そこでコンテナーにパ ッケージ化してフリートに配信できます。 すべてのデバイスとそれら の実⾏中のサービスは、Web ダッシュボードまたはCLI およびSDK を 介したAPI を介して管理、監視、更新できます。 8
  9. balenaOS Stack 要するに Linux Kernel + systemd + Docker です。

    9
  10. Docker Images balenaOS 上で動く Docker Images を balena が⽤意しています。 CPU

    Instruction Set Architecture (ISA) ARMv7 / ARMv6 / ARMv5 / x86 / x64 (x86_64) Distributions Debian / Fedora / Alpine Languages Python / JavaScript (Node.JS) / Go / Java 10
  11. balenaEtcher balena といえば Etcher が有名で、Raspberry Pi ⽤の Raspbian など Flash

    OS Image を作成するのによく使われます。 11
  12. Demo part.2 Demo がうまくいかなかったときのために、 画⾯キャプチャーでも説明するよ。 12

  13. balenaCloud Add new device image をダウンロードする際に WiFi 情報を⼊⼒する。 13

  14. balenaCloud App 初回起動時に device name などを⾃動的に設定してくれる。 14

  15. Device Deploy build 済みの Docker image を⾃動的に Deploy してくれる。 15

  16. Device Log Docker コンテナーが出⼒する log は balenaCloud の管理画⾯から確認可能。 16

  17. Device Console Device 毎の Host OS や Docker コンテナーに balenaCloud

    の管理画⾯から login もできる。 17
  18. まとめ Pros balenaOS により Git や Docker を⽤いて開発ができる。 balenaCloud により

    Provisioning → Deployment や Device Management も⼀元管理できる。 Cons Raspberry Pi の事実上標準環境である Raspbian と balena OS 差 異が⼤きく、巷に多くある情報が適⽤できないことが多い。 balena OS / Cloud の情報が少なすぎる… 。 18
  19. ご清聴ありがとうございました 19