-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS比較
-
IoTプラットフォームで使われるOSS「IoT機械学習プラットフォーム」
IoTプラットフォームで使われるOSS「IoT機械学習プラットフォーム」
IoT機械学習プラットフォームは、収集したIoTデータを何らかの機械学習アルゴリズムで処理するためのプラットフォームです。IoT機械学習基盤としては、コンテナ型仮想化の技術が注目されています。
IoT機械学習プラットフォーム
Docker 〜コンテナ型仮想化のスタンダード〜
Dockerは、コンテナ型仮想化を実現するためのオープンソースソフトウェアです。VMWareやKVMなどで行う仮想化の技術に比べて、少ないリソースでソフトウェアを動作させることができます。機械学習では、様々なモデルを作成し、試行錯誤しながら精度をあげていくような開発スタイルが取られます。Dockerは、このスタイルでの開発を効率よく行うことができる技術として注目されています。
また、DockerHUBというコンテナレジストリが公開されているのも特徴の1つです。DockerHUBから、様々なアプリケーションのコンテナを入手することができます。これによって、迅速に必要なシステムを構築することができます。
Kubernetes 〜Dockerコンテナの管理ツール〜
Kubernetesとは、Dockerコンテナの統合管理を行うためのオープンソースソフトウェアです。Kubernetesは、Dockerコンテナのデプロイ、スケーリング、アップデートなどをしやすいように設計されています。Docker単独では、ノード内での通信しかできませんが、Kubernetesではノード間での通信などもサポートします。また、コンテナに割り当てるリソースの管理なども行うことができます。
Kubernetesは、もともとGoogleが開発したソフトウェアです。現在は、Google Cloud PlatformやAWSなどのコンテナサービスでもKubernetes互換が提唱されていて、コンテナ型仮想化では事実上のデファクトスタンダードとなっています。
GitLab 〜コンテナレポジトリと開発支援〜
GitLabは、Git互換のプロジェクト管理ツールです。ソフトウェアをリポジトリで管理をする機能があり、コンテナのレポジトリとして利用することができます。DockerHUBに配置して公開することができないコンテナを保管しておくための、プライベートレポジトリを構築するためには必須のソフトウェアです。
GitLabは、もともとプロジェクト管理ツールですので、IoT開発全体を管理するプラットフォームとして利用できます。
IoTプラットフォームで使われるOSS
- IoTインフラ
- ここでは、FreeRADIUS、OpenXPKIについて紹介します。
- IoTネットワークインフラ
- ここでは、Nginx、HAProxy、Squid、OpenLDAP、389 Directory Serverについて紹介します。
- IoTデータ収集プラットフォーム
- ここでは、Ceph、DRBD-SDS、Elasticsearch、Graylog、MongoDB、GridDBについて紹介します。