Edgeのアップデート – 時から分へ – プレビュー
JFrogでデベロッパーアドボケイトとして活動しているKat Cosgroveです。以前はJFrog IoTチームでエンジニアをしていました。私たちの目標はDevOpsをエッジデバイスまで行き渡らすことですがデバイスへのアップデートは以前ほど難しくなくなっています。この目標を達成するために組み込みLinuxデバイス用のCI/CDパイプラインに取り入れることができるたくさんの興味深いソリューションを見つけ、最終的にはこれらのいくつかを利用して、お客様にご紹介できる環境を構築しました。
特に異なる機能を持つデバイスを扱う場合、問題を解決するのは非常に困難ですが、このようなシステムの多くの問題点に対処するために実装できるツールや設計戦略があります。まず、内容を確認しましょう。エッジデバイスは正確にはどのくらいのサイズなのでしょうか?
「単純な」センサーのエッジデバイスと、よりスマートなものやゲートウェイも含めてすべてを数えてみると、今日のエッジデバイス数は推定で204億個にも上ると言われています。多いように見えるでしょうか?確かに私が思っていたよりもずっと多い数でした。今、これらのデバイスのアップデートはどのように行われているのでしょうか?
それらの中には使い捨てのデバイスや実質的には一度限りの利用で更新できないものもあります。壊れた場合は交換する必要があります。デバイスの多くは、やや扱いづらい方法でアップデートされています。時間を要するか、それをサポートするためのインフラが複雑であるか、ワイヤレスでは不可能で物理的なアクセスが必要になることでメーカーはコストを要し、ユーザーはイライラさせられます。とはいえ、この業界はまだ活況を呈してますが、なぜそれを変更するために時間と労力を費やすのでしょうか?
- 私たちの生活はエッジコンピューティングとIoTへの依存度が高まっており、コンシューマー、工業、小売、医療業界ではデバイスが多数利用されています。利用者はソフトウェアのアップデートのために長時間待ちたくなく、デバイスをコンピューターに接続してアップデートしたくもありません。
- 不定期または存在しないソフトウェアのアップデートが頻繁に実施されるなど、その理由に関わらず、どのネットワークにおいてもエッジデバイスは深刻なセキュリティの脆弱性をもたらします。パッチが適用されていないソフトウェアが問題であることは誰もが理解しています。これはユーザーやクライアントのデータを悪意のある第三者に公開することから、利用されているデバイスに対してボットネットや暗号通貨マイニングにて何かが実行可能であることを意味しています。これは既に大規模に行われており、今現在も実行されています。医療機器の安全性への影響はさらに甚大です。
- 多くのエッジデバイスはまだそれ自身で更新できるようには設計されていません。これらのデバイスは壊れるまで同じソフトウェアが実行されるようになっています。これらのデバイスの「アップデート戦略」はそれらを上書きすることですがこれは危険です。バグのないソフトウェアを書くのはどの程度の頻度で可能でしょうか?QAチームがすべてのエッジの問題を見つけることができるでしょうか?平均で1,000行のコードに対して1~25個のバグが存在しますので、そのような自信を持つべきではありません。バグは本番環境でも発生しています。コードが完璧であるとは考えてはいけません。
つまり、これらのデバイスは各種のマーケットで急速に増加しており、最悪の場合はアップデートできないという状況となっています。これは私たちの生活のほぼすべてにおいて潜在的なセキュリティの脆弱性や障害が発生する可能性があることを意味しています。このように考えれば修正する労力を費やす価値があることは明らかです。
数時間から数分で車のソフトウェア・アップデートを行うために構築したシステムの詳細はJFrog’s virtual SwampUp!の”Updating the Edge”をご覧ください。