【サーバレスとは?】どんなサービスに向いている?メリット・デメリットを詳しく解説!

目次
      1. サーバレス(サーバレス・アーキテクチャ)の基本情報
      2. サーバレスのメリット
      3. サーバレスのデメリット
      4. サーバレスがおすすめのケース
      5. まとめ

 


「サーバレスという言葉は知っているけれど、何が良いのだろうか」「導入を検討しているけど、自社のサービスに合うか不安」といったお悩みを抱えている企業の方も多いのではないでしょうか。
この記事では、サーバレスの仕組みやメリット・デメリットをご紹介します。サーバレスの導入を考えている方はぜひチェックし、判断材料にしてください。

1.サーバレス(サーバレス・アーキテクチャ)の基本情報


サーバレスとは、システム開発・運用のためのインフラ整備が不要で、コードを作成するだけで開発が完了するプラットフォームです。ここでは、サーバレスの基本情報について以下2点を解説します。

【基本情報】

  • サーバレスとは
  • その他のサーバーとの違い

サーバレス(サーバレス・アーキテクチャ)とは?

サーバレスとは、提供側がサーバーを用意し設定・運用管理、負荷対策までを行うことにより、ユーザーがサーバーの運用保守を一切意識せずにアプリケーションを作成できるプラットフォームのことです。ユーザーはコードを書くことにのみ集中できます。サーバレスはクラウドの台頭により、重要性を増しているキーワードです。クラウドベンダーのひとつであるAWSでは、サーバレスサービスの一つとしてLambdaを提供しています。ユーザーはコードを書くだけで、Lambda上でプログラムを実行できます。
サーバレスにおけるクラウドの代表的なサービス提供形態はFaaS(Function as a Service)です。FaaSは、サーバーやミドルウェアなど開発に必要なインフラを用意する必要がなく、プログラムの関数をアップロードしてすぐに実行することが可能となるサービスを差します。

サーバレス(FaaS)とIaaS・オンプレミスの違い

ここではFaaSを例にとり、サーバレスとIaaS、オンプレミスの違いについて比較してみます。

FaaS SaaS オンプレミス
料金形態 従量課金制 従量課金制 初期導入費用+運用保守費用
ユーザー管理範囲 アプリケーションのみ OS、ミドルウェア、アプリケーション ハードウェア、OS、ミドルウェア、アプリケーション
リソースの柔軟性 ×(増加時は購入が必要)

FaaSとIaaS、オンプレミスの大きな違いは3つあります。

1つ目は料金形態です。FaaSやIaaSのようなクラウドサービスは、一般的に従量課金制です。利用した分しか料金がかからないため、安価で済む場合があります。オンプレミスでアプリケーションの開発を行う場合は、ハードウェアやソフトウェアそのものを購入する費用に加え、それらの保守費用も必要になることから、クラウドサービスを利用する場合に比べてコスト高になるケースが多いです。

2つ目はユーザーが管理しなければならない範囲です。FaaSはユーザーの管理範囲がアプリケーションのみであるため、OSやインフラ環境の管理をユーザー側で気にする必要がなく、クラウドベンダーに任せることが可能です。一方、同じクラウドサービスのIaaSは、自身でOS設定やミドルウェアをインストールする等が必要なため、FaaSに比べると機能の提供までに時間がかかる可能性があります。オンプレミスではIaaSの管理範囲に加え、ハードウェアの管理も増えることから、より一層ユーザー側の管理負担は大きく、複雑になります。逆に言えば、オンプレミスが最も、ユーザー側の自由度が高いともいえます。

最後に、リソースの柔軟性です。性能の向上が必要になった場合、FaaSやIaaSはクラウドのメリットである拡張の柔軟性を活かしやすいです。スケールアップ/ダウンやスケールアウト/インの実装が容易であるという点で優れています。オンプレミスではリソースを増やす際は新たに機器の購入が必要となり、対応に時間もかかります。

2.サーバレスのメリット


サーバレスについて基本情報をご紹介しましたが、利用することでどのようなメリットがあるのでしょうか。
ここからは、サーバレスのメリットを4つご紹介します。

【メリット】

  • 構築・運用・保守が不要
  • コスト削減
  • より高いレベルで可用性の担保が可能
  • 柔軟な拡張・縮小

 

構築・運用・保守などが不要になる

