SORACOM Funk の特徴
Funk を利用すると、さまざまなデバイスから、さまざまな通信プロトコルを利用して、AWS、Azure、Google Cloud といったパブリッククラウドが提供する FaaS (Function as a Service) の Function を直接呼び出すことができます。
Funk は、Air for セルラー、Air for LoRaWAN、Air for Sigfox、Arc などを利用したデバイスで利用できます。また、通信プロトコルは、TCP、UDP、HTTP、SMS、USSD、LPWA に対応しています。
SORACOM Funk のユースケース
デバイスの処理をオフロード
デバイスのスペックや消費電力の問題から、複雑な処理計算ができない IoT デバイスの処理を FaaS にオフロードします。さらに、戻り値を受け取れるため、たとえば、デバイスに接続された温度センサーデータを取得し、Funk を利用して温度を Function に送信し、Function で計算した推移予測をもとにして、ファン速度を制御できます。これまでデバイス側で計算が難しかったケースでも、FaaS の Function を利用して計算したり、デバイスが取得できないデータを考慮したアルゴリズムを実装したりできます。
プロジェクトのフェーズに応じた処理ロジックの変更
PoC フェーズと Production フェーズで、アルゴリズム (処理内容) が変わる場合や、処理結果の送信先が異なる場合でも、デバイスの設定を変更することはありません。FaaS の Function を変更してアルゴリズムをバージョンアップしたり、SORACOM ユーザーコンソールで設定を変更したりすることで、デバイスの設定を変更することなくフェーズの変更に対応できます。
SORACOM Funk の仕組み
Funk の仕組みは以下のとおりです。
FaaS の Function を作成します。
Funk は、AWS Lambda、Google Cloud Functions、Azure Functions に対応しています。
デバイスから、Funk にデータを送信します。
Funk のエントリポイントに対して 任意のデバイス、プロトコルを利用してデータを転送します。
Funk から FaaS の Function にデータを転送します。
Funk から FaaS の Function にデータを転送する際に、HTTP(S) ヘッダーにトークンを付与できます。Function で、そのトークンを検証することで、Funk を利用したデバイスからのアクセスであることを確認できます。