「FaaSとは?」 SaaS連携の専門家が分かりやすく解説!

「ふぁーす(FaaS)ってファーストからきてるのかなーー?」

河川敷で行われている野球を見ていたら、小学生くらいの男の子が控えのベンチで友達と話しているのが聞こえてきた…前回のSDKやAPIについて話していた子だ。こんな偶然が。。。

 

という事がおこる可能性もありますよね。

このコラムを読んでおけば、野球の試合が終わる前に理解する事が出来るかもしれません。

 

「SaaS,PaaS,IaaS」等は*aaS関連の単語の中でも比較的認知度が高い単語と言えますが、非エンジニアの方からするとFaaSは聞いたこともないという方もいるかと思います。

 

このコラムを読んで、FaaSについてぜひ理解してみてください。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

FaaSとは

・単語の成り立ち :『Function as a Service』の頭文字をとって形成された単語。

          直訳すると「サービスとしての機能」という意味になります。

・読み方     :「ファース」

・意味      :開発や業務に必要なサーバなどのインフラを、クラウドサービスに

          一任し、開発者がプログラミングに集中できるサービスを発展させたものです。

・FaaS代表例  :Azure Functions、IBM Cloud Functions、AWS Lambda、

          Google Cloud Functionsなどが挙げられます。

 

※FaaSには『Framework as a Service』の頭文字からできた、ソフトウェアフレームワークを提供するサービスという意味合いもあります。PaaSよりアプリケーションやシステム開発に必要なフレームワークが備わっているサービスです。今回は『Function as a Service』に特化して説明をしていきます。

*aaS系のコラム記事は下記よりご確認いただけます。ぜひ合わせてご確認ください。

<「SaaS」|...ところで、結局SaaSってなに?>

<「PaaS」|誰でも分かる「PaaS」の説明>

<「IaaS」 |「IaaSって何て読むんだ?」IaaSとは?>

 

もう少し詳しく説明していきます。

FaaSの特徴として、作成したプログラムに合わせて自動的にサーバを拡大、縮小(スケーリング)してくれることが挙げられます。さらにメンテナンス、アップデートといったサーバ管理を任せられるので、開発者は自分の開発に集中できるのです。また、PaaSとは異なり、プログラムコードを書いて「連携させるだけ」で、処理を実行できるというのも大きな特徴といえます。

 

FaaSでの開発は、基本的にイベントごとに実行させるコードを書く(イベントドリブン方式)で行われます。これは何かのイベントが発生した時に、初めて処理が実行されるものです。

たとえば、ボタンがクリックされる、データが追加される、アプリではスワイプ、スライド、タッチなどが挙げられます。開発者は実行される機能を作成し、トリガーの配置、設定を行うだけで、アプリケーションやサービスを作ることができるのです。

※PaaSは処理する必要があるイベントが発生するたびにアプリケーション全体を起動させて処理する(リクエストリプライ方式)で行われます。

 

また、FaaSには、開発費用を抑えられるというメリットがあります。物理的なサーバが必要なく、利用した分だけ料金を支払えばいいためです。前述の通り、FaaSはトリガーが踏まれた時だけ処理を実行し、その部分のみ料金が発生します。他のサービス(IaaSなど)は、スタンバイ中などの時間に対しても料金が発生するので、FaaSを利用することで費用の削減につながります。

 

さらにFaaSはほとんどの言語に対応しているため、広い範囲の開発環境で利用可能です。そのうえ、既存のアプリケーションの拡張にも使えます。こうしたこともFaaSの大きなメリットといえるでしょう。

 

素晴らしいメリットをもつFaaSですが、注意点もあります。利用しているサービスのルールに合わせて、ファイルの位置や数値設定を行わなければならず、使いこなすには知識と経験が必要になることです。また、サービスがネットワーク上で提供されるため、アクセス集中やトラブルが起きると作業がストップする可能性もあります。FaaSを使う際はこうしたデメリットもしっかり把握して、導入する必要があります。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

以上が「FaaS」がどういうものなのかという説明になります。

 

次回はAPI連携vsCSV連携の続編についてご紹介します。

コラム公開予定日は4/22(木)となります。

 

※今月頭に株式会社セルバ様のフロント言語一覧カオスマップに弊社が掲載されました。

https://tecgate.jp/blog/449/

javascriptだけでなく、Python、Ruby、PHP、その他等様々な言語を用いて開発しています。

弊社で一緒に働きたい!という方はぜひご連絡ください。

 


SaaStainerのTwitterアカウントで最新情報を発信していきますので、ぜひフォローをお願いいたします。
<【公式】SaaStainer Twitterアカウント|画像かこちらをクリック