サーバーレス(Serverless)

サーバーレス(Serverless)とは、開発者がサーバーの準備や管理をせずに、プログラムを実行できる仕組みのことです。「サーバーが無い」という意味ではなく、サーバーの面倒を自分で見なくてよいという考え方を指します。クラウド事業者がサーバーを裏側で自動的に用意し、必要なときだけ動かしてくれます。

イメージとしては、サーバーレスは電気の使い方に似ています。私たちは発電所を自分で持たなくても、コンセントにつなげば電気を使え、使った分だけ料金を払います。同じように、サーバーレスではサーバーという「設備」を自前で持たず、プログラムを動かした分だけ料金を払えばよいのです。使っていないときには料金が発生しないため、無駄がありません。

従来は、サービスを公開するために自分でサーバーを借り、その性能や台数を管理し続ける必要がありました。サーバーレスでは、こうした「土台づくり」の部分をすべてクラウド事業者に任せられるため、開発者は本来やりたい仕事に専念できるようになります。

従来の方法との違い

これまでは、プログラムを動かすために自分でサーバーを用意し、設定や保守を続ける必要がありました。サーバーレスではその手間が不要になります。違いを整理すると次のとおりです。

項目 従来のサーバー サーバーレス
準備 自分で構築・設定 事業者が自動で用意
管理 保守や更新が必要 管理は不要
料金 使わなくても発生 実行した分だけ

サーバーレスのメリット

サーバーレスの最大の利点は、開発者がプログラムそのものの開発に集中できることです。サーバーの管理から解放されるため、少人数でもスピーディーにサービスを立ち上げられます。また、アクセスが急に増えても、必要な処理能力を自動で確保してくれるため、混雑によってサービスが止まる心配も減ります。使った分だけの料金なので、無駄なコストがかかりにくい点も魅力です。

サーバーレスの代表的なサービス

サーバーレスは、AmazonやGoogle、Microsoftといった大手クラウド事業者が提供しています。中でも「AWS Lambda(ラムダ)」がよく知られており、あらかじめ書いておいたプログラムを、特定のきっかけに応じて自動で実行してくれます。フォームの送信をきっかけにメールを送る、といった小さな処理を組み合わせる使い方に向いており、近年のクラウド開発で広く採用されています。

一方で、サーバーレスにも向き不向きがあります。短時間で終わる処理は得意ですが、長時間動かし続ける必要のある処理には不向きな場合があります。また、しばらく使われていない状態から動き出すときに、わずかな待ち時間が生じることもあります。こうした特性を理解したうえで、目的に合わせて使い分けることが大切です。

あわせて知っておきたい用語

  • クラウド
    ネット越しに使うコンピューター資源
  • サーバー
    サービスを提供する側のコンピューター
  • API
    プログラム同士をつなぐ窓口

コメント

タイトルとURLをコピーしました