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

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

サーバーレスコンピューティングは、一時的なサーバーでデータを処理する形のクラウドコンピューティングの一種です。つまり、コンピューティングが必要になった時、クラウド事業者は、CPU、メモリ、ディスクスペースなどの必要なリソースを割り当て、一時的なサーバーで実行します。そして、処理が完了し、その結果が送信されたら、サーバーのリソースが解放されるため、処理リソースを常に保持する必要はありません。

その他クラウドコンピューティングの種類とどのように異なっているのでしょうか?

仮想化技術とクラウドコンピューティングがますますソフトウェア開発プロセスに関与するようになった現在、サーバーインフラ構築作業は大幅に削減されました。

例えば、仮想マシン(IaaS)のサーバーを管理する必要がなくなりますが、使用する環境とアプリケーションのみに焦点を当てます。サーバーレスコンピューティングの登場により、アプリケーション業務に集中できるようになり、サーバー管理の負担を軽減できます。

Credit: medium.com

サーバーレスサービスを提供する事業者

主要なサーバーレスサービス事業者は次の通りです。

AWS Lambda:クラウドコンピューティングの市場シェアを占めている米アマゾンドットコム社が提供します。

Azure Functions:米マイクロソフト社が提供します。

Google Cloud Functions:米グーグル社が提供します。

サーバーレスのメリット

  • ほとんどのサーバーレスサービス事業者は実績ベースの処理に基づいて課金するため、コストを節約できます。
  • 処理用の環境を準備する必要はありません。
  • サーバーが不要なため、メンテナンス作業の負荷を軽減します。
  • 必要なキャパシティが自動的に拡張できるように設計されたため、使用者が多くてシステム障害を引き起こす問題など、システムのスケーラビリティについて心配する必要はありません。

サーバーレスのデメリット

  • 処理用のリソースを割り当てている間、処理の実行に多少遅延(レイテンシー)が発生します。サーバーレスの応答速度は、すべてのリソースが既に確保された仮想マシンのサーバーと比較したら、速くありません。
  • マシンのリソースが限られているため、多くのリソースを必要とする場合、または処理時間がかかる場合のコンピューティングには適していません。タスクをより小さなコンピューティングプロセスになるように設計する必要があります。
  • ソフトウェア開発者は、設計の概念を変更し、小さな機能にする必要があります。
  • 一度サービス事業者を選定したら、ソフトウェアがその事業者の特定の形式で開発されるため、後になって他の事業者に変更することは困難です。

まとめ

サーバーレスコンピューティングは、スケーラビリティとサーバー管理の問題に対処するように設計されています。サーバーレス導入により、コストが削減できます。顧客と開発チームは、ビジネスニーズを満たすためにシステムの機能改善に集中できるようになります。また、開発したソフトウェアの納期を短縮することも可能です。

Credit: freepik