この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
Function as a Service (FaaS) は、機能がインターネット経由でサービスとして提供されるクラウド コンピューティング モデルです。開発者は、サーバーやその他のインフラストラクチャを管理する必要なく、コードを展開できます。これは、サービスとしてのバックエンド (BaaS) およびサービスとしてのモバイル バックエンド (MBaaS) とともに、サーバーレス コンピューティングの 3 つのコア コンポーネントの 1 つです。
Function as a Service (FaaS) は、機能がインターネット経由でサービスとして提供されるクラウド コンピューティング モデルです。これは、サーバーやその他のインフラストラクチャを管理する必要なく、開発者がコードを展開して実行できるようにするイベント駆動型のコンピューティング プラットフォームです。 FaaS は、Backend as a Service (BaaS) および Mobile Backend as a Service (MBaaS) とともに、サーバーレス コンピューティングの 3 つのコア コンポーネントの 1 つです。
FaaS は、開発者がコードを作成してデプロイするためのプラットフォームを提供するサービスとしてのプラットフォーム (PaaS) の一種です。データの処理やイベントへの応答など、短期間のタスクに使用するように設計されています。 FaaS を使用すると、開発者はサーバーやその他のインフラストラクチャの管理について心配することなく、任意の言語でコードを記述してクラウドで実行できます。コードはオンデマンドで実行され、FaaS プロバイダーがプロビジョニング、スケーリング、およびその他の管理タスクを処理します。
FaaS は、アイドル状態のサーバーに料金を支払う必要がないため、コードを展開する費用対効果の高い方法です。また、開発者はサーバーの管理を気にすることなくコードの記述に集中できるため、開発プロセスが簡素化されます。
FaaS は、2014 年にアマゾン ウェブ サービス (AWS) によって最初に開発され、AWS Lambda 製品が発売されました。それ以来、Google Cloud Functions や Microsoft Azure Functions など、他のいくつかのクラウド プロバイダーが独自の FaaS サービスを開始しています。
FaaS には、開発者がクラウドでコードを簡単にデプロイして実行できるようにするための機能がいくつか用意されています。これらの機能は次のとおりです。
FaaS アプリケーションの例として、画像処理サービスがあります。このサービスは、AWS Lambda などの FaaS プラットフォームを使用して構築し、クラウドにデプロイできます。画像がサービスにアップロードされると、FaaS プラットフォームはコードを実行して画像を処理し、結果を返します。
FaaS には、費用対効果、簡素化された開発プロセス、サーバーレス コンピューティングなど、いくつかの利点があります。ただし、FaaS の使用には、スケーラビリティの制限や基盤となるインフラストラクチャの制御の欠如など、いくつかの欠点があります。
FaaS は、基盤となるインフラストラクチャを制御できないことで批判されてきました。 FaaS プロバイダーがすべてのプロビジョニング、スケーリング、およびその他の管理タスクを処理するため、開発者がインフラストラクチャを制御できる範囲は限られています。これにより、パフォーマンスと信頼性の問題が発生する可能性があります。
FaaS は、Platform as a Service (PaaS) および Infrastructure as a Service (IaaS) に関連しています。 PaaS は開発者がコードを作成してデプロイするためのプラットフォームを提供し、IaaS は仮想化されたコンピューティング リソースを提供します。
FaaS は、Backend as a Service (BaaS) や Mobile Backend as a Service (MBaaS) などの他のサーバーレス テクノロジと組み合わせて使用されることがよくあります。 BaaS は、開発者がデータベースや認証システムなどのバックエンド サービスを構築および展開するためのプラットフォームを提供します。 MBaaS は、開発者がモバイル アプリケーションを構築および展開するためのプラットフォームを提供します。
FaaS は急速に成長しているテクノロジであり、その費用対効果と簡素化された開発プロセスのために多くの企業で採用されています。テクノロジが成熟するにつれて、カスタム ドメインのサポートや複数言語でコードを実行する機能など、より多くの機能が追加されています。