工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> モノのインターネットテクノロジー

DevOpsを使用した組み込みソフトウェアの課題への対処

DevOpsは、より多くのアプリケーションと新機能に対する組み込みソフトウェア市場の需要を満たすための最良の方法と考えられており、すべてがより短い時間で利用可能になります。

組み込みデバイスソフトウェア開発のための完璧な嵐が吹き荒れています。組み込みデバイスは、特に5Gなどの新しい接続オプションによって革新的な接続デバイスアプリケーションが可能になり、新しい分析機能と人工知能機能を利用してその使用が拡大しているため、急増しています。同時に、進化するサイバー攻撃への対応など、デバイスのライフサイクルのニーズにより、ソフトウェアの変更を迅速に作成して展開する必要があります。

これらの条件は、開発および運用スタッフに新たな要求を課します。ますます、DevOpsは、より多くのアプリケーションと新機能に対する市場の需要を満たすための最良の方法と見なされており、すべてがより短時間で利用可能になっています。 RTInsightsは最近、WindRiverの製品管理担当シニアディレクターであるGrahamMorphewと話し合いました。組み込みデバイスソフトウェア開発の課題、従来の環境と組み込みデバイスのDevOpsの違いなどについて説明しました。

これが私たちの会話の要約です。

RTInsights:組み込みデバイス向けのDevOpsは、ソフトウェア開発に対する従来のDevOpsアプローチとどのように異なりますか?

モーフ: ITエンタープライズベースの環境で従来のDevOpsを見ると、ユビキタスな実行環境があります。クラウド内のIntelサーバーで実行しているか、IntelPCで何かを実行しています。 Embeddedは非常に異なります。最終実行環境は通常、開発に使用しているアーキテクチャとは異なるアーキテクチャです。エンドハードウェアの多様性とそれらへの展開方法のために、さらに多くの課題があります。たとえば、クラウドベースの環境向けのソフトウェアを構築している場合、それがGoogle Cloud、Azure、またはAWS環境で行われていることがわかります。組み込みソフトウェアを構築する場合、展開環境の選択肢はほぼ無限であり、リモートロケーションにデバイスを配置することもできます。

そのため、ソフトウェアについての考え方や、これらの違いがDevOpsの実装上の課題にどのように反映されるかという点で多くの違いがあります。

特殊なハードウェア、クロスコンパイル、クロスデバッグ、メモリフットプリント、およびセキュリティの問題に対処する必要があります。クラウド環境の場合のように、指先でほぼ無制限のリソースを利用することはできません。これらのシステムを設計する際に留意する必要のある実行の島があります。心配するセキュリティもあります。デバイスのセキュリティを物理的に制御できるとは限りません。デバイスの物理的な改ざんに対処する必要がある場合があります。

もう1つの課題は、これらのデバイスからのデータを収集するのがより難しいことです。 DevOps環境では、継続的なフィードバックループが必要です。自分の管理下にあるサーバーで開発を行う場合、これは簡単です。デバイスについて話しているとき、デバイスはリモートで配布される可能性が高く、常にオンラインであるとは限りません。そのため、組み込みソフトウェアの従来のDevOpsとDevOpsを比較すると、さまざまな問題が発生します。

RTInsights:組み込みデバイスコミュニティがDevOpsに移行するのはなぜですか?なぜそれが説得力のあるものになり、これを推進するために市場で何が起こっているのでしょうか。

モーフ: 組み込みソフトウェアでは、より頻繁な更新とより高い品質に対するニーズが高まっています。そこにたどり着くには、途中であなたを助けるための自動化が必要です。自動化は、DevOpsand組み込みソフトウェアの将来において大きな役割を果たします。 10年か2年前に戻ると、デバイスの機能を駆動するハードウェアに多くの焦点が当てられていました。現在、デバイスベンダー間で差別化されているテクノロジーの多くはソフトウェアです。

企業を組み込みシステムのDevOpsに向かわせるもう一つの要因は、Wind Riverでよく見られることです。それは、ソフトウェア開発の人口動態の変化です。

