Amazon Web Services ブログ
IoT@Loft #23 スマートプロダクトの最適化と改善
こんにちは、インダストリーソリューションアーキテクトの山本です。
2021年11月10日に開催されたIoT@Loftの23回目「スマートプロダクトの最適化と改善」の内容を紹介させていただきます。
2019年から開始したIoT@Loftですが、スマートプロダクトは当初から取り上げてきた話題になります。スマートプロダクトは製品を介してお客さまとつながり、魅力あるサービスを提供して収益を得る存在になりつつあります。IoT@Loftの内容も、プロジェクトの立ち上げ、コネクティビティの確保といった内容から、出荷後に製品を更新し、改善するための仕組みといった内容へと深まりつつあります。今回のIoT@Loftでは横河電機様の「amnimo」、カシオ計算機様の「Runmetrix」という著名なスマートプロダクト&サービスの改善や最適化されている技術者の方より実際の取り組みを共有いただき、AWSからもプロダクトやサービスの役立つ様々なサービスをご紹介しました。
IoT@Loft とは ?
IoT 関連ビジネスで開発を担当するデベロッパーのためのイベントです。IoT の分野は、「総合格闘技」と呼ばれるほど、必要な技術分野が非常に多岐に渡ること、ビジネスモデルが複雑なケースが多く、全体を理解することは難しいと言われています。その結果、実証実験 (Proof of Concept : PoC) から商品への導入が進まないケースや、PoC でさえ十分に実現できていないケースも多々あります。
IoT@Loft は、そういった IoT 特有の課題と向き合い、情報共有・意見交換を行う場として、参加者の事業や製品開発を成功に近づけることができれば幸いです。この勉強会では、膨大な IoT 関連の情報の見通しを良くするために、各回ごとにテーマを定め、それに沿った形で登壇者に事例や技術のご紹介をいただきます。テーマは、インダストリー、ソリューション、テクノロジー、開発フェーズなどを軸に決めていきます。
IoT@Loftについて詳しく知りたい方は以下の記事をご覧ください。
また、下記のConnpassのグループに入っておくと、次のイベントの通知や、登壇資料の通知が受け取れますので、ぜひご参加ください。
各セッションの紹介
ここからは各セッションについてのサマリと、資料と当日のQ&Aについてご紹介いたします。
Topic1 横河電機株式会社様「6か月でローンチしたIoTビデオ監視サービスを支えるDevSecOps」
横河電機株式会社
MK本部アムニモ事業センター開発部クラウド開発課
植原 正太 氏
横河電機様は、既存の制御システムを主力とするビジネスからの変革のため、amnimoブランドでクラウドサービスやサブスクリプションのビジネスモデルで提供し、リーンスタートアップ型の開発を進められています。
今回ご紹介いただいたのは、LTE通信対応のエッジゲートウェイに接続した監視カメラとクラウドを組み合わせたビデオ管理システムで、複数台のカメラの監視業務を遠隔の端末から行うことができます。エッジで検知されたアラーム情報を元に録画ファイルを遠隔から検索・視聴したり、遠隔からカメラのPTZ制御や設定変更などの操作することができます。
また、デバイスを遠隔管理するために、各ゲートウェイを遠隔から一括管理するための仕組みも提供しています。
信頼されるシステムを提供するために、DevSecOpsの取り組みを実践し、組織的な改善活動を行っておられます。横河様の考えるDevSecOpsでは、セキュアで安定したソリューションを提供しつつ、開発チームが価値創造に集中できることで、そのためにDevSecOpsチームを創設し、複数のプロジェクトを横串で横断すると共に、要件分析から運用までのあらゆる段階に携わっています。
当初他のクラウドプラットフォーム上でのソリューション提供が行われていましたが、ビジネス戦略の転換によりIoTビデオ監視を主軸とし、また商機に乗るための短期間でのソリューション開発が必要になりました。AWSには今回のソリューションのコア技術として使えるAmazon Kinesis Video Streamsがあることから、AWSへの移行を決定されました。DevSecOpsチームは、開発プロセスの自動化、環境構築とセキュリティ向上の取り組みを開始されました。
開発プロセス自動化の観点では、以前のプラットフォーム上では開発者自身が設定を行っていたため、市場障害が発生したことがありました。AWS上では、アクセス管理の厳格化と共に環境構築をCI/CDのパイプラインに組み込むことで自動化を図っています。
環境構築の観点では、過去にはドキュメントベースでの環境構築を行っていたために、工数が増大するとともに、ヒューマンエラーによりセキュリティなどの障害が多発していました。今回、AWS上ではInfrastracture as Code (IaC)を取り入れ、人的なプロセスの排除を行いました。IaCの実現方法には様々な選択肢がありますが、利用料が安く様々なリソースを管理することができる Cloud Formationを選択されました。
セキュリティ向上の観点では商用サービスとしての強固なセキュリティ確保のためにCI/CDの中にコード/イメージ/動的スキャンなどを開発サイクルへ組み込むとともに、それによるセキュリティ作り込みの文化を醸成しました。また、横河電機様のIT部門が指定する厳しいサービスコントロールポリシーに準拠する必要があります。最小限の機能から実現し、クラウドの柔軟性を活かして段階的なアプローチでセキュリティ対策を向上するサイクルを廻しています。
今後の取り組みとして、今回のカメラソリューションで実現した「眼」に、「頭脳」となるAIを備えたソリューションをクラウド、エッジ両面で、パートナーの企業の方とも協業しながら提供していくとのことです。
Q&A
Q: DevOpsのチームが組織としてあるとのことですが、それができるきっかけや目標は何だったのでしょうか?
A: 以前は開発エンジニアがDevOpsに近いところを担当していましたが、CI/CDパイプラインのメンテナンス、セキュリティ担保のサイクルは機能作り込みとは方向性が少し外れており、工数がかかって開発が遅くなっていました。このため専任チームを作って開発の効率を上げることにしました。
Q: デバイスのソフトウェアやAI部分のCI/CDも実施されているのでしょうか?
A: DevOpsチームとしては現状ではクラウド側でのCI/CDの取り組みを実施しています。ファームウェアなどはハードウェア側の別のチームで担当しています。
Topic2 カシオ計算機株式会社様「Runmetrixシステムにおけるサーバレス化への取り組み」
カシオ計算機株式会社
スポーツ健康インキュベーションセンター サービス開発部 第二開発室 室長
神田 祐和 氏
カシオ計算機様は、スポーツ・健康領域において、自社の強みとパートナーシップを活かした新規事業として、ランナーに走る楽しさをもっと感じてもらうための製品 Runmetrix をアシックス様と共同開発し提供されています。ランニングを始めてもやめてしまう人が多く、個人に適切なアドバイスをすることが非常に重要です。Runmetrixのモーションセンサーデバイスや G-SHOCK、スマホを身につけて走ることにより、フォームの分析・可視化や、推奨するトレーニングなどのパーソナライズされた助言を受けることができます。
Runmetrixではデバイスがスマホと連動し、スマホからサービスに対してデータを送信し、ユーザーはスマホアプリ上から様々なサービスを利用します。
システムは、多数のクライアントがアクセスし、ピーク変動が大きく、迅速なレスポンスなど、コンシューマーデバイスに特有の特徴を持ち、数百万ユーザーのサービスへの拡大も構想されています。またユーザーの利用状況により開発する機能も変化していくため、開発と運用を一体化するDevOpsの体制を取られています。
まず、開発者になじみのあるスキルでテスト版のアーキテクチャを構築し早期に価値検証を行いました。しかし本番化を見据えると、負荷変動時への対策や、今後のユーザーの増加に対するAmazon RDS中心のデータ格納のコスト面の課題も明らかになりました。そこで、サーバレスアーキテクチャの検討に着手しました。
カシオ様にとってサーバレスは新しい技術領域であり、コードの修正量や、RDSの活用、コールドスタート、同時起動数の制限解除などについて懸念があり、そして3ヶ月後のサービスインにアーキテクチャ変更が間に合うのか、といった多くの懸念がありました。
懸念を一つずつ解決し、このようなアーキテクチャを採用しました。演算処理をAWS Lambdaに統一し、Lambdaの実行時間を短く最適化することで同時実行数も抑えています。データの格納にはAmazon RDS (Aurora)とAmazon DynamoDB, Amazon S3を組み合わせて容量やアクセス速度の要求に応えています。
実際に開発した結果、サーバレス化のハードルは思ったより低く、運用が非常に楽になりました。またコストも低く抑えられています。ベストプラクティスとしては、エラーの発生をあらかじめ想定しておき監視や通知などの仕組みと併せて提供する必要があります。
さらに、Walkmetrixというウォーキングの質を高めるための新しいサービスも開発することになりました。このサービスはスマホでも利用可能で、Runmetrixと同じユーザーが複数のサービスを利用することから、ユーザーデータなども共有することが望ましく、機能面も共通部分があります。開発はわずか半年という短い期間で、Runmerixの改善と並行して行われました。Lambdaの特徴を活かすことで、同じアーキテクチャに素早く新機能を追加することができ、運用が楽になったことにより開発も推進できました。
アーキテクチャの改善はこれで終わりではなく、今後も改善を継続していきたいとのことです。
Q&A
Q: サーバレスの場合エラーが発生した場合、複数のサービスに渡って調査が必要になると思いますが、工夫されている点はありますか?
A: ログの吐き方を工夫し、IDで横断して調査ができるようにしています。基本的にはAmazon CloudWatch Logsを活用しています。
Q: 動いているプラットフォームのアーキテクチャを改善するため、切り替えるときのリスクを下げるための施策、たとえばBlue/Greenデプロイなどの取り組みはされていますか?
A. CI/CD についてはAWSのCodeシリーズの3つのサービスを使っており、Blue/Greenデプロイの設定も行っています。
Q: 開発期間が短いということで、デバイス側の仕組み、スケジュールの調整など大変な部分もあると思いますがいかがでしょうか。
A: 実際は非常に大変で、同じチーム内に組み込みのチームがおり頻繁にコミュニケーションしました。どうしてもHWの方が先行するため、ログフォーマットを決めて進めましたが、実際に届いた中身が想定外といったこともありました。CI/CDの中で、エラーがあった場合にSlackで通知して、デバイス側のチームもすぐに対応できるようにしました。
Topic 3 : AWS「スマートプロダクトの最適化と改善に役立つAWSサービス」
アマゾンウェブサービスジャパン合同会社
ソリューションアーキテクト
飯塚 将太
AWSからは以下のトピックを実現するために役立つAWSサービスとその構成を紹介しました。
- デバイスやサービスの状況把握
- 機能追加・改善
- セキュリティ強化
- コスト最適化
- 運用・監視の負荷低減
上記のようなスマートプロダクトの最適化と改善を実施していくためには、まずはデバイスや運用しているサービスの状況把握をしなければなりません。これは、データを基に判断しアクションにつなげるためです。そのためにはまずはデータを収集、分析、可視化をしましょう。
サービスの状況把握に活用できるAWSサービスとして、Amazon CloudWatchとAWS IoT Device Defenderを紹介し、それらの活用方法と構成を説明しました。
デバイスの状況把握を実現するAWS構成としてPoC・開発時と運用時に分けて、収集・分析・可視化の構成を紹介しました。ポイントは、前者はすぐに簡単に始められること、後者は大量のデータを分析できるスケーラビリティを持っていることです。
また改善にあたって機能追加は実現したい項目の一つでしょう。そこでAWSで構築したIoTサービスにおいて、デバイス側とクラウド側それぞれの改善・機能追加を実現する方法を紹介しました。デバイスはファームウェア更新によって改善や機能追加を実現できますが、そのファームウェア配信にはAWS IoT Device Managementが持つジョブ機能を用いることができます。またクラウド側はAWS IoT Coreが持つルールアクションでデバイス側のコードを変更することなく簡単に機能拡張できます。
セキュリティ強化については、異常検出の方法やそこからの対応を自動化するためのAWSサービスや機能、構成を紹介しました。下の構成のようにAWS IoT Device ManagementとAWS IoT Device Defenderを組み合わせることで実現できます。
さらに本セッションでは、クラウド側のコスト最適化のための2つのポイントとして、メッセージの送信頻度を減らすこととAWS IoT Coreの基本的な取り込みを活用することを推奨しました。また運用・監視の負荷低減のため、マイクロサービス化、サーバレス化、クラウド環境やアプリだけでなくデバイスファームウェアのCI/CDを構築することをお伝えしました。
Q&A
Q: AWS IoT CoreのBasic Ingestを使うとどの程度安くなるのでしょうか?コストを安くするためにメッセージの送信頻度を下げる必要がありますか?
A: メッセージブローカーの課金部分がなくなるので、コスト削減幅はその割合に依存します。Pricing Calculaterでパラメータを入力して確認していただければと思います。
Q: IoT Device Managementのジョブ機能と、通常のMQTTのトピックとの違い、メリットは何でしょうか?
A: どちらもMQTTをベースにしていますが、通常のMQTTのメッセージではデバイス側が受け取ったあと、ファームウェア更新などといったアクションを実施したかどうかはわかりません。Device Managementのジョブを使うとこうしたステータスの監視確認ができます。一方一通当たりのコストは高くなるのでタスクの重さなどで両者を使い分けるのがポイントになります。
お知らせ
次回のIoT@Loftについて
2021年のIoT@Loftの開催は今回が最後になります。2022年の開催については現在計画中ですが、新しいイベントの企画次第こちらのサイトにて公開いたします。
関連製造イベントのご紹介
AWS の機械学習を使った製造業における業務活用(2021/11/25)
製造業のさまざまなシーンでAIの活躍が見受けられるようになりました。一方、作成したAIモデルを本番環境にて安定的に稼働するためには、MLモデルの精度評価を行い精度劣化が見られた場合にはモデルの再学習を行うことで継続的に精度を維持するMLOpsの仕組みが必要となります。本セミナーでは、AWSのテクノロジーを使った製造業での活用事例のご紹介いたします。こちらの開催は2021/11/25(木) 14:00 〜 16:00となります。イベントの詳細、申し込みはこちらのサイトからお願いします。
関連ウェブサイトのご紹介
日本のお客様向け AWS の製造業に対する取り組み
AWS では、日本国内に製造業を専門にしたチームを有し、国内のお客様におけるビジネストランスフォーメーションをご支援しております。こちらのサイトでは日本国内のイベント情報やお客様事例、登壇コンテンツなどをご紹介しています。ぜひチェックしてみてください。
https://aws.amazon.com/jp/local/manufacturing/
AWS IoT 開発者ポータル
IoT エンジニア向けに、IoT 関連の国内の事例やセミナーの情報、ハンズオンや学習のためのデジタルコンテンツなどを随時更新しています。ぜひ定期的にチェックしてみてください。
https://aws.amazon.com/jp/local/iot/
著者について
山本 直志 (Tadashi Yamamoto) 各業界のお客様のデジタル変革をお手伝いするインダストリーソリューションアーキテクトとして、特に製造業やスマートプロダクトに関連した新しい取り組みをご支援しています。 |
|
飯塚 将太 (Shota Iizuka) IoT ソリューションアーキテクト IoTのワークロードを持つお客様の技術支援しています。自宅のスマートホーム化が趣味です。 |