AWSではじめるIoT PF開発の最初の一歩【Builders Online】
AWSのデバイス側のサービスを利用してAWSと接続してIoTサービスを提供するにはどうしたらよいかと考えていました。Builders Onlineで取っ掛かりに良さそうなセッションがありましたので受講してみました。
セッション内容
IoTによって実現できること
- 製造分野の場合は次のようなことを実現できる
- 製品の異常検知
- 設備の予防保全
- 活用パターンは大別すると次の2種類がある
- データの収集
- デバイス間の通信(スマホなどから遠隔制御)
IoTプラットフォームとは
単一目的(製品)に特化したIoTシステムを別の製品へ展開する場合の課題は3つある
- 課題1:汎用的に利用できない(別製品の追加要件の対応が困難)
- 課題2:開発効率の低下(別製品用に新たな開発工数が必要)
- 課題3:UXの低下(異なるURLや異なるビュー)
IoT プラットフォームを導入すれば、次にような対策が可能で課題を解決できる。
- 対策1:デバイスからのIFの規定(プラットフォームの入口の統一)
- 対策2:開発の集約(プラットフォーム開発部隊を専門部門へ)
- 対策3:view、URLの統一(プラットフォームの出口の統一)
プロジェクトの課題と解決策
課題と対策が異なるためフェーズごとに説明する。
企画・要件定義フェーズ
万能なPFをいきなり目指すと次のような課題が出てくる。
- 課題1:開発期間が長くなる
- 課題2:利用されない可能性がある
では、どうすればよいか?
- 対策1:スモールスタートする
- AWSなら後から容易に機能拡張が可能である
- 対策2:ファーストユーザーを確定させる
- 確実にユーザーに利用されるものを開発する
ここで、ファーストユーザーをどのように選定すればよいか?
- 2つの軸で考える
- 重要度:企業内でのそのシステムの位置付け
- 深刻度:システムが正常に稼働しなかった場合に与える影響の大きさ
2つの軸でマッピングした時の、重要度:高、深刻度:中 あたりがおすすめである
設計・実装フェーズ
機能・非機能観点の課題は次のようなものがある。
- 課題1-1. メッセージングサービスの実現
- 課題1-2. デバイスサイドの容易な開発
- 課題1-3. 増加する接続数への対応
また、セキュリティ観点だと次のような課題がある
- 課題2-1 デバイスとクラウド間の通信経路の暗号化
- 課題2-2 宛先として許可されていないデバイスへの通信を拒否
- 課題2-3 登録されていないデバイスからのアクセスを拒否
課題の解決策としては、次のようなものがある。
- IoTプラットフォーム側
- AWS IoT Core
- MQTT, HTTP, MQTT over WebSocketをサポート(課題1-1対策)
- 接続数に応じて自動で拡張(スケーリング)(課題1-3対策)
- いずれもTLSによって暗号化(課題2-1対策)
- 通信の宛先を”ポリシー” で認可(課題2-2対策)
- クライアント証明書によるデバイス認証や、その他の認証方式をサポート(課題2-3対策)
- AWS IoT Core
- デバイス側(課題1-2対策)
- MCU(マイコン)向け:FreeRTOS
- MPU/Linux向け:AWS IoT Device SDK
運用フェーズ
作ってしまえば完了、ではない
リリース後につぎのようなことを考えなければいけない。
- 正常稼働の監視
- 継続的なPF改善
上記を実施していく運用体制が必要なことをProjectの初期段階から認識する
運用状況の監視に活用できるサービス例
- 接続されたデバイス群の保護:AWS IoT Device Defender
- 接続されたデバイス群の管理:AWS IoT Device Management
- AWS APIの呼び出しの監視:AWS CloudTrail
- リソースの死活、性能、ログの監視:Amazon CloudWatch
継続的な改善について
- AWSサービスをビルディングブロックとして組み合わせて改善できる
IoTプラットフォーム開発の最初の一歩
プロジェクトの観点の一歩
- IoTプラットフォームのファーストユーザーの探索を開始する
- 「重要だが、深刻すぎない」要件を選択する
開発・技術の観点の一歩
- IoT技術の活用事例の調査
- AWS IoT開発者ポータル
- builders.flash
まとめ
IoTプラットフォームは「作ってしまえば完了、ではない」という説明が大変印象に残っています。
システムは作ってしまえば完了のものが多いとは思います。
しかし、IoTプラットフォームの場合は、作ったところがスタートというような印象を持ちました。
次回はコンテナ関連のセッションについて記載予定です。
ディスカッション
コメント一覧
まだ、コメントがありません