Webサイトの制作などの関わる方であれば、最近「サーバーレス」というワードを耳にする機会が増えたのではないでしょうか。
サーバーに関することとは分かるものの、サーバーレスってサーバーが不要なのか?どういうこと?と思われている方もいるでしょう。そこで、サーバーレスとは何か、どのようなメリットがあるのか、などについて解説していきます。
サーバーレスとは何か
サーバーレスとは、サーバーの運用を専門の会社が代わりにやってくれるサービスです。多くの会社は自社でサーバーを用意したりレンタルサーバーを借りたりして、そこでシステムなどを運用しています。しかしサーバーレスというサービスを利用すれば、サーバーというものを自社で用意したり点検したりしなくても良いということです。
またサーバーというのはデータなどが置かれている大容量のコンピューターのことです。厳密に言えば少し異なるのですが、個々のパソコンやスマホからサーバーというコンピューターにアクセスし、やり取りするイメージです。
サーバーレスのメリット
サーバーレスには以下のようなメリットがあります。
- サーバーをすぐに使える
- 使った分だけの支払い
サーバーをすぐに使える
サーバーレスは提供会社にサーバーの管理を丸投げできるので、自社でサーバーを維持管理する必要がありません。自社でサーバーを用意する場合はもちろん、レンタルサーバーを契約した場合もシステムだけでなくサーバー周りの管理などが必要です。
イメージとしては、サーバーという物理的な部分により近い部分の設定作業などが発生するということです。しかしサーバーレスのサービスを使えば物理的な部分はもちろんサーバーの設定なども代行してくれるので、自社ではシステムの機能部分の開発だけをすればOKです。
使った分だけの支払い
サーバーレスにすると使った分だけの支払いになるという点も大きなメリットです。自社でサーバーを用意する場合やレンタルサーバーの場合は、実際に使用する分よりも容量に余裕を持たせる必要があります。サーバーレスの場合は使った分だけの支払いで、またアクセスが集中したら落ちてしまうなどの心配もありません。
サーバーレスのデメリット
サーバーレスを導入することにはデメリットも伴います。以下のようなデメリットが挙げられるでしょう。
- サービス提供している業者に依存してしまう
- 移行に手間がかかる場合がある
サーバーレスのサービスを利用すると、サーバーの管理はサービス提供している業者に丸ごと依頼することになります。つまり、サーバーという観点では完全に業者に依存するということです。
業者に依存することは大きなデメリットではないのですが、たとえば他社への乗り換えが難しかったり、業者の技術仕様に合わせる必要がある、といったことがあります。
またもともと自社で用意したサーバーやレンタルサーバーを使っている場合、サーバーレスに移行することになります。サーバーレスは比較的新しいサービスで、既存のレンタルサーバーなどからの移行事例がすごく多いわけではありません。
Webサイトやシステムをカスタマイズしている場合、そこで使っているソースコードがそのまま使えないといったことも考えられます。サーバーレスのサービスはサーバーの運用は代行してくれますが、移行してシステムが正しく動くかの確認は自分たちで行う必要があります。
Webサイトやシステムを新規で構築する場合、このようなデメリットは発生しません。
サーバーレスのサービス例
サーバーレスのサービスは複数ありますが、代表的なものとしてはAWS Lambdaが挙げられます。AWS LambdaはAWSが提供するサービスで、いわゆるFaaSと呼ばれるものです。FaaSはFunction as a Serviceの略で、サーバーレスでアプリケーションの開発などを行えるサービスです。
またAWSはご存じの方も多いかと思いますが、Amazon Web Servicesの略でAmazonが提供しているサービスです。100以上の種類があり、たとえばオンラインでアプリを構築したり、データを保存したりするサービスを提供しています。
サーバーレスとPaaSの違い
サーバーレスのサービスはFaaSと呼ばれるものの一種です。FaaSとは、サーバーの管理などを業者がやってくれて、その上で自由にアプリケーションなどを運用できるというサービスになります。サーバーレスとFaaSはほぼ同じものと考えて問題ないでしょう。
FaaSと類似する用語として、PaaS、CaaS、IaaS、オンプレミスなどがあります。これらの違いとしては、クラウドサービス事業者がどこまでのサービスを提供しているかです。
細かい違いはわかりにくいので、まずはざっくり把握しておけば良いかと思います。以下に表を作成しましたので、ご参考ください。
FaaS | PaaS | CaaS | IaaS | オンプレミス |
---|---|---|---|---|
アプリケーション | ||||
データ | ||||
ランタイム | ランタイム | |||
ミドルウェア | ミドルウェア | |||
コンテナ管理機能 | コンテナ管理機能 | コンテナ管理機能 | ||
OS | OS | OS | ||
仮想マシン | 仮想マシン | 仮想マシン | 仮想マシン | |
ハードウェア | ハードウェア | ハードウェア | ハードウェア |
オンプレミスとは、すべての設備を自社で用意するということです。つまりFaaSはすべての機能をクラウドサービス事業者が管理し、PaaS、CaaS、IaaSと管理される機能が少なくなっていきます。
まとめ
レンタルサーバー、クラウドサーバーとサーバーレスの違いがわかりにくいですが、レンタルサーバーやクラウドサーバーはサーバーを貸し出すサービスです。
一方で、サーバーレスはサーバーを貸し出すのではなく、業者が管理するサーバー上でサイトやアプリをそのまま運用するサービスです。レンタルサーバーやクラウドサーバーだと借りたサーバーをある程度管理しなければならないのですが、サーバーレスならサーバー周りの管理をことはやらなくて良くなり、システムの開発に集中することができます。
どちらを選択すべきなのかはエンジニアに検討してもらえばよいと思いますが、なんとなく理解で関わってしまうとコミュニケーションエラーなどの原因にもなりますので、基本的な概念は理解しておくようにしましょう。
この記事を書いた人
WRITER
freenote編集部
Webフリーランスに役立つ情報を発信するメディア「freenote」編集部です。仕事に役立つナレッジや情報。経営や営業に関する情報などさまざまなジャンルの記事を発信していきます。