エッジコンピューティングを支えるIoTプラットフォーム
では、IoTソリューションとしてエッジコンピューティングを推進する際に直面する共通的な課題と、そして弊社のご提供するIoTソリューションについてご紹介いたします。
ロボット制御による品質管理、製造ラインにおける画像解析、マシンの状態監視など、昨今、IoTプロジェクトに取り組まれている企業は非常に多くなっています。現在、IoTデバイス数は30億あるともいわれ、データ量も2017年に256ZB(ゼタバイト)だったものが、2020年には600ZBと劇的に増加しています。IoTの膨大なデータ量をクラウドで処理しようとすれば、ネットワークを圧迫し、また、リアルタイム処理の実装を困難にします。そこで、有効なアプローチとして注目されているのがエッジコンピューティングです。
エッジコンピューティングは、センサーなどから得られるデータを“現場”、つまりエッジ側のコンピューティング装置でリアルタイム処理し、結果だけをクラウドにアップロードするというモデルです。ただし、エッジは例えば工場など物理的、論理的に分散された拠点になるため、“分散”システムとなり、これをいかに運用するかが新たな課題となります。
解決策の一つが、分散したシステムを中央集権的に管理するプラットフォームです。当社も「Karbon Platfrom Services(以後KPS) IoT」として提供しています。
KPS IoTは上図のように、IoT全体を管理するダッシュボードである「KPS IoT 管理コンソール」とエッジコンピューティングのアプリ実行環境である「サービスドメイン(エッジOS)」という二つのコンポーネントから成ります。「エッジOS」では、コンテナプラットフォームのデファクトであるK8s(Kubernetes:クバネティス)ベースのアプリケーション実行環境を提供しています。
特徴は大きく分けて四つあります。一つは、管理コンソールで物理的に分散された環境のアプリケーションを遠隔で管理できることです。二つ目に、単一画面からアップデートが可能なこと。例えば、エッジ側で検知したデータにロジックを追加したいときなどに、リアルタイムでアプリケーションをアップデートすることができます。
三つ目として、アプリケーションの実装方式が選択できます。ファンクション方式では、Python、Node.js、Goなどのプログラミング言語のライブラリ群をビルトイン機能として搭載しており、アプリケーションを構築していくことができます。またK8sコンテナ方式では、K8sベースでマニフェストを組んでコンテナアプリケーションを実行できます。四つ目はセキュリティーです。管理コンソールでヒューマンエラーを最小化でき、また、エッジデバイスへのログインはできない仕組みにより攻撃可能領域を最小化できます。