【オープンファース】

OpenFaaS とは?

公開:
💡 自前でサーバーレス。クラウド依存ゼロで「関数だけ書けば動く」環境を自分で持てる。
📌 このページのポイント
OpenFaaS — 自前サーバーレス関数基盤 開発者 faas-cli deploy Python / Node.js Go / Java など 任意のDockerイメージ を関数として登録 OpenFaaS API Gateway faas-netes (K8s) / faasd 自動スケーリング Prometheusメトリクス Web UI ダッシュボード 呼び出し 関数コンテナ群 fn: resize-image fn: send-email fn: process-order 必要時だけ起動・自動増減 動作基盤: Kubernetes(faas-netes)または Docker Swarm / faasd(軽量版) AWS Lambda等と違い特定クラウドに縛られない(オンプレ・マルチクラウド対応)
OpenFaaSがDockerコンテナとして関数を管理・実行するイメージ
ひよこ ひよこ
OpenFaaSって何なの?
ペンギン先生 ペンギン先生
AWS LambdaのようなFaaS(関数実行サービス)を自分のKubernetesDockerで動かせるオープンソースフレームワークだよ。「サーバーレス関数を使いたいけどAWSに縛られたくない」という時に便利なんだ。
ひよこ ひよこ
AWS Lambdaと何が違うの?
ペンギン先生 ペンギン先生
一番の違いは「どこでも動かせる」という点だよ。AWS Lambdaはアマゾンのクラウドでしか動かないけど、OpenFaaSはオンプレミスでも、GCPでも、Azure上のKubernetesでも動かせるんだ。ベンダーロックインを避けたい場合に選ばれるよ。
ひよこ ひよこ
どんな言語で関数を作れるの?
ペンギン先生 ペンギン先生
Dockerコンテナとして動くから、実質どんな言語でも使えるよ。PythonNode.js・Go・JavaRustなど公式テンプレートがあるし、自分でDockerfileを書いてカスタム関数を作ることも簡単にできるんだ。
ひよこ ひよこ
デプロイとか管理はどうやるの?
ペンギン先生 ペンギン先生
faas-cliというコマンドラインツールを使うよ。`faas-cli deploy`コマンド1つで関数をデプロイできるし、WebブラウザからアクセスできるUIダッシュボードも付いているから、関数の一覧確認や手動実行もできるんだ。
ひよこ ひよこ
スケーリングはどうなってるの?
ペンギン先生 ペンギン先生
リクエスト数に応じて自動スケールする機能が組み込まれているよ。Prometheusメトリクスを収集して、関数の呼び出し回数が増えたらコンテナを増やす仕組みになっているんだ。KEDAと組み合わせてイベント駆動スケーリングにすることもできるよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「OpenFaaS」って出てきたら「自前で動かすサーバーレス関数基盤」と思えればだいたいOK!
📖 おまけ:英語の意味
「Open Function as a Service」 = オープンな関数as aサービス
💬 「オープンソースでFaaSを実現する」という意味で、AWS LambdaのようなFaaSを特定クラウドに縛られず自分のインフラで実現できるよ。
← 用語集にもどる