この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
サーバーレスは、開発者が基盤となるインフラストラクチャを管理または維持することなく、アプリケーションを構築および実行できるクラウド コンピューティング実行モデルです。これは、基盤となるサーバー インフラストラクチャを管理する必要なく、クラウドベースのプラットフォームにアプリケーションを展開して実行する方法です。
サーバーレスは、開発者が基盤となるインフラストラクチャを管理または維持することなく、アプリケーションを構築および実行できるクラウド コンピューティング実行モデルです。サーバー インフラストラクチャを管理する代わりに、開発者はアプリケーション コード自体に集中できます。
サーバーレス コンピューティングでは、アプリケーションはイベントによってトリガーされる個々の機能に分割されます。これらの関数は、管理された環境 (通常はクラウド) で、イベントがトリガーされたときにのみ実行されます。これにより、開発者は、サーバーのセットアップと管理について心配することなく、アプリケーションを迅速かつ簡単に作成できます。
サーバーレス コンピューティングは、開発者が使用したリソースに対してのみ支払う「従量制」モデルに基づいています。これは、高価なサーバー インフラストラクチャに投資したくない企業にとって魅力的なオプションです。
サーバーレス コンピューティングは 2000 年代初頭から存在していましたが、Amazon Web Services (AWS) や Microsoft Azure などのクラウド コンピューティング プラットフォームが登場してから、広く使用されるようになりました。これらのクラウド プラットフォームにより、開発者はサーバーレス アプリケーションを簡単に構築およびデプロイできるようになりました。
2014 年、アマゾン ウェブ サービスは、サーバーレス プラットフォームである AWS Lambda を立ち上げました。これにより、開発者は基盤となるインフラストラクチャを管理する必要なく、コードを記述してデプロイできるようになりました。これは、サーバーレス コンピューティングの開発における大きなマイルストーンであり、Google Cloud Functions や Microsoft Azure Functions などの他のサーバーレス サービスの出現につながりました。
サーバーレス コンピューティングには、開発者にとって魅力的ないくつかの重要な機能があります。
まず、セットアップと展開が簡単です。開発者は、サーバーの管理について心配することなく、コードを記述して迅速かつ簡単にデプロイできます。
第二に、費用対効果が高いです。開発者は使用したリソースに対してのみ料金を支払うため、ビジネスにとって費用対効果の高いオプションになります。
3 つ目は、スケーラビリティが高いことです。サーバーレス アプリケーションは、アプリケーションのニーズに応じて、迅速かつ簡単にスケールアップまたはスケールダウンできます。
最後に、安全です。サーバーレス アプリケーションはクラウド プラットフォームによって管理および保護されるため、開発者はセキュリティについて心配する必要がありません。
サーバーレス アプリケーションの例としては、ユーザーによるファイルのアップロードなどのイベントによってトリガーされる Web アプリケーションがあります。その後、アプリケーションはファイルを処理し、基盤となるサーバー インフラストラクチャを必要とせずにデータベースに保存できます。
サーバーレス コンピューティングの主な利点は、セットアップとデプロイが簡単で、費用対効果が高く、拡張性が高く、安全であることです。ただし、サーバーレス コンピューティングにはいくつかの欠点があります。
主な欠点の 1 つは、アプリケーションのデバッグとトラブルシューティングが難しいことです。アプリケーション コードは管理された環境で実行されているため、エラーを特定して修正するのが難しい場合があります。
もう 1 つの欠点は、サーバーレス アプリケーションは長期的にはより高価になる可能性があることです。開発者は使用したリソースに対してのみ料金を支払うため、コストがすぐに加算される可能性があります。
サーバーレス コンピューティングはいくつかの論争の対象となっており、一部の開発者は、特定の種類のアプリケーションには適していないと主張しています。これは、サーバーレス アプリケーションが使用できるリソースの量が制限されているためです。このため、大量のリソースを必要とするアプリケーションには適さない可能性があります。
サーバーレス コンピューティングは、Infrastructure-as-a-Service (IaaS)、Platform-as-a-Service (PaaS)、Function-as-a-Service (FaaS) などの他のクラウド コンピューティング モデルに関連しています。 IaaS は、ユーザーがクラウド プロバイダーから仮想マシンやその他のインフラストラクチャ コンポーネントをレンタルするクラウド コンピューティング モデルです。 PaaS は、ユーザーが基盤となるインフラストラクチャを管理する必要なく、クラウド プラットフォーム上でアプリケーションを開発および展開するクラウド コンピューティング モデルです。最後に、FaaS はクラウド コンピューティング モデルであり、ユーザーは基盤となるインフラストラクチャを管理する必要なく、イベントに応答してコードを展開および実行します。
サーバーレス コンピューティングは、別の一般的なクラウド コンピューティング モデルであるコンテナー ベースのコンピューティングとよく比較されます。コンテナベースのコンピューティングは、開発者が基盤となるインフラストラクチャを管理することなくアプリケーションをデプロイして実行できるという点で、サーバーレス コンピューティングに似ています。ただし、コンテナーは、基盤となるインフラストラクチャに関係なく、開発者があらゆる種類のアプリケーションを実行できるため、サーバーレス機能よりも柔軟性があります。
サーバーレス コンピューティングは比較的新しいテクノロジですが、その使いやすさと費用対効果により、開発者の間で急速に普及しています。これは、コストのかかるサーバー インフラストラクチャに投資したくない企業にとって魅力的なオプションであり、今後さらに普及する可能性があります。