本記事はソラコムが提供する「SORACOM公式ブログ」に掲載された「IoTだからこそ「サーバーレス」を活用すべき3つの理由 ― ServerlessDays Tokyo 2023 登壇レポート」を再編集したものです。
目次
サーバーレスとは?理由1:費用の最適化 ― IoT とサーバーレスは相性がいい
理由2:変化への対応 ― 新しいことを始める、不要なものを止めるが容易
IoT デバイスとサーバーレス連携を支援する SORACOM サービス群
理由3:ノウハウや仲間が集まる ― 次は君のサーバーレスを!
まとめとスライド公開
こんにちは、ソラコム松下(ニックネーム: Max)です。
この記事では、クラウド上で作るシステム構成の1つ「サーバーレス」をIoTで活用すべき3つの理由をご紹介します。
IoTのバックエンド(データ処理)において、レンタルサーバーや仮想サーバーを用いた構成とは異なる考え方としてサーバーレスがある事、そして、サーバーレスがIoTに実は適していることを解説します。
このブログは、先日(9/23 土)に開催されたサーバーレス・コミュニティのイベント「ServerlessDays Tokyo 2023」における、私の発表内容をレポートとしてお届けしています。
サーバーレスとは?
サーバーレスとは、クラウド上で作るシステム構成や考え方の1つです。サーバーの準備や運用の手間が不要なのが特徴です。サーバーの有無を指しているわけで無く、仮に構成内にサーバーがあったとしても、皆さんが準備・運用をしなければ (=クラウド事業者が肩代わりしてくれる)、サーバーレスと言ってもよいでしょう。
似た言葉に「マネージドサービス」があります。下の図では、IaaS(仮想サーバーやレンタルサーバー)からSaaS、マネージドサービス、サーバーレスといった分類を私たちなりに整理してみました。
ポイントは横軸となっている「自由度」と「必要スキル」「開始までの時間」です。
IaaS は、Amazon Elastic Compute Cloud (Amazon EC2) や Azure Virtual Machinesといった仮想サーバーになり、自由度やチューニングの幅はありますがその分スキルが必要で、また設定や準備の手間もかかります。反対側のSaaSは、例えば Dropbox や Microsoft 365といったアプリケーションサービスです。カスタマイズの余地は少ないのですが、すぐに使い始められることが多いものばかりです。
サーバーレスはIaaSとSaaSの中間に位置します。サーバーレスも分類は大きく2つあり、コードの実行環境が提供されるものと、APIを通じて“機能”が提供されて、皆さんのアプリケーションに組み込めるものがあります。代表的なサービスとして、前者には AWS Lambda、後者にはAmazon DynamoDB があります。
ちなみに“マネージドサービス”における「クラスタや AZ 配置をユーザーが設定」するものには、Amazon RDS があります。物理的なサーバーの準備やOSの設定は不要(=マネージド)ですが、”機能”を利用をするための設定、例えば可用性を上げるためのクラスタ構成や、運用は私たちが行う必要があるため、サーバーレスとは異なる位置づけになっています。
サーバーレスは「サーバーの準備や運用の手間が不要」な構成です。より詳しくサーバーレス自体を深堀したい方は、こちらの資料(Serverless Updates 2023)をご覧ください。
ここからは、IoTだからこそ「サーバーレス」を活用すべき3つの理由を紹介していきます。
理由1:費用の最適化 ― IoT とサーバーレスは相性がいい
まず、以下の動画をご覧ください。AWS Lambdaを利用して “Hello from Lambda! Welcome to serverless !!”というテキストを返す HTTP REST サーバー1の構築を1分40秒で行っています。
これだけの時間で HTTP REST サーバーの実装ができたこともサーバーレスの凄味ではありますが、それ以上のポイントがあります。それは「待ち時間に課金が発生しない」ということです。
これが理由の1つ目「費用の最適化」がしやすい事につながります。
IaaSや一部のマネージドサービスは「稼働時間」で費用が発生します。常にデータを処理するワークロードが得意で効率的です。IoTのデータに着目すると、IoTのデータというのは、いつ発生するのか予測しづらいものが多いのです。IaaSでIoTのデータ処理をする構成では、データの待ち時間=処理をしていない時間が生まれます。非効率ということです。
サーバーレスのサービスのほとんどが「処理量(回数)や処理時間」すなわち、データ処理をした時間にのみ費用が発生します。データの待ち時間には課金されないため、費用対効果の効率が最大になります。IoTとサーバーレスは相性がいいのです。
理由2:変化への対応 ― 新しいことを始める、不要なものを止めるが容易
変化への対応がしやすいことも、理由の1つとして挙げられます。
サーバーレスのサービスを組み合わせて作るアーキテクチャパターンに「ファンアウト(Fan-out)」があります。1つの入力データに対して、複数の出力をする設計のパターンです。複数の処理を並列で処理する際に使います。AWSのIoTゲートウェイサービス「AWS IoT Core」を例にすると、以下のようになります。
このパターンのメリットは、処理の追加や停止が容易なことです。例えば、上図のルールBやルールCを停止しても、ルールAの処理には影響がありません。もちろん新たなルールを追加しても、A~Cの処理への影響はありません。
IoTのシステム開発はゴールを模索しながら進めることも多いため、頻繁な機能改善や時には大きな機能追加も考えられます。その時に備える意味でも、ファンアウトは心強いパターンとなるでしょう。また、機械学習や生成AIといった新たなテクノロジーを積極的に取り込むときにも役立ちます。
このようなパターンを堅牢に作ることができるのも、サーバーレスのメリットです。
IoT デバイスとサーバーレス連携を支援する SORACOM サービス群
IoTデバイスをサーバーレスに接続するには、デバイスにSDKの設定が必要です。クラウドの手間は少ないが、デバイスの設定で労力がかかってしまうと、サーバーレスのメリットが減ります。
SORACOMでは、IoTデバイスから容易にサーバーレスが利用できるようになる「アプリケーション連携サービス」を提供しています。
- SORACOM Beam:カスタムのエンドポイントへ転送(例:HTTPSやMQTTSなど)
- SORACOM Funk:Function as a Serviceへ転送(例:AWS Lambdaなど)
- SORACOM Funnel:クラウドサービスやSORACOM パートナースペース企業様(弊社パートナー企業様)のソリューションへ転送(例:Amazon Kinesis Data Streamsなど)
例えば先程ファンアウトパターンで紹介したAWS IoT Coreへの接続であれば、SORACOM BeamやSORACOM Funnelを使うことで、デバイス側からはTLS無しのMQTTや、HTTP/TCP/UDPといった簡素なプロトコルでIoT Coreとデータのやり取りが可能です。
どのように活用すると、より開発を減らしつつサーバーレスにつなげられるかは「IoTプロジェクトの課題から考えるSORACOM Beam・Funk・Funnelのメリットと選び方」をご覧ください。
理由3:ノウハウや仲間が集まる ― 次は君のサーバーレスを!
理由の3つめは、ノウハウや仲間が集まるコミュニティの存在です(スライド内では「イケてる」と表現していますが、実際その潮流があります)
サーバーレスは一時的な流行ではなく、すでに多くの事例があります。また、それらを積極的に公開する文化もあることから情報が多く出回っています。サーバーレスはそれ自体が目的ではなく手段であるため、ノウハウを公開しても自社ビジネスの損になりにくいためです。
同じ課題に挑む、組織を超えた仲間=コミュニティが形成されており、課題解決の方法を共有しています。私が今回発表をしたサーバーレス・コミュニティのイベント「ServerlessDays Tokyo 2023」も、その1つです。(参考: ServerlessDays Tokyo 2023 で発表されたスライド一覧)
コミュニティは相互の助け合いで成り立っています。皆さんが持つノウハウを還元することで、コミュニティの一員になれるのです。還元というからには、もちろん最初はノウハウ入手でかまいません。その後、皆さんのサーバーレスを紹介することで、誰かの「還元のスタート」になると信じています。私の発表の最後はこのスライド=願いで締めくくりました。
まとめとスライド公開
改めてまとめです。IoTにおいてサーバーレスを活用すべき3つの理由は以下の通りでした。
- 費用の最適化
- 変化への対応
- ノウハウや仲間が集まる
本セッションで公開したスライドは Speaker Deck に掲載してあります。こちらもぜひご覧ください。
この記事でサーバーレスに興味を持っていただいた皆様へ、10月の勉強会のご紹介です。
10/24(火)夜7時のオンラインIoT勉強会「IoT-Tech Meetup」では、IoTにおけるサーバーレスの取り組み方を紹介します。入門向けとなっていますので、ぜひご参加ください!
今回ご紹介した内容が、サーバーレスへ取り組むきっかけになればうれしく思います。
―ソラコム松下(Max)
- HTTP REST “サーバー” と言っていますが、私が管理しているわけではないのでサーバーレスです ︎
投稿 IoTだからこそ「サーバーレス」を活用すべき3つの理由 ― ServerlessDays Tokyo 2023 登壇レポート は SORACOM公式ブログ に最初に表示されました。
この連載の記事
-
第485回
デジタル
省電力通信LTE-M対応の小型マイコンボードをSORACOM IoTストアで提供開始、ローコードIoTアプリケーションビルダー「SORACOM Flux」の料金プランを発表 takuyaのほぼ週刊ソラコム 11/30-12/13 -
第484回
デジタル
AWS re:Invent 2024に見る、IoTの成熟と生成AIとの融合 -
第483回
デジタル
二歳半の子供を持つエンジニアの一日の働き方 -
第482回
デジタル
VPN 対応の産業用 LTE ルーターの価格改定【30%オフ】 -
第481回
デジタル
時間帯に応じたメール通知の構築方法 : SORACOM LTE-M Button と SORACOM Flux の活用 -
第480回
デジタル
SORACOM Flux 料金プランを発表しました -
第479回
デジタル
12/11-13 商業施設・店舗DX展に出展:最新IoTソリューションや事例をご紹介 -
第478回
デジタル
コープさっぽろが、クラウド型カメラ「ソラカメ」を全店舗で導入、現場主導の改善を実現、サーバールームの異常な温度上昇を通知する新規掲載レシピ takuyaのほぼ週刊ソラコム 11/16-11/29 -
第476回
デジタル
WebRTCとMedia over QUIC Transportの性能比較 -
第475回
デジタル
SORACOM Lagoon 3 の [Math] 機能で、複数データを組み合わせた通知の手順