エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
FaaSとは、サーバーレスアーキテクチャと呼ばれる、サーバーのセットアップと管理が簡単になる技術のことです。サーバーレスと呼ばれることもあります。
サーバーレスは、サーバーを使用しないという意味ではなくインフラの運用が不要になるということに由来しています。従来とは違い、サーバーを起動させて使った分の料金だけを支払うことができるというサービスが、FaaSです。
サーバーの構築と設置が簡単になり、電気代も気にせずに運用できるFaaS。今回は、GoogleのCloud Function for Firebaseというサービスを使用した例(Leverege)を元に、具体的にどのようなものかを説明します。
今回の題材である『Leverege』は、 システムインテグレータや顧客向けに、IoTアプリケーションフレームワークを提供しているIoTプラットフォームです。データ解析、コンテナ化されたソフトウェア設計などができます。
『Leverege』は、運用中に時々フラッディングが起きるという問題を抱えていました。しかし、通知を送るためだけに常にサーバーを稼働したくはありません。そこで、GoogleのCloud Function for Firebaseを使用して、必要なときにだけ起動するサーバーを実装しました。
Cloud Function for FirebaseのようなFaaSを使えば、必要に応じて起動させることができて運用コストを抑えられます。一定の回数を超えたら、クラウドと連携します。
イベントドリブンでクラウドと連携して、イベントを受け取ったサーバーが、メッセージを送信します。
通知を送信したあとのサーバーは止まります。
イベントを受信したときのみ一時的に起動し、FaaSが処理を行い結果を返しています。FaaSは入力された情報に対して結果を返す「ステートレス」と呼ばれる仕組みでできています。内部の処理情報はサーバー側で保持しています。
(出典:Wikipedia)
次は、メリットやデメリットを説明します。
FaaSのメリットにはこのようなものがあります。
反対にデメリットはこのようなものです。
高品質のアプリを迅速に開発できる Google のモバイル プラットフォームである『Firebase』の認証動作や、ストレージの変更について、信号を受け取ってサーバ側が起動したり処理をできたりというサービスです。
Googleが提供しています。Cloud Functions for Firebaseの機能のなかでも、特に便利な機能が3つあります。
Cloud Functions for Firebaseは、Webで人気の高いJavaScriptとTypescriptで書かれており、以下の記述だけでデプロイできます。
Firebaseは導入が簡単かつ高機能で処理速度も速いので、多くの人に利用されています。リアルタイム処理を必要とするIoTアプリケーションにも使用できます。
現在のFirebaseはベータ版ですが、正式リリースではより簡単なクエリの実行とスケールの改善が期待できます。さらに詳しい違いについては、こちらを確認してください。
Google Cloud Platform(GCP)の連携が可能です。
アナリティクスと連携して、コンバージョンを検知したらイベントを起こすことができます。たとえば、商品をカートに入れたら感謝のメッセージを表示させることが可能です。
Google Cloud Platformとの連携で、さらに便利になります。
導入が簡単でコスト削減にも繋がるFaaS。
すべてのアプリケーションに対応しているわけではないので、今後の展開に期待です。ぜひ、FaaSの便利さを体験してみてください。
(翻訳:Yuri Tanaka)