2つの非常に異なるキャンプがあります。従来の組み込みソフトウェア開発者と新卒者または開発者が、他のソフトウェアドメインからインテリジェントデバイスのドメインに参入しています。従来の開発者は年をとる傾向があり、多くは引退しています。私のように、ハードウェアのマニュアルやプログラムのレジスターなどを見るときに大学を卒業して市場に参入した人もいます。これは、大学のプログラムが今多くの時間を費やしていることではありません。

私には今大学時代の息子がいます。彼はPythonでプログラミングしています。彼は初めてCを学びましたが、それは大きな目を見張るものでした。Pythonははるかに高いレベルの抽象化を提供します。

DevOpsは、アプリケーション環境と、デバイスソフトウェアの開発者にとってなじみのある環境のように見せたいとの間のこの障害を克服するのに役立ちます。これを行う必要があるのは、デバイスを構築している企業が新しいソフトウェア開発タレントを取得するのに苦労していることです。

最近、私たちがインターンとして雇った人と話をしましたが、彼のクラスメートの多くは、シリコンバレーに行き、Facebook、Google、Apple、Teslaなどの企業で働きたいと言っていました。産業または航空宇宙および防衛分野の企業にとって、初歩的なC環境で組み込みデバイスをプログラムするために必要なソフトウェアの才能を引き付けることは、より困難な場合があります。

これを克服するために、一部の企業は、新世代のソフトウェア開発者に慣れ親しんだ環境を提供することが役立つと考えています。そして、それがWindRiverがVisualStudioCode環境を採用している理由の1つです。 Visual Studio Codeは、市場に登場して以来、人気が急速に高まっている環境です。新しい卒業生の観点から話を聞いたすべての人は、VS Codeに非常に精通しており、Eclipseなどの古い環境を使用する新しい開発者の経験は少なくなっています。そのため、視聴者がすでにいる場所にいる必要がある場合があります。

RTInsights:企業がDevOpsソリューションを採用しようとすると、どのような問題が発生しますか?そして、組み込みデバイスの領域と他のドメインの主な課題は何ですか?

モーフ: 最大の課題は、企業内で発生しなければならない文化の変化です。そして、これは必ずしも埋め込まれた特定の課題ではありません。これは、一部のソフトウェア開発プラクティスにより深く根付いています。

あなたには小さなチームがあり、多くの場合、非常に特定のタスクを実行する個人がいます。 DevOpsとのある程度の協力と協力が必要です。これにより、人々は何年にもわたって快適になった領域から外れることがあります。 「みんなが一緒に働いている」と言わなければなりません。

クラウド向けの従来のDevOps環境では、Opsisはかなり標準的であるため、組み込み向けのDevOpsのOps部分は挑戦的です。ウェブサイトを運営しているか、クラウドベースのインターフェースを介して何かを実行するアプリケーションを開発しています。組み込みについて話しているときは、現場のデバイスについて話していることになり、そのデバイスの機能は会社に固有のものです。多くの場合、デバイスの製造元はデバイスを操作している会社ではありません。機器メーカーは、そのデバイスを大手電気会社または大手メーカーに販売している可能性があります。それらの会社は、デバイスを操作している会社です。デバイスメーカーからの支援がある場合もありますが、クラウドベースのソリューションで見られるような完全な閉ループではありません。

ツールセットの互換性の問題があります。共通の開発環境を持つと、抵抗に遭遇することがあります。つまり、これらのシステムを実装するために必要な文化的および管理的支援の一部に戻ります。

そして、再びハードウェアの問題があります。これは、組み込み市場で共通のテーマです。 DevOpsを現実のものにするために必要な自動化環境を構築するのに十分なハードウェアをどのように入手しますか?それは継続的な課題です。通常、成功した顧客は、テストプロセスをスケールアップするためにハードウェアとシミュレーションを組み合わせています。

RTInsights:DevOpsへの移行を容易にするツールはありますか?

