IoTでも活躍するタイマーAPIについて

  • このエントリーをはてなブックマークに追加
IoTでも活躍するタイマーAPIについて

HTTPサーバやデータベースサーバなど何らかのサーバは外部のサーバ、ユーザまたはIoTデバイスなどと通信を行うのが目的です。Webサーバであれば相手からのリクエストを待って実行されます。

しかしそれ以外でもサーバを駆動させる仕組みが欲しいと思うでしょう。それは定期的に実行される、いわゆるCronの仕組みです。一般的にSaaS系のサービスでは定期実行する仕組みは提供されていないので、別途自分たちで立てたサーバからリクエストを投げることで実現しています。しかしこれではせっかくサーバレスの環境にした意味がありません。

ニフティクラウドではCronに変わる仕組みとしてタイマーAPIを提供しています。クラウドのみならず、IoTにおいても便利に使えますのでぜひご覧ください。

タイマーAPIの特徴

タイマーAPIでは以下のプロトコル、メソッドが扱えます。

  • HTTP/HTTPS : GETまたはPOST
  • MQTT/MQTTS
  • fluentd

HTTP/HTTPSはもちろんのこと、MQTTを使えば遠隔地にあるIoTデバイスから現在のステータスを受け取るといった使い方が考えられます。HTTP/HTTPSの場合はレスポンスボディをログとして残しておくこともできます。

仕様

タイマーはCron相当の使い方が可能です。最小実行幅は1分ごとで、分/時/日/月/曜日でフィルタリングができます。なおリクエスト時のタイムアウトは20秒となっていますので、あまり長時間かかる処理を実行するとタイムアウトする可能性があります。なお、タイマーの作成数は30までとなっています。

処理の成功、失敗時にメール送信できます。

使用例

サーバのCron代わりとして利用ができます。複数のサーバに対して個別にCronの設定を行うのではなく、ニフティクラウド上でまとめて管理ができます。また、ニフティクラウド上のサーバであれば、サーバの起動や停止、設定の変更、イメージやスナップショットの作成も指定できるようになっています。特定の時間の間だけサーバを起動しておきたいといった指定にも使えます。

一日一回のバッチ処理を実行する際のイベント起動に使ったり、5分ごとの定期実行を行うと言った目的にも利用できます。

IoTデバイスであれば定期的に実行してステータスを収集、または生死監視に使うことが考えられます。ただし数万台単位で設定するのは大変なので注意してください。


タイマーAPIを使うことでサーバレスによるシステム開発を一歩促進させることができます。小さなIoTデバイスの中で管理するのではなく、クラウド上で集中管理してみるのも良さそうですね。

IoTでも活躍するタイマーAPIについて
  • このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です