サーバーレスはクラウドが目指した本来の姿なのか
Amazonが、Aurora Serverlessの正式版を公開しました。
最近何かと話題の多いサーバーレスですが、TechCrunchの記事にもあるように、コンセプトとしては特に新しいものではありません。
サーバーレスと言っても、どこかにサーバーは存在します。サーバーレスは、ユーザーがサーバーを管理しなくても良いということであり、その点ではSaaSやPaaSと同じです。しかし、SaaSやPaaSはサービス提供者が用意したソフトウェア・機能を利用するのに対し、サーバーレスはユーザーが作ったアプリや関数をクラウド上で動かすことができます。
これまでサーバーレスというと、Amazon Lambdaのように、外部からのイベントによってユーザーが用意した「関数」を起動させるような利用方法を指していました。しかし、今回Auroraのような一般用途にも使えるデータベースがサーバーレスに対応してきたことによって、これまでIaaS上にサーバーを用意して、その上で動かしていたアプリをサーバーレスで動かすことができるようになり、クラウド上のアプリケーションの作り方が根底から変わる可能性があります。
元々クラウドコンピューティングというのは、「必要なリソースを、必要なときに、必要なだけ」使えるように、というのが目的です。サーバーレスは、クラウドコンピューティングが到達した究極の形かも知れません。
クラウド後に生まれたPaaS
サーバーレスは多くの場合FaaS(Function as a Service)に分類されますが、これはPaaSの発展型と見ることができます。(PaaSとSaaSの中間、という見方もありますが、まあ、このへんの境界は曖昧ですね)PaaSは元々SaaSであるSalesforceの機能を外部から使えるよう公開したことから始まったと言われており、サーバーを立ち上げてそれを利用するという発想では無く、クラウド上に用意されているサービスを利用するという考え方に基づいています。
そして、このPaaSこそは、クラウドの申し子です。ネット越しにサービスを提供するSaaSの原型はASPですし、IaaSにはホスティングという原型があります。しかし、PaaSにはクラウド以前の原型がありません。クラウド後に生まれた形態なのです。
サーバーレスのメリット
IaaSでは、サーバーインスタンスを立ち上げている間に課金されます。クラウドはコストが安いという印象を持っている人も多いのですが、実はインスタンスを何も考えずに24時間立ち上げておくと、むしろ高くつくことも多いのです。必要の無いときには適宜止めることで、コストが最適化されます。サーバーレスなら、必要なときにだけ自動的に立ち上がるので、さらにコストメリットは大きくなります。
Lambdaが画期的だったのは、IoTのように何時データが発生するかわからないけれども、常に待機していなければならないという状況に最適だったからです。インスタンスを24時間立ち上げておく場合に比べて桁違いのコストで済みます。
全てのシステムがサーバーレスに?
今回のAuroraでは、最初の立ち上がりに25秒程度かかるということで、用途が結構限定されそうな感じですが、起動が数ミリ秒くらいになってくると、かなり使い道はありそうです。今後いろいろなものがサーバーレスまわりで整備されていけば、活用は広がっていくでしょう。
そもそも、企業の業務用サーバーなどは夜間は動かしておく必要が無いものも多いでしょうし、メールサーバーだってファイルサーバーだって必要なときだけ動けば良いわけで、そうなればサーバー立ち上げっぱなしなどということは無くなっていくのではないでしょうか。
クラウドの出現によって、起業時の費用負担が減り、スタートアップ企業が増えたという話があります。それまで起業時に多大なシステム投資が必要だったのが、クラウドの利用によって初期投資を抑えられ、その結果起業が簡単になったのです。(リーンスタートアップ)これがサーバーレスになると、さらにコストが安くなります。クラウド事業者にとっても、無駄なインスタンスが無くなればデータセンターの利用効率が上がることになり、料金を引き下げることもできるでしょう。サーバーレスが、システム構築の基本となる日がくるのかも知れません。