Learn Tech from AWS Specialist Series ~① (IoT 編)
■プロフィール
アマゾンウェブサービスジャパン合同会社 シニアプロトタイピング ソリューションアーキテクト
Jun
AWS での業務内容とこれまでのキャリアを教えてください
Jun:
私が所属しているのは Japan Prototyping Team という部署です。この部署ではお客様のビジネスニーズに対して課題と感じているクラウドの構築に対してプロトタイピングを提供することをしています。そのなかでも、私の場合は、お客様のビジネスニーズの中で主にIoTを利用するユースケースを支援しています。IoT ですので、クラウド側だけではなく、デバイスを組み合わせたプロトタイピングを提供する機会も多いです。ブログも公開されていますので、興味がある方はこちらも見ていただければと思います。
社会人経験は30年以上と長いこともあり、AWS に入社するまでにもいろいろな経験をしてきました。最初の職業は自動車メーカーの工場で生産設備の保守・運用、新設備の設置と業務を行う部署にいました。その後はソフトウエア開発の会社に転職し、現在行なっているようなプログラミングのキャリアをスタートしました。この会社では業務システムから官庁系のシステムと幅広くプロジェクトに参加し、基本設計からテストまで一通り経験することができました。その後は、フリーランス、起業、事業会社と場所は変わりましたが、スマフォアプリの開発、サーバ側の開発、インフラの構築・運用を経験することができました。AWS を利用することになったのも、この頃からです。
IoT をメインで支援されているとのことですが、この領域にはずっと携わられていたのですか?
Jun:
IoT の話でいうと、工場での仕事が最初の出会いにあたります。その頃はまだ IoT という言葉がなく、生産設備も狭い範囲でしか通信が行わないような環境でした。インターネットへの通信はないものの、センサーや設備同士が繋がっており、それらの構築や保守をしていた経験や知識が、今の仕事でも役に立っています。そのような経験があったことや DIY が好きなこともあり、小学生向けに Arduino を使ったイベントを支援したり、JAWS-UG の IoT 専門支部というグループの運営をしたりと、仕事で触れる機会はなくても IoT の技術に接する機会が多くありました。
Jun さんの IoT のおすすめの勉強方法について教えてください。
Jun:
これから始める方で幅広く IoT 周辺のことを知るという意味ではこちらの「IoT の基本・仕組み・重要事項が全部わかる教科書」の書籍を読まれるのが良いと思います。IoT ではデバイスが登場しますが、そこで動くソフトウエアが組み込みソフトウエアと呼ばれます。Web の開発とはまた違った領域ですので、どのような登場人物があるかは、こちらの書籍「今日からモノ知りシリーズ トコトンやさしい組込みシステムの本」を読むとわかりやすいと思います。実はAWSでも builders.flash という Web マガジンで IoT を使ったソリューションを多く取り上げていますので、こちらの記事を読んでみるのも AWS との組み合わせ方などの学習に良いと思います。
ただ、やはり IoT ではデバイスを利用するため、実際に手を動かすことが重要と思ってます。そしてデバイスを触っている時がいちばん楽しいので、まずは何か作ってみるのがオススメです。特に Raspberry Pi のように Linux ベースのデバイスも多くありますので、EC2 など触ったことがある方や、Python のような言語が使える方には、かなりハードルが低く始められると思います。そして、1時間だけ動かすだけではなく、長期間動かしてみると、さまざまな課題も見えてくるので、長期的にデバイスを運用してみると良いかと思います。
2023 の DevDay で「家で楽しむ IoT」という内容のセッションで、実際に家で試していることを紹介していますので、何かのヒントになればいいかなと思います。
また Web サービスなどと違い、IoT ではさまざまなネットワーク回線が利用されたり、電源が不安定など、基本的には不安定な稼働が想定されます。心構えとして、そのような不安定な環境での動作を前提としたアプリケーションの設計を心がける必要があります。
IoT でシステムを組む際に意識すべきポイントはありますか?
Jun:
一般的な Web サービスやスマホアプリと違い、IoT で利用されるようなデバイスは、どのような環境で利用されるかわかりません。例えば、一般的なアプリではソフトウエアのアップデートをしたいとなった時、クラウド上でデプロイしたり、プラットフォームを通してアプリのアップデートを行うことが容易です。しかし、IoT デバイスは人のアクションを介さないため、何かあった時の運用を考えたシステム設計が重要になってきます。そのためにはネットワーク越しに更新できる OTA のような仕組みを導入すると、長期的な運用や機能追加が行えるようになります。
AWS の Blackbelt オンラインセミナーで公開されている、AWS IoT 活用シリーズを見ていただけるとさまざまな視点での注意点など学ぶことができますので、こちらのシリーズを見ていただくと良いと思います。
AWS の IoT に関するサービスとその学習方法について教えてください。
Jun:
AWS が提供する IoT サービスは数多くあり、それぞれが違う役割を持っていますが、いくつかのグループに分けることができます。1つ目は、IoT デバイス上で動作するサービス/ SDK。2つ目が IoT デバイスのデータを収集するサービス。3つ目が、IoT デバイスから収集したデータを活用するサービス。最後が特定の用途に特化したサービスです。
- IoT デバイスで動作するサービス
- FreeRTOS:20年以上利用されてきた、リアルタイム OS。マイコンのような小さなハードウエアで利用されます。
- AWS IoT Greengrass:アプリケーションの管理をしてくれる Linux/Windows 上で利用できるソフトウエア。エッジで機械学習の推論を行なったり、他のデバイスとの通信を行うなど、複雑なアプリケーションを実行するようなデバイスで利用されます。
- AWS IoT Device SDK:さまざまなプログラミング言語、プラットフォームに用意されている SDK。さまざまなデバイス上で利用可能なため、組み込みデバイスから産業用 PC など幅広い環境で利用されています。
- IoT デバイスのデータを収集・管理するサービス
- AWS IoT Core:IoT デバイスに対してクラウドの入り口に当たるサービス。認証から大量のメッセージを処理することができ、多くの IoT のユースケースで利用されています。
- AWS IoT Device Management:大量のデバイスを管理するために便利な仕組みを提供します。ファームウエアの更新やデバイスの管理で活用されます。
- AWS IoT Device Defender:デバイスをよりセキュアに保つための仕組みを提供しているサービス。クラウド側だけで完結するものや、デバイスから収集したデータを使う監視を提供します。
- IoT デバイスから収集したデータを活用するサービス
- AWS IoT Events:デバイスの状態の遷移をローコードで実現する処理を提供します。
- AWS IoT Analytics:大量に収集される IoT データに対して利用できる ETL の仕組みを提供します。
- AWS IoT TwinMaker:デジタルツインを作成したいときに利用できるサービスです。
- 特定の用途に特化したサービス
- Amazon Kinesis Video Streams:カメラの映像の収集・保存、閲覧をおこなう仕組みを提供します。また、WebRTC を利用した遅延の小さい映像の送受信の仕組みも提供します。
- AWS IoT SiteWise:産業用の設備からのデータ収集を対象としたサービスで、AWS IoT Greengrass と組み合わせてデバイス上で利用できる機能と、クラウド側の機能を提供します。
- AWS IoT FleetWise:コネクテッド・ビークルで利用可能な、車載ネットワークを流れるデータの収集ができるサービス。
- AWS IoT ExpressLink:クラウドとのコミュニケーションに必要なセキュアな通信の仕組みを提供。既存のマイコンから利用することで、製品を IoT 化することができるサービスです。
AWS のサービスは数多くありますが、IoT だけでもこれだけたくさんあります。まずは何を目的にするのかユースケースの要件を洗い出したうえでサービスを選択していくことになります。
他にも IoT に関するおすすめのコンテンツを載せておりますので、ぜひご覧ください。
- おすすめのコンテンツ
- IoT の開発を始めよう!AWS IoT 初学者向けの勉強方法 6ステップ!
- ワークショップ
- AWS IoT Core 初級ハンズオン:AWS IoT Core の基本が学べるハンズオンです。まずはこちらを体験していただくのが良いと思います。
- IoT の ワークショップリスト:公開されているワークショップのリストで、学びたいサービスやユースケースに合わせてワークショップを選んでください、
- オンデマンド動画
- AWS IoT 関連の 再生リスト
- ユーザーグループの情報
Amazon WoW Careersについて
Amazon WoW Careers は、IT 技術職で働かれている方とアマゾン・アマゾン ウェブ サービス( AWS )社員(技術職リーダー・リクルーター)を繋げるネットワーキング・プラットフォームです。
・IT技術職で働かれている主に女性の方
・技術職に興味があり、これから学びたいと考えている女性の方
上記いずれかに当てはまる方、Amazon WoW Careers の取り組みにご興味のある方はぜひこちらのウェブサイトにお越しください!