サーバーレスとは?
サーバーレスコンピューティングは、使用時にバックエンドサービスを提供する方法です。 サーバーレスプロバイダーを使用すると、ユーザーは、基盤となるインフラストラクチャについて心配することなく、コードを記述してデプロイできます。 サーバーレスベンダーからバックエンドサービスを利用する企業は、使用量に応じて請求額が算出されます。サービスは自動スケーリングであるため、固定量の帯域幅やサーバー数を予約して支払う必要はありません。 サーバーレスという名前にもかかわらず、物理サーバーは引き続き使用されますが、開発者はそれらを認識する必要がないことになります。
クラウドコンピューティングとの違い
クラウドコンピューティング
サーバーレス
固定数のサーバーまたは一定量のサーバースペースをリモートでレンタルできることが従来のクラウドコンピューティングです。 サーバースペースのこれらの固定ユニットをレンタルする開発者や企業は、トラフィックやアクティビティの急増が月間制限を超えてアプリケーションを壊さないようにするために、一般的に過剰購入しています。 これは、支払われるサーバースペースの多くが無駄になる可能性があることを意味します。 クラウドベンダーはこの問題に対処するために自動スケーリングモデルを導入しましたが、自動スケーリングを使用しても、DDoS攻撃などの不要なアクティビティの急増は非常に高額になる可能性があります。
サーバーレスコンピューティングを使用すると、開発者は柔軟な「従量課金制」でバックエンドサービスを購入できます。つまり、開発者は使用したサービスに対してのみ料金を支払う必要があります。 これは、月額固定制限のある携帯電話のデータプランから、実際に使用されるデータのバイトごとにのみ課金されるプランに切り替えるようなものです。
長所
- 市場投入までの時間の短縮とソフトウェアリリースの迅速化
- 運用および開発コストの削減
- スケーリングするためのより小さなコスト
- ソフトウェアの複雑さを軽減します
- パッケージングと展開を簡素化し、システム管理は必要ありません。
- メンテナンスコストゼロ
短所
- 各ベンダーのサーバーレステクノロジーにより、コードはそのシステムに適合するように設計する必要があります。
- コールドスタートは、サーバーレスインフラストラクチャが最初のリクエストを満たすために内部リソースを初期化する必要がある場合の問題です
- プロバイダーは、同じ物理サーバー上で異なる顧客からのコードを実行する場合があります(これはマルチテナンシーとも呼ばれます)
サーバーレスアーキテクチャは、開発者がコードに集中できるようにするアプリケーションを作成およびデプロイするための新しいアプローチです。 このようなアプローチにより、市場投入までの時間、運用コスト、およびシステムの複雑さを軽減できます。 サーバーレスは、AWS Lambdaなどの第三者サービスを利用して、物理サーバーまたは仮想マシンをセットアップおよび構成する必要性を排除しますが、アプリケーションとそのアーキテクチャを特定のサービスプロバイダーにロックされます。