モーフ: 企業がこの革命を乗り越えるのに役立つことの1つは、ツールの可用性です。これらのツールの多くはオープンソースであるか、無料バージョンがあります。よく目にするのは、ソースコード管理のフレーバー、多くの場合Gitのフレーバーを中心とした統合でした。現在、組織は、非常にソースコード管理中心のソリューションから、ソリューション内にますます多くのDevOpsタイプのツールを含めるようになっています。これは、企業が移行するのに役立ちます。

選択肢はたくさんあります。選択肢が多すぎると主張することもあるでしょう。お客様が今抱えている課題は、そうです、多くのツールがあります。それらをまとめて、自分に合ったソリューションにするにはどうすればよいですか?

今日、多くの企業は、よりデジタルに焦点を合わせた開発環境への移行を管理するために、社内でチームを編成するプロジェクトを開始しています。他の技術的な移行で見たように、埋め込みスペースで現在移行が発生していることがわかります。多くの場合、「私たちに最適なシステムを構築しましょう。ニーズに合わせてカスタマイズしましょう」という自作の考え方です。そのような努力は、これらを今後も維持するためだけに、会社からますます多くのリソースを浪費しています。それは必ずしも彼らが投資したい場所ではありません。そのアプローチは、人々が別の会社に時間の経過とともにより多くの環境を維持させたいと考えているアプローチに発展する可能性があります。

最終的に企業が生活を楽にすることができるもう1つの分野は、アプリケーション開発と、実行しているソフトウェアプラットフォームの保守を明確に分離することです。以前は、両方のことを行う小さなチームがあり、アプリケーションとプラットフォームが相互に統合されていました。しかし今、ソフトウェアをモジュール化し、人々に最高のスキルを持っていることに取り組んでもらうには、その明確な分離が必要です。

RTInsights:組み込みデバイス用のソフトウェアの開発とテストを容易にするソリューションの業界ドライバーは何ですか?

モーフ :ITとOTの世界の収束があります。デバイスがインターネットに接続されています。これは、企業がソフトウェアの提供方法を​​再検討するための大きな推進力となっています。また、デバイスのソフトウェアを更新するためのコンプライアンス関連の要件がある業界がいくつかあります。医療分野では、セキュリティの脆弱性が判明した場合にデバイスを更新できることを証明する必要があります。これは生死のシナリオである可能性があります。誰かが出てきたら、そのような問題に対処できることを証明できる必要があります。

このような推進要因により、企業はリモートアップデートを実行する能力に関して使用しているプロセスを検討するようになります。私たちが目にしているのは、多くの大企業がこれらのデジタルネイティブの新進気鋭の企業からの脅威を感じていることです。彼らがそれを説明するために使用する用語さえあります。テスラフィケーションという言葉が聞こえます。彼らは、ハードウェアに関連するレンガやモルタル、鉄鋼、鉄のタイプの考え方とは対照的に、テスラのようになり、非常にソフトウェアに焦点を当てたビジネスである必要があると言っています。ますます、構築しているもので実行されるソフトウェアで製品を差別化する必要があります。

パンデミックもこの傾向を加速させています。ソフトウェアに焦点を当てた労働力のほとんどは自宅で仕事をしています。そして、多くの場合、これが終わった後、かなりの数の従業員がオフィスに戻ることはありません。それは大きな変化です。したがって、開発者にとってその状況を生産的にするための作業についての考え方を変える必要があります。それは挑戦です。多くの人が顔を合わせて作業し、従来の方法で共同作業を行う必要がないため、コラボレーションツールの追加と、作業方法の標準化がある程度求められます。

RTInsights:別の問題に移りますが、なぜソフトウェアの高速反復がすべての業界で重要で競争上の優位性になっているのでしょうか。そして、それは自動テストの必要性とどのように関連していますか?

モーフ: ウォーターフォールモデルからより機敏なモデルに移行したいくつかのプロジェクトを経験しました。継続的テストを実行するその能力、自動テストは、生産性を向上させるという点で制限要因となることがよくあります。速く走るつもりで、それでも品質を維持したいのであれば、それは必要です。これは、エンドデバイスのデジタルツインを使用することで多くのテストを実行できる特定の領域であり、大規模に実行できます。

