【オープンファース】

OpenFaaS とは?

最終更新:
💡 コンテナで関数を動かす、自分で運用する基盤

関数や小さなサービスをコンテナとして配備・実行する基盤。Kubernetesなどで運用でき、エディションによって利用条件やスケーリング・管理機能が異なる。

📌 このページのポイント
コンテナで関数を配備・実行する関数のコードイメージ作成faas-cliなどOpenFaaS要求を受ける実行先へ渡す画像変換データ集計例:Kubernetes上の構成基盤の運用・利用条件・縮小機能は確認「必要時だけ起動」は全エディション共通ではない
コードをイメージにして配備し、要求を関数へ渡すKubernetes構成の簡略例。基盤の管理は必要で、自動スケーリングやScale to Zero、利用条件はエディションと設定によります。
ひよこ ひよこ
OpenFaaSって何をするの?
ペンギン先生 ペンギン先生
関数や小さなサービスをコンテナとして配備し、呼び出して実行する基盤だよ。Kubernetesで運用する形などがある。関数を書く側は処理に集中しやすくなるけれど、基盤の構築や運用まで不要になるわけではないんだ
ひよこ ひよこ
どこでも同じように動くの?
ペンギン先生 ペンギン先生
利用する基盤に対応した環境を用意する必要があるよ。公式資料はKubernetesなどのほか、単一ホストで動くfaasd系も紹介している。faasdはcontainerdなどを使い、単にDockerを入れれば全部が動くという説明ではないね
ひよこ ひよこ
好きな言語をそのまま使える?
ペンギン先生 ペンギン先生
テンプレートを使ったり、コンテナイメージを作ったりして対応するよ。OpenFaaSが期待する呼び出し方に合わせる必要があるので、任意のプログラムがそのまま関数になるわけではない。CLIではイメージの構築と配備などを行うんだ
ひよこ ひよこ
無料のオープンソースとして本番でも使える?
ペンギン先生 ペンギン先生
現在はエディションの利用条件を確認しよう。公式資料ではCEは個人利用や初期検証向けで、商用利用には60日の制限を示している。StandardやEnterpriseなどは商用・本番向けだよ。名称のOpenだけで、全用途が無条件に使えると判断しないでね
ひよこ ひよこ
呼び出すときだけ起動するの?
ペンギン先生 ペンギン先生
常にそうではないよ。自動スケーリングやゼロ台への縮小は、エディションと設定による。公式比較ではKubernetesのCEはScale to Zeroに対応せず、Pro系では設定して利用できる。最小台数や負荷に合う方式を確認しよう
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「OpenFaaS」って出てきたら「コンテナで関数を配備・実行する基盤」と思えばだいたいOK!
📖 おまけ:英語の意味
「OpenFaaS — Functions as a Service」 = 関数をサービスとして実行する基盤
💬 FaaSはFunctions as a Service。関数を呼び出して実行する仕組みだよ。OpenFaaSでは利用するエディションの条件も確認しよう

参考資料

← 用語集にもどる