サーバーレスコンピューティングは、比較的新しいイノベーションです。基本的には、サーバーのリソースと、それらが提供する機能の間に抽象化レイヤーを設けるもので、Function as a Service(FaaS)と呼ばれることもあります。
サーバーの機能をクラウド経由で提供することで、より簡単かつ低コストにアプリケーションを構築・運用できます。これにより、アプリケーションの実行に必要なインフラのプロビジョニング、スケーリング、管理といった、サーバーに関わる作業を容易に行えるようになります。
こうした機能はエンドユーザーから切り離され、バックグラウンドで自動的に処理されます。これにより、リソース割り当てがよりシンプルになるだけでなく、開発者などはアプリの運用・サポートに必要な基盤インフラの把握ではなく、中核業務に集中できるようになります。
サーバーレスコンピューティング市場における主要トレンドを以下に紹介します。
1. サーバーレスの成長
サーバーレスコンピューティングは人気を集めています。AWSユーザーの50%は、2020年に実施された調査で、何らかのサーバーレス機能を利用していると回答しました。
この数字は、過去2年間で急速に伸びています。
現在、この成長を続ける市場の規模は約80億米ドルと推定され、2016年の19億米ドルから増加しています。
2. アプリケーションの高速化
多くの企業がサーバーレスコンピューティングに引きつけられる理由の1つは、アプリケーションをより短時間で構築できることです。
サーバーレスコンピューティングでは基盤インフラを管理する必要がないため、アプリケーションの作成に携わる人々は、ストレージやコンピューティングリソースに関するコーディングなどの雑務に煩わされずに済みます。
「このアプローチは、アプリケーションの作成とデプロイのプロセスを大幅に簡素化します。開発者はビジネスの中核となる価値の創出に集中し、生産性を高め、製品をより早く市場に投入できるようになるからです。インフラに関連するオーバーヘッド作業が抽象化されるためです」と、Naina Singh氏(Red Hatのプリンシパルプロダクトマネージャー)は述べています。」
「サーバーレス機能は、一般的なネットワークコードや、通常クラウドネイティブアプリケーション向けに必要となるその他の定型コードも不要にすることで、これをさらに推し進めます。」
3. 動的なスケーリング
動的なスケーリングも、サーバーレスの導入を後押しするトレンドの1つです。
サーバーレスコンピューティングに携わる人々は、より簡単かつ動的にスケーリングできることを実感しています。
例えば、Red Hat OpenShift Serverlessをはじめ、多くのサーバーレスベンダーがKnativeのオープンソースフレームワークを利用しています。
KnativeはKubernetes上にコンテナベースのサーバーレスソリューションを提供します。その結果、実際のユーザー需要に基づいてスケーリングでき、比較的容易にゼロから増減させることが可能になります。
4. コストの抑制
サーバーレスは、インフラコストを抑える賢い方法になる場合があります。
従量課金モデルを採用しているため、開発者などは、一定数のサーバーを維持するよりもサーバーレスリソースを購入するほうが安価だと考えるかもしれません。
コンピューティングリソースが短時間しか必要でないなら、それを支えるインフラを社内に構築する必要があるでしょうか。これにより、プロセスの独立性をさらに高めることもできます。
サーバーレスコンピューティングのイベント駆動型システムを使ってアプリケーションの各部分を分離すると、バグなどの問題を局所的な領域に封じ込められます。これは開発者にとって大きな助けになります。
5. ステートレスは可、ステートフルは不可
サーバーレスコンピューティングは、あらゆるユースケースに適しているわけではありません。
Red HatのSingh氏によると、ステートレスなユースケースがサーバーレスアーキテクチャに最も適しています。
「サーバーレスアプローチはステートレスアプリケーションに完全に適していますが、ステートフルアプリケーション(2つのリクエスト間でセッション状態をメモリに保存する場合など)をサーバーレス方式で実行するには、追加の作業が必要です。常に可能とは限りません」とSingh氏は述べています。
「ステートレスなユースケースがサーバーレスアーキテクチャに最適であり、その場合、状態管理の負担は別の方法でユーザーが負うことになります。」
アクセス特性が均一でなく、トラフィックパターンの変動が大きいアプリケーションも、サーバーレス環境に適しています。
休日や財務報告の時期など、季節的・短期的な急増に対応するビジネスであれば、その短期間の利用分だけを支払えばよいため、サーバーレスによってコストを削減できます。
これが、数多くのスタートアップがサーバーレスコンピューティングに引きつけられている理由です。創業初期には、機器への支出を避けようとすることが少なくありません。サーバーレスなら、アプリを構築した後、社内インフラの拡充を支えられるだけの収益をもたらす顧客基盤を確立できます。
「サーバーレスパラダイムに最適なユースケースは、アクセス特性が均一でなく、トラフィックが急増する形状を持つアプリケーションです」とSingh氏は述べています。
「例えば、クリスマスカードを販売するショップは、夏の間使われていないウェブショップの料金を支払う必要がありません。サーバーレスアプリケーションは、実験やスタートアップのアイデアの検証にも最適です。デプロイコストが利用量に直接連動するため、投資リスクを最小限に抑えられるからです。」
ただし、厳しく規制された業界に属する企業は、サーバーレスを避けたほうがよいでしょう。マルチテナントアーキテクチャにより、コンプライアンス上の問題が生じる可能性があるためです。たった1つの設定ミスで、データ漏えいやその他のセキュリティ・コンプライアンス上の問題が発生する可能性があります。