DevOpsが組み込みに適用可能であるという点で私たちが目にする大きな進歩の1つは、組み込みデバイスのシミュレーションを取得し、それをクラウドベースの環境で大規模に使用する機能です。このようにして、100個のテストを同時に実行できます。クラウドリソースによってのみ制限されます。これは、多くの企業が経験している変革の1つであり、最終的には非常に高く評価されています。

WindRiverでは長年シミュレーションビジネスを行ってきました。初期の採用者の中には、サーバー上でこれを多く実行し、多数のシミュレーションをスケールアップしていたものもありました。ただし、クラウドに移行する場合、6か月ごとに新しいサーバーを購入する必要はありません。

使用しているハードウェアの種類とその量を制御できます。大規模なハードウェアやITチームがそれを維持するための設備投資を行うのではなく、いつでも必要なものに応じてダイヤルアップおよびダイヤルダウンできます。現在、バランスまたは一種のハイブリッドクラウド環境が見られます。テストの一部はオンプレミスでローカルに実行され、一部はパブリッククラウドで実行されます。

RTInsights:他に取り上げたいポイントはありますか?

モーフ: DevOpsについて話し、組み込みソフトウェア開発をよりクラウドネイティブでクラウドに焦点を合わせた環境に移行することについて話すとき、私が製品マネージャーとして個人的に見た大きな変化がいくつかあります。

その1つがコラボレーションです。 Linuxビルドを完成させようとしていました。私は実績のあるLinuxエンジニアではありません。ビルドを正しく機能させるのに問題がありました。そして、私がこれを行っている間、私たちのLinuxソフトウェアアーキテクトの1人は、私がいくつかの失敗したビルドを持っていたことを知ることができました。そして、彼はインスタントメッセージングアプリを介して私に連絡し、「ねえ、あなたが問題を抱えているのを見ました、私は見ました、そしてあなたはただ設定を切り替える必要があります、そしてあなたは元気になるでしょう。そして、私は先に進んで、あなたのためにそれを修正しました。」

PCにソフトウェアがインストールされている別の環境で開発している場合、問題が発生していることを誰も知りません。外に出て聞いてみないと。また、私はおそらく同じシナリオを再現することはできないでしょう。おそらく、私は一日中立ち往生していたでしょう。そして、私はしばらくしてあきらめたかもしれません。したがって、ローカルにインストールする必要のないソフトウェアにすばやくアクセスでき、一般的なサンドボックスで再生できることは、基本的にこれらの種類を持っていることから、このチェンジショーがどのように機能するかについて大きな目を見張るものでした。チーム間で共有される資産の数。

RTInsights:他に何かありますか?

モーフ: それほど遠くない将来に期待していることの1つは、デバイスからデータを取り出し、開発環境からデータを取り出し、それをフィードバックしてソフトウェアを改善するデジタルフィードバックループを用意することです。 AIと機械学習もこれに関係しています。これらのデバイスからどのような情報を取得できますか?モデルまたはエンジンの大規模なクラウドスケールのビッグデータタイプで潜在的に分析し、それを将来のソフトウェア開発にフィードバックするにはどうすればよいですか?これは、システム全体を最適化するのに役立つ可能性があります。


モノのインターネットテクノロジー

  1. クラウドでDevOpsを使用するための9つの効果的なベストプラクティス
  2. DevOpsサービスでクラウドを使用する利点
  3. 無線による更新:5つの典型的な課題と解決策
  4. テキスト文字列は組み込みソフトウェアの脆弱性ですか?
  5. 保守作業指示書ソフトウェアの使用
  6. 解決された問題:IoTテクノロジーを使用したスケーラブルな生産
  7. IOTデバイスのソフトウェアテストの課題
  8. 製造のための予防保守ソフトウェアの使用
  9. コンビネーション旋盤は旋盤の課題に対処します
  10. 製造業における採用の課題に取り組むための創造的思考
  11. 組み込みソフトウェアはハードウェアサプライチェーンの性質を変えています