サーバーレスアーキテクチャとは、基盤となるサーバーインフラを管理せずにアプリケーションやサービスを構築・実行するアプローチです。この記事では、サーバーレスアーキテクチャとそのメリットについて解説し、主要なサーバーレスプロバイダーを紹介します。
続きを読む:サーバーとは何か?サーバーは何をするのか?
サーバーレスアーキテクチャとは?
まず、「サーバーレス」という言葉は誤解を招きます。これはプロバイダーがサーバーインフラを処理するマネージドサービスです。サーバーレスアーキテクチャ、またはサーバーレスコンピューティングとは、Function as a Service(FaaS)とも呼ばれ、顧客の要求に基づいてクラウドプロバイダーがマシンリソースを割り当て、サーバーを管理するクラウドコンピューティングの実行モデルです。これにより、サーバーレスでは管理者がアーキテクチャ関連の責任から解放されます。
まず、「サーバーレス」という言葉は誤解を招きます。これはプロバイダーがサーバーインフラを処理するマネージドサービスです。
このモデルでは、開発者はメンテナンス、構成、キャパシティープランニング、フォールトトレランス、コンテナ・物理サーバー・仮想マシンのスケーリングなどを気にする必要がありません。そのため、多くのスタートアップが特にサーバーレスアーキテクチャの導入に関心を寄せています。
近年、サーバーレスの導入は大幅に増加しています。O’Reilly Serverless Surveyの2019年の調査によると、回答者の40%が、運用コストの削減と自動スケーリングの改善を目的に、何らかの形でサーバーレスアーキテクチャを導入している組織に勤務しています。
サーバーレスアーキテクチャの世界市場の成長を支えているのは、アプリケーション開発の迅速化と、サーバー管理をなくしたいというニーズの高まりです。MarketsandMarketsの分析によると、サーバーレス市場の規模は2020年に76億米ドルで、2025年には211億米ドルに達すると予測されています。
Developer.comで続きを読む:サーバーレスコンピューティングとは?
サーバーレスのメリットとは?
サーバーレスアーキテクチャは、主にイベント駆動型アーキテクチャ、運用コストの削減、デプロイ・セットアップ・運用にかかる時間の短縮を目的として普及しました。サーバーレスアーキテクチャのメリットを以下に簡単に説明します。
デプロイが容易
デプロイは、あらゆるシステムにとって重要な要素です。サーバーレスアーキテクチャは、アプリケーションやサービスに最適な選択肢となり得ます。数週間から数カ月かかる場合と比べ、ユーザーは数時間から数日でデプロイできるためです。これにより、ユーザーはコードに集中し、アプリケーションやサービスをすぐにリリースできます。
コスト効率が高い
サーバーレスアーキテクチャは、一定数のサーバーを維持するよりもコスト効率に優れている場合があります。クラウドプロバイダーは従量課金モデルを採用しているため、使用していない仮想マシンやサーバーに料金を支払う必要がありません。サーバーレスアーキテクチャは、マシンリソースをより効率的にビンパッキングすることで、自動スケーリンググループをプロビジョニングするよりもさらにコスト効率を高められる可能性があります。
自然にスケーラブル
クラウドプロバイダーがオンデマンドでキャパシティーのスケーリングを担うため、開発者が自動スケーリングの設定やチューニングに時間を費やす必要はありません。その代わり、サーバーレスコンピューティングの関数インスタンスは、同時実行数の上限内で、トラフィックの変動に応じて自動的に作成・削除されます。
プロセスの分離
サーバーレス環境ではイベント駆動型のシステムを使用するため、アプリケーションの各サブパーツは独立しています。エラーや障害が発生しても、影響するのはそのイベントだけです。例えば、AWS Lambdaの各関数は完全に分離されています。ある機能を停止しても他の機能には影響せず、サーバー全体がクラッシュすることもありません。
生産性
サーバーレスアーキテクチャを利用する開発者は、サーバーに伴うメンテナンスや計画上の問題を気にせず、コードをそのままデプロイできます。調査によると、これにより製品の提供サイクルが加速し、運用を迅速にスケールできるようになります。
続きを読む:エッジネットワーク:エッジコンピューティングネットワークの構築方法
主要なサーバーレスベンダーは?
人気のあるクラウドプロバイダーの多くは、FaaSとしてサーバーレスアーキテクチャを提供しています。そのため、すでにAWSやAzureなどのベンダーを他のサービスで利用している場合は、サーバーレスにも同じベンダーを使うことを検討するのが得策でしょう。以下に、特に人気の高いサーバーレスベンダーを紹介します。
1. AWS Lambda
- 開発元: Amazon
- 初回リリース: 2014
- 重点:イベント駆動型のサーバーレスコンピューティングプラットフォーム、AWSサービスとの統合
- 開発元: Microsoft
- 初回リリース: 2016
- 重点:イベント駆動型のサーバーレスコンピューティングプラットフォーム、Azureサービスとの統合
- 開発元: Google
- 初回リリース: 2016
- 重点:イベント駆動型のサーバーレスコンピューティングプラットフォーム、GCPサービスとの統合
- 開発元: IBM
- 初回リリース: 2016
- 重点:イベント駆動型のサーバーレスコンピューティングプラットフォーム、オープンソースのApache OpenWhiskプロジェクトを基盤とする
- 開発元: Cloudflare
- 初回リリース: 2018
- 重点:世界中にコードを即時デプロイするためのプラットフォーム、エッジおよびパフォーマンスコンピューティング
TechRepublicで続きを読む:AWS Lambda:チートシート
サーバーレスに移行する理由は?
イベント駆動型アーキテクチャ、低コスト、容易なデプロイにより、サーバーレスアーキテクチャは非常に人気があります。さらに、FaaS製品はAmazon、Microsoft、Googleなどの著名なベンダーから提供されています。サーバーレスアーキテクチャにはいくつかの制限がありますが、そのスケーラビリティーと料金体系は、サーバーを維持する時間やリソースのないスタートアップなどの組織に適しています。