組込みDevOps: 組込み開発におけるCI/CDの実装

Feb 13, 2020 Linux

ミシェル・ジェナール

mgenard-5

DevOpsや最新の継続的インテグレーション/継続的デプロイメント(CI/CD)手法は、企業のソフトウェア開発で急速に採用されており、組込みの世界でも広まっています。

より複雑なシステムと速い開発サイクルが市場で求められるようになり、組込みシステムを開発する企業にとって、より効率的な開発手法を採用することが急速に必要となっています。しかし、たとえ無限の予算があったとしても、その仕事をこなすのに十分な知識・技量をもった適任のエンジニアは簡単に見つかりません。従来の組込み開発手法では、より効率的な開発手法を採用した場合のような利益を得ることはできないでしょう。

企業は、組込み向けのDevOpsプロセスの実装を実現し、サポートするソリューションが必要です。ウインドリバーのソリューションポートフォリオがどのようにこれを可能にするかをご紹介します。

「開発サイクルの高速化に対する市場の要求により、組込みDevOps手法の導入がより求められています」

組込み向けDevOpsを企業が導入する方法をご紹介します。

無料のeBook「 Realizing the DevOps Vision in Embedded Systems~組込みシステムにおけるDevOpsビジョンの実現~」を ダウンロードする

クイックレビュー: 組込み向けのDevOpsとは?

DevOpsは、ソフトウェア開発、IT、運用、品質保証(QA)の集大成となる手法です。この複合的なプロセスは、開発サイクルの高速化という組織のニーズに応えるために進化してきました。

1.    従来の開発:   従来の開発は、組込み向けDevOpsに含まれる、コードの記述、調整、テストの3つのプロセスに分かれていました。3つのプロセスを別々のチームが行うことは、「ウォーターフォール型」のソフトウェア開発手法ではうまくいきますが、今日の市場の要求を満たすにはスピードが十分ではありません。

2.  アジャイル手法: アジャイル手法は、より迅速なペースで新しいコードのリリースを行うことを可能にする、組込み向けDevOpsの新しいアプローチです。この手法は「DevOps」という名の下に、異なるプロセスとチームを統合する第一歩となります。

3.    継続的インテグレーション/継続的デプロイメント(CI/CD): DevOps手法の反復は、チームが新しいコードをかつてないほど速くプッシュし始めたときに開発されました。反復のたびにアンインストールや再インストールを行う必要はありません。CI/CDの手法を使うことで、機能を停止させることなく、コードを本番環境に配置することができます。

4.   DevSecOpsの完全統合: 開発チームが忙しくなり、新しいコードが定期的にリリースされるようになると、セキュリティリスクが高まります。DevOpsに、セキュリティをチームのワークフローの一部に含める必要があります。

「開発チームはセキュリティ要件を満たし、ダウンタイムを最小限に抑えて定期的にコードをデプロイする必要があるため、組込みDevOpsプロセスは進化を続けています」

組込み向けDevOpsとCI/CDの組み合わせ

企業は競争力を維持するために、DevOpsとCI/CDプロセスを効果的に実装する必要があります。これらの手法は技術的には別物ですが、企業の成功のためには、途中で異なるツールセットのサポートを受けながら、統合する必要があります。

width="450"

開発チームは、新しいコードをワークフローに実装する際に、リアルタイムでコラボレーションを行う必要があります。チームが利用する開発ツールやクラウドプラットフォームは、これらの手法を効果的にサポートする必要があります。

組込みDevOpsの課題

組込みシステムメーカーでは、組込みDevOpsの普及が進んでいます。これらの先進的なプロセスは、市場投入までの時間を短縮し、コラボレーションを改善し、より優れた製品を生み出すのに役立ちますが、多くの企業が導入を成功させるためにさまざまな課題を克服する必要があります。

DevOpsのビジョンを阻むもの

企業文化: 組込みでのDevOpsは、多数のチーム連携が必要です。企業は、こうした新しい手法を導入したいと言うだけではなく、管理プロセスやテクノロジースタックを効果的に移行する必要があります。

セキュリティの確保:アプリケーションのセキュリティ確保は困難なため、よりアジャイルな手法の実装の妨げになる可能性があります。実際に、リリース回数が増えるということは、攻撃対象領域が拡大し、リスクが高まるということです。セキュリティは、組込み開発プロセス全体にわたって導入される必要があります。

ツールセットの互換性: DevOpsプロセスは、組込みの世界ではまだ比較的新しいものです。多くの企業では、従来のウォーターフォール方式をサポートするように設計されたツールを今でも使用しています。組込みDevOpsとCI/CDプロセスを推進するためには、新しいツールセットを導入する必要があります。

ハードウェアへのアクセス:  従来の開発では、コードの作成と特定のターゲットハードウェアを結びつけていました。生産サイクルが短くなるにつれて、物理的なハードウェアを必要なときに迅速に準備することはほぼ不可能です。物理的なハードウェアに依存しない開発およびテスト方法が必要です。

width="450"

ウインドリバーで組込みDevOpsのアジャイルプラクティスを導入

ウインドリバーのツールポートフォリオは、組込みシステムの世界におけるDevOpsとCI/CDを可能にします。これらは、確立されたDevOpsおよびCI/CDワークフローを遵守しています。

・ Wind River LinuxVxWorksには、セキュリティ要件への対応を含め、プロトタイプから製品化までの迅速な組込み開発を可能にする開発・テストツールセットが含まれています。

・ Helix Virtualization PlatformWind River Studio Cloud Platformは、コードのデプロイメントを簡素化します。Helix Virtualization Platformは、エッジデバイス上のシングルコンピューティングシステムでアプリケーションの統合を可能にします。Wind River Studio Cloud Platformは、5Gをサポートするように設計された商用グレードのKubernetesソリューションです。

・ Wind River Simicsを使えば、シミュレーションに物理的なハードウェアは必要ありません。最も単純なシステムから複雑な相互接続システムまでシミュレートできるため、開発者、QA、運用チームのコラボレーションを促進し、プロセスをスピードアップすることができます。

「人的リソースの不足を解消するためにも、組込みDevOpsの未来をサポートするソリューションを導入しましょう」

ウインドリバーの製品ポートフォリオは、組込みシステム開発特有の要件をサポートし、DevOpsを促進するシステムとツールを提供します。人的リソースが不足しているようであればぜひご相談ください。インテリジェントエッジ向けソフトウェアをリードするウインドリバーとともに、組込みDevOpsの未来に踏み出しましょう。

これらのソリューションがCI/CDに関連する課題にどのように対応しているかについては、以下のeBookをダウンロードしてご覧ください。
「Realizing the DevOps Vision in Embedded Systems~組込みシステムにおけるDevOpsビジョンの実現~」を
ダウンロードする