検索
特集/連載

「Windows for IoT」と「Linux」を徹底比較 IoT用OSに最適なのはどっち?自社の要件を見極める7大ポイント

IoTデバイスの管理システムには、「Windows for IoT」「Linux」といったOSを導入することになる。自社の要件に合うのはどちらかを判断する基準となる、7つのポイントを紹介する。

Share
Tweet
LINE
Hatena

関連キーワード

Windows | Linux | OS | 統合運用管理


 複数のIoT(モノのインターネット)デバイスを管理するためのOSとしては、「Windows for IoT」や「Linux」などが一般的だ。デバイスごとの特性や用途に応じて、適するOSは異なる。自社の要件に合うIoTデバイス管理用OSを見極めるための、7つの判断基準を解説しよう。

IoTデバイス管理用OSを見極める7つのポイントとは?

基準1.既存システムとの連携

 1つ目に、IoTデバイス管理システムが、利用中の他のシステムやツールとどれだけ適合するのかという点が挙げられる。開発者や管理者がこれまで使い慣れたシステムやツールとは異なるものへの適応を余儀なくされる場合、慣れるまでには時間がかかるものだ。

基準2.料金

 Linuxには、複数のディストリビューション(配布パッケージ)がある。フリーソフトウェアライセンスを採用しているLinuxディストリビューションは、利用料が発生しない。一方、商用ディストリビューションを企業で利用する場合は、ライセンス料や保守サポート料が必要だ。

 Windows for IoTを利用するには、Microsoftからライセンスを購入しなければならない。IoTデバイス向けの「Windows 10 IoT Core」、サーバ用OS「Windows Server」をIoTデバイス向けに最適化した「Windows Server IoT」、企業利用向けの「Windows IoT Enterprise」など、種類によって料金やライセンス入手経路が異なる。

基準3.工数

 IoTデバイス用アプリケーションをLinuxで開発すると、利用できるライブラリ(プログラム部品群)やツールの幅が広がるが、開発者に求められる知識や開発工数も増えやすくなる。IoTデバイスで特殊なハードウェア制御をしない場合は、Windows for IoTを採用した方が開発工数を抑えられる可能性がある。

基準4.動作対象

 Microsoft製品を利用している企業にとってMicrosoft製品を選ぶ利点の一つになるのは、設計者や開発者、管理者が使い慣れているツールの技術情報やドキュメントが存在することだ。ただし、MicrosoftがWindows for IoTの動作を保証しているハードウェアで使用しなければいけないことには注意しよう。Windows for IoTは、ドキュメントに動作対象デバイスとして掲載しているデバイスでのみ動作する。そのため特殊なチップセットを搭載する専用デバイスを使う場合、Windows for IoTは選択肢にならない可能性がある。

 Linuxはオープンソースであり、ソースコードが公開されているので、誰でも用途に応じた改変が可能だ。複数のディストリビューションの中から、自社で使うデバイスに合うものを選ぶこともできる。

基準5.カスタマイズ性

 Windows for IoTの場合、機能や設定の変更はMicrosoftが定めた範囲に限られる。LinuxはWindows for IoTよりも自由に機能や設定を追加・変更可能だ。ただしそうしたカスタマイズには、ある程度の時間と労力がかかるため、開発費用がかさむ恐れがある。

基準6.セキュリティ

 IoTデバイスのセキュリティに関しては、経営層が考慮すべき点が幾つかある。PCやサーバは、IoTデバイスと比べて多くのアプリケーションやサービスを動作させ、さまざまな機器と接続する必要がある。そのため攻撃者に狙われる部分もIoTデバイスと比べて多くなる。これに対してIoTデバイスは必要最小限の構成であるため、攻撃対象領域は比較的小さいが、存在しないわけではない。

 Windows for IoTを使う場合、パッチ(修正プログラム)や更新プログラムはMicrosoftに依存することになる。Linuxはコミュニティーによる支援が充実しており、コミュニティーメンバーが脆弱(ぜいじゃく)性の特定やパッチの提供を迅速に実施している。

基準7.管理ツール

 自社のニーズに合ったIoTデバイス管理ツールが、WindowsまたはLinuxのどちらで利用できるかは判断基準になり得る。ただし両方で利用可能な管理ツールもあるため、OS選択の決め手というよりも、必要な管理ツールを見つけることを重視するのが望ましい。

 IoTデバイスを導入する際は、デバイスのインベントリ(台帳)を作成して監視し、最新の状態に保つことが重要だ。複数のIoTデバイスをまとめて管理できるツールやディストリビューションの例を以下に挙げる。

  • クラウド型IoTデバイス管理サービス
    • Azure IoT Hub
    • AWS IoT Device Management
  • オープンソースのIoTデバイス管理用ソフトウェア
    • ThingsBoard
    • Mender
  • IoTデバイス管理機能を持つLinuxディストリビューション
    • Ubuntu Core

 これらのツールやディストリビューションは、アクセス権限に基づく設定管理、デバイスのインベントリ管理、監視、セキュリティ機能を備える。更新失敗時のロールバック機能を含め、更新方法は重点的に確認しよう。

 通信プロトコルも重要だ。IoTデバイス管理ツールは一般的に、「MQTT」(Message Queuing Telemetry Transport)や「AMQP」(Advanced Message Queuing Protocol)、「HTTPS」といった通信プロトコルを採用している。リモートアクセス用の「SSH」(Secure Socket Shell)など、特定の用途に必要なプロトコルがあれば、利用できるかどうかを確かめておくとよい。

結局どちらが適切なのか

 Microsoft製品との連携が必要で、Microsoftの製品や技術を主に扱う開発チームを抱える企業であれば、たいていの場合はWindows for IoTが適する。ハードウェア要件やライセンス料にあまりこだわりがなく、標準的な機能で十分な場合に向いている。

 Linuxが向いているのは、ハードウェアや機能に制限があるシステムでの使用だ。標準的な通信プロトコルを用いて、さまざまな種類のシステムと連携させたり、機能を細かくカスタマイズしたりする必要がある場合にも、Linuxが適切な選択肢になり得る。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る