通常、ユーザーはアプリケーションやサービスが稼働しているサーバーの構築・運用・保守が必要となります。それらはシステムを保有する企業が全て行なうため、本来であればアプリケーション部分の開発に注力したいところ、インフラ部分のメンテナンスに時間もコストもかかるのが課題でした。
しかし、サーバレスではクラウドベンダーがサーバーの構築・運用・保守を行います。そのためユーザーはサーバーに関する様々な運用・保守業務のカットが可能。これまで以上にアプリケーション開発など、本来のビジネス分野に集中できます。

無駄なコストを削減できる

サーバレスでは、コードの利用時間や実行回数に応じて料金を決定する課金制度が採用されています。つまり、プログラムを使った分だけ料金がかかるため、余計なコストが発生しません。
仮想サーバーを利用したシステムの場合、サーバーが稼働している間は利用していなくても料金が発生しますが、サーバレスはコードを実行していない限り料金がかからないので、比較的にコストを抑えることができるでしょう。

より高いレベルで可用性が担保できる

自社だけで高いレベルの可用性を担保するためには、複数のデータセンターと契約してサーバーを冗長化する等、金銭的コストがかかります。また、人件費やメンテナンスにかかる時間などの運用保守面で負担が大きくなりがちです。
この点について、サーバレスではクラウドベンダーがサービスレベルを定義し、可用性を担保してくれています

柔軟に拡張・縮小できる

システムを構築する際は、アクセス数やデータ量などに応じてリソースを調節します。予測して設計を行っても、運用後にそれを上回るアクセスがあった場合リソースを増やす必要があります。都度インフラ部分のメンテナンスが発生することで、費用も余計にかかってしまいます。
サーバレスでは、処理性能の拡張・縮小が自動的に行われるため、リソースの過不足に柔軟に対応することができます

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


サーバレスには多くのメリットがありますが、注意点もあります。ここからは、AWSのサービスを例に、サーバレスの2つの注意点をご紹介します。

【デメリット】

  • 対応プログラミング言語の制約
  • 性能の制約

対応プログラミング言語の制約

サーバレスでは、クラウド事業者が提供する基盤でプログラムを実装する必要があるため、既存のコードが使えない可能性があります
例えば、既存アプリケーションのソースコードをAWS Lambdaへ移行する際、対応プログラミング言語で書かれていない場合は変換が必要です。Lambdaでは利用できないプログラミング言語も存在するため、事前の確認と変換にかかる作業の確認が大事になります。

性能の制約

性能や処理に関する制約が存在するのも、サーバレスのデメリットの1つです。AWS Lambda、DynamoDBなどのサービスでは、機能制限があります。例えばAWS Lambdaでは15分以上時間がかかる処理は行えません。また、DynamoDBでは格納できるデータサイズの上限が1つあたり400KBとなっており、大きなデータを取り扱うことはできません(2022/11月執筆現在)。

また、サーバレスではリクエストを受けてからプログラムの実行開始までにはタイムラグがあり、応答性が低いと感じる可能性もあります。例えば、AWS Lambdaのコールドスタートでは起動に100ミリ秒未満~数秒の時間がかかります。即時性を求める場合は、サーバレスは不向きな場合があります。
今回はAWSを例にご紹介しておりますが、その他サービスでも同様に制約が存在するケースがあるため、自社に合うか事前に確認することが大切です。

4.サーバレスがおすすめのケース


サーバレスは使い方によっては非常に便利です。様々なアプリケーションに利用できることから、導入するべきケースは多々あります。サーバレスがおすすめのケースは、以下の通りです。

  • インフラの運用管理を簡単にしたい
  • インフラの購買、運用コストを低減したい
  • 他システムとの連携を簡単にしたい

ただし、処理時間やデータ量の制約、既存コードなどの問題に注意が必要です。自社の状況と比較しサーバレスが向いているかどうか必ず確認することをおすすめします。

5.まとめ

今回は、サーバレスの仕組みやメリット・デメリットについてご紹介しました。サーバレスは条件が合えば非常に便利ですが、クラウド事業者が提供するサービスという枠組みにより、機能制約等が存在することに注意が必要です。サーバレスを導入する時は、自社のサービスが適しているか事前確認を行いましょう。また、各クラウドサービスの違いを理解して自社のインフラ整備に合うものを選ぶことが大切です。

クラウド導入を検討されているお客様は是非一度弊社へご相談ください。弊社は様々な業界で幅広く利用されているAWSへの移行、設計・構築ができるサービスとして、多数の導入実績があります。AWSアカウントの開設から支援しておりますので、最初の一歩でお悩みの企業の方は、ぜひクロス・ヘッドへお気軽にご相談ください。

 


クロス・ヘッド関連サービス

 


※Cloud Compassはクロス・ヘッド㈱が運営するクラウドサービスです。

おすすめ記事