サーバーレスコンピューティングとは?|サーバーレス定義

サーバーレスコンピューティングは、使用ベースでバックエンドサービスを提供する方法です。サーバーは引き続き使用されますが、サーバーレスベンダーからバックエンドサービスを取得する会社は、固定量の帯域幅やサーバーの数ではなく、使用量に基づいて課金されます。

Share facebook icon linkedin icon twitter icon email icon

サーバーレス

学習目的

この記事を読み終えると、以下のことができます。

  • サーバーレスコンピューティングを定義する
  • サーバーレスアーキテクチャを使用する利点を概説する

サーバーレスコンピューティングとは?

サーバーレスコンピューティングは、従量制のバックエンドサービスを提供する方法です。サーバーレスアーキテクチャにより、ユーザーは基礎をなすサーバーが何であるかを気にすることなく、コードを書き込んだりデプロイしたりすることができます。サーバーレスベンダーからバックエンドサービスを受ける会社は、計算に基づいて課金されます。自動スケーリングを使用したサービスであるため、一定量の帯域幅やサーバーを予約して支払う必要がありません。「サーバーレス」といっても、サーバーを使わないのではなく、開発者がサーバーを意識する必要がないことを意味しています。

Webの黎明期には、Webアプリケーションを構築したい人は誰でも、サーバーの実行に必要な物理ハードウェアを所有する必要がありましたが、これは面倒で費用のかかる作業です。

後に登場したクラウドでは、固定された台数のサーバーまたは容量のサーバースペースをリモートでレンタルできます。通常、このように固定された単位でサーバースペースをレンタルする開発者や企業は、トラフィックやアクティビティの急増が毎月の上限値を超えてアプリケーションを壊さないように、余裕を持って購入します。その結果、大抵は購入されたサーバースペースの多くが無駄になっていました。この問題に対処するために、クラウドベンダーは自動スケーリングモデルを導入していますが、DDoS攻撃などのありがたくないアクティビティの急増に自動スケーリングを適用しても、非常に高価になる可能性があります。

サーバーレスのメリット

サーバーレスコンピューティングにより、開発者はバックエンドサービスを柔軟な「従量課金」ベースで購入できます。つまり、開発者は使用したサービスに対してのみ料金を支払う必要があります。これは、毎月固定の制限がある携帯電話のデータプランから、実際に使用されるデータの各バイトに対してのみ課金するプランに切り替えるようなものです。

これらのバックエンドサービスを提供するサーバーがまだ存在するため、「サーバーレス」という用語はやや誤解を招く可能性がありますが、サーバースペースとインフラストラクチャの懸念はすべてベンダーが対応します。サーバーレスとは、開発者がサーバーについてまったく心配することなく作業を行えることを意味します。

バックエンドサービスとは?フロントエンドとバックエンドの違いとは?

通常、アプリケーション開発はフロントエンドとバックエンドの2つの領域に分割されます。フロントエンドは、視覚的なレイアウトなど、ユーザーが表示および操作するアプリケーションの一部です。バックエンドは、ユーザーには見えない部分です。これには、アプリケーションのファイルが存在するサーバーと、ユーザーデータとビジネスロジックが保持されるデータベースが含まれます。

アプリケーションのフロントエンドとバックエンド

たとえば、コンサートチケットを販売するWebサイトを想像してください。ユーザーがブラウザウィンドウに要求を入力すると、ブラウザはWebサイトのデータで応答するバックエンドサーバーに要求を送信します。ユーザーには、Webサイトのフロントエンドが表示され、テキスト、画像、ユーザーが入力するフォームフィールドが含まれます。ユーザーは、フロントエンドのフォームフィールドの1つとやり取りして、お気に入りの音楽公演を検索できます。ユーザーが「送信」をクリックすると、バックエンドへの次のリクエストがトリガーされます。バックエンドのコードはデータベースをチェックして、この名前のパフォーマーが存在するかどうかを確認し、存在する場合は、いつ公演があるか、チケットが何枚残っているかを確認します。その後、バックエンドからそのデータがフロントエンドに渡され、フロントエンドはユーザーにとって意味のある方法で結果を表示します。同様に、ユーザーがアカウントを作成し、チケットを購入するための財務情報を入力すると、フロントエンドとバックエンドの間でさらにやりとりが発生します。

サーバーレスコンピューティングにより提供できるバックエンドサービスとは?

ほとんどのサーバーレスプロバイダーは、顧客にデータベースおよびストレージサービスを提供し、その多くはCloudflare WorkersのようなFunction-as-a-Service(FaaS)プラットフォームも持っています。そうしたプラットフォームは、データを保存せずにエッジでコードを実行できます。

サーバーレスコンピューティングの利点とは?

  • コスト削減 - 通常、サーバーレスコンピューティングは非常に費用対効果が高いです。従来のクラウドプロバイダーのバックエンドサービス(サーバー割り当て)は、ユーザーが未使用のスペースまたはCPUのアイドル時間に対して料金を支払うことになることが多いからです。
  • スケーラビリティの簡素化 - サーバーレスアーキテクチャを使用する開発者は、コードをスケールアップするためのポリシーの管理について心配する必要がありません。サーバーレスベンダーが、オンデマンドですべてのスケーリングを処理します。
  • バックエンドコードの簡素化 - FaaSを使用すると、開発者はAPI呼び出しを行うなど、単一目的を独立して実行する単純な関数を作成できます。
  • 所要時間の短縮 - サーバーレスアーキテクチャにより、市場投入までの時間を大幅に短縮できます。開発者は、バグ修正や新機能をリリースする際の複雑なデプロイプロセスを必要とせず、コードを少しずつ追加および変更できます。