サーバーレスクラウドコンピューティングとは
サーバーレスは、開発者がサーバー管理を気にせずにアプリケーションを作成・実行できるクラウドネイティブな設計プロセスです。
サーバーレスでもサーバーは存在しますが、アプリケーション開発から切り離されています。クラウドプロバイダーがサーバーインフラの構築、スケーリング、保守のタスクを担います。デプロイには、開発者がコードをコンテナ化できます。
サーバーレスプログラムは需要に応じて適応し、起動後は必要に応じて個別にスケーリングされます。サーバーレス製品を提供するパブリッククラウドプロバイダーは、オンデマンドでイベント駆動により実行し、従量課金されます。そのため、サーバーレス関数が待機状態のとき、コストは一切かかりません。
サーバーレスコンピューティングのメリット
サーバー管理が不要
サーバーレスコンピューティングはサーバー上で実行されますが、開発者がサーバーを意識する必要はありません。サーバーはベンダーが管理します。これにより DevOps のコストを削減でき、開発者はサーバーキャパシティに制約されることなくアプリケーションの構築と改善に集中できます。
使用したサーバーリソースのみの課金
従量課金の携帯電話プランに似ています。サーバーレスオペレーションでバックエンド機能が必要になったときにのみコードが実行され、必要に応じて自動的にスケールします。プロビジョニングはリアルタイムで正確、かつ動的に行われます。サービスによっては 100 ミリ秒単位で課金されるものもあります。一方、従来のサーバーベース構成では、開発者が事前に必要となるサーバーキャパシティを見積もり、実際に使用するかどうかにかかわらず、そのキャパシティを確保する必要があります。
サーバーレスアーキテクチャに備わるスケーラビリティ
郵便局が配達トラックを自由に増減できると想像してください。郵便物の量が増える時期 (たとえば母の日の直前) には台数を増やし、配達が少なくて済む時期には台数を減らす。サーバーレスプログラムもまさにこれと同じことができます。
サーバーレスアーキテクチャで構築されたアプリケーションは、ユーザー数や使用量の増加に応じて自動的にスケールします。関数を複数のインスタンスで実行する必要がある場合、ベンダーのサーバーがコンテナを活用して必要に応じて起動、実行、停止を行います。その結果、サーバーレスアプリケーションは、大規模なリクエストも単一ユーザーからの 1 件のリクエストと同じように効率的に処理できます。一方、サーバーキャパシティを固定した従来のアプリケーションでは、予期せぬトラフィックの急増に対応しきれない場合があります。
迅速なデプロイとアップグレード
サーバーレスアーキテクチャでアプリケーションの実動版をデプロイする場合、サーバーへのコード提出やバックエンド設定は不要です。開発者はコードを提出して、新製品をすばやくデプロイできます。プログラムはモノリシックスタックではなく、ベンダーが提供する関数の集合体であるため、コードを一括で読み込むことも、関数ごとに個別に読み込むことも可能です。
これにより、アプリケーションの迅速な更新、パッチ適用、修正、新機能の追加も可能になります。アプリケーション全体を変更する必要はなく、開発者は関数単位でアプリケーションを更新できます。
エンドユーザーに近い場所でのコード実行
アプリケーションを中央サーバーにホストしないため、ユーザーはどの場所からでもコードを実行できます。ベンダーによっては、アプリケーションの関数をエンドユーザーに近いサーバーで実行できるため、ユーザーのリクエストがオリジンサーバーまで往復する必要がなくなり、レイテンシが削減されます。
サーバーレスコンピューティングの未来
クラウドコンピューティングは成長を続けており、期待された課題を克服してきました。コスト削減とシステム管理の簡素化を実現する企業は年間最大 50% の成長を遂げており、クラウドプロバイダーにとって非常に収益性が高くなっています。クラウドコンピューティングは新たな段階に入り、よりシンプルなクラウドプログラミングという新しい価値提案が継続的な拡大を牽引しています。
関連記事
-
Hadoop コアアーキテクチャ HDFS の詳細解説
ナレッジベースチーム
-
IoT とは
ナレッジベースチーム
-
データストレージの 6 つの選択肢
ナレッジベースチーム
-
ブロックチェーン技術とは
ナレッジベースチーム
特別オファーをもっと見る
-
Short Message Service (SMS) とメールサービス
5 万通のメールパッケージが USD 1.99 から、120 通のショートメッセージがわずか USD 1.00 から


