COLUMN

【図解】サーバーレスとは?通常との違い、向き不向きを初心者に解説

サーバーレスとは、クラウドサービスの一種で、プログラムを実行する際にサーバーの構築や管理をしなくてもよい仕組みのことです。サーバーレスは、文字通りサーバーが存在しないのではなく、サーバーの準備・運用が不要であることを意味します。

例えば、Webサイトにファイルをアップロードする際のリアルタイム処理や、金融機関の残高照会などが行えるシステムなど、さまざまなシーンにサーバーレスの仕組みは活用されています。

サーバーレスを採用することで、プログラムやアプリケーションなどを運用するときに必須となるサーバー環境の構築や管理にかかる手間を省けるので、運用負荷の軽減が可能です。また、オートスケーリングができるため、想定外にアクセスが集中しサーバーへの負荷が高くなった場合なども、安定して運用しやすいでしょう。

一方でサーバーレスには、レスポンスに時間がかかる使えるコードに限りがある、などの制約もあります。そのため、サーバーレスの運用には、プログラムによって向き・不向きがあることに注意が必要です。メリットが多いからといって、運用するプログラムとの相性を考えずに導入すると、かえって使い勝手が悪くなってしまうでしょう。

サーバーレスが向いているケース・向いていないケース
サーバーレスが向いているケース
  • 新規サービス
  • 単純なデータ加工処理
サーバーレスが向いていないケース
  • 長時間かけてデータ処理が必要な、複雑なプログラム
  • 応答速度が速いことが求められるケース

そこで今回は、サーバーレスを導入すべきかどうかを検討する上で知っておくべき、サーバーレスの概要やメリット・デメリットなどをご紹介します。

【この記事の内容】

  • サーバーレスとは
  • サーバーレスのメリット・デメリット
  • サーバーレスが向いているケース・向いていないケース
  • サーバーレス導入を成功させるため注意すべきポイント2つ

「サーバーレスがよくわからない」という方でも的確に判断ができるように、後半では、サーバーレスが向いているケース・向いていないケースや、サーバーレス導入時の注意点もまとめています。

この記事をお読みいただくことで、サーバーレスについて基本的なポイントを把握した上で、サーバーレスを選ぶべきかどうかを正しく判断できるようになるでしょう。最適なソフトウェア類の運用環境を整えるためにも、サーバーレスの基礎知識について、ぜひご一読ください。

1.サーバーレスとは

サーバーレスとは、サーバーが無いわけではなく、サーバー周りの運用を一切しなくてよいサービス形態のことです。クラウドサービスの一種で、サーバーレスコンピューティングや、FaaS(Function as a Service)・BaaS(Backend as a Service)と呼ばれることもあります。

プログラムやソフトウェアの開発・運用に必要なサーバーを自社で準備しなくてよいので、サーバー管理にリソースを割かなくて済むのが特徴です。サーバーレスにすることで、開発・運用に専念できることから、近年注目を集めている仕組みです。

ここでは、サーバーレスの仕組みや他のクラウドサーバーとの違いについて、ご紹介します。

1-1.サーバーレスの仕組み

サーバーレスの仕組みを把握するうえでポイントとなる特徴は、次の2つです。

◆サーバーレスの仕組みの特徴

  • サーバーの環境設定や保守管理が不要(レス)
  • 処理が必要なときのみ起動するイベント駆動タイプ

サーバーレスでは、サーバーの構築や管理をサービス提供事業者が行い、ユーザーはその機能だけを利用する仕組みとなっています。煩わしいサーバー管理業務から開放され、サーバーの存在を意識することなくプログラムの開発・運用に専念できることが、サーバーレスの大きな特徴の一つです。

また、サーバーレスは、常時サーバーが稼働しているのではなく、トリガーイベント発生時のみ稼働する仕組みになっています。例えば、Webサイトにファイルを処理しアップロードするためのプログラムが動いているサーバーであれば、ファイルをアップロードするタイミングのみサーバーが稼働するということです。

待機中はサーバーが稼働しないことで、余計なコストが発生しにくい反面、レスポンスに時間がかかる場合があることも、サーバーレスの特徴と言えるでしょう。

1-2.サーバーレスとクラウドサーバーの比較

サーバーレスと似ているサービスに、クラウドサーバーがあります。どちらも、サーバーが使えるクラウドサービスの一種という点では同じです。ただし両者は、以下のとおり、サーバーの提供形態が異なります

  • 横にスクロールします
サーバーレスとクラウドサーバーの比較
  サーバーレス クラウドサーバー
提供形態
  • プログラムの開発・動作環境を提供
  • サーバー自体を提供
サーバー構築
  • 不要
  • プログラムをすぐに開発したり動作させたりすることができる
  • 必要
  • プログラムを開発したり動作させたりするには、ミドルウェアをインストールするなどの環境構築が必要
環境設定の自由度
  • 低い
  • 高い
運用開始までの手間
  • ほとんど手間はかからない
  • 環境設定の手間がかかる
サービス例
  • FaaS(Function as a Service)
  • BaaS(Backend as a Service)
  • IaaS(Infrastructure as a Service)
  • PaaS(Platform as a Service)
  • SaaS(Software as a Service)

上記のとおりサーバーレスでは、既に完成されたプログラムなどの実行環境の提供を受けられるのに対し、クラウドサーバーでは、素のサーバーの提供を受けて自分で設定をしていく必要があります。

自分で実行環境を構築しないサーバーレスは、その分、運用開始までの手間がかかりませんが、設定の自由度はクラウドサーバーより低くなることが特徴です。

サーバーの準備にリソースを割きたくない場合はサーバーレス、多少の手間がかかっても動作環境をこだわって設定する必要がある場合はクラウドサーバー、というように使い分けることをおすすめします。

1-3.サーバーレスの代表的なサービス例

サーバーレスの基本がわかったところで、代表的なサービス例を確認してみましょう。ここでは、大手クラウドサービスの提供するAWS LambdaとAzure Functionsをご紹介します。

サーバーレスの代表的なサービス例
AWS Lambda
  • Amazon Web Services(AWS)のサーバーレス
  • 既にAWSのクラウドサービスを利用しているなら、特に使い勝手がよい
  • Java、Go、PowerShell、Node.js、C#、Python、Rubyなど、多彩なコードに対応
  • 定期的なダウンタイムがないので使いやすい
  • 大手金融機関の残高照会サービスなど、多数の企業で採用されている
  • ※公式ホームページ:AWS Lambda
Azure Functions
  • マイクロソフト社が運営するクラウドサービスAzureのサーバーレス
  • 既にAzureを利用しているなら、特に使い勝手がよい
  • 他のサービスともシームレスに接続できる
  • C#、Node.js(JavaScript)、F#、Java、PowerShell、Python、TypeScriptなど、多彩なコードに対応
  • 料金プランが3種類あり、使い方に応じて最適なプランを選べる
  • ※公式ホームページ:Azure Functions

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

サーバーレスの基本的な仕組みや特徴がわかったところで、その代表的なメリット・デメリットについて整理してみましょう。

サーバーレスのメリット・デメリット
メリット
  • 運用保守の手間が省ける
  • 余計なコストがかからない
  • オートスケーリングできる
デメリット
  • 遅延が生じる場合がある
  • 使えるコードが制限される場合がある

以下では、上記のメリット・デメリットについて、その内容をもう少し詳しく説明していきます。

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

サーバーレスを導入することの代表的なメリットは、次の3つです。

◆サーバーレスの代表的なメリット

  • 運用保守の手間が省ける
  • 余計なコストがかからない
  • オートスケーリングできる
2-1-1.【メリット①】運用保守の手間が省ける

サーバーレスでは、ユーザー側でサーバーの構築や運用保守をする必要がありません。そのため、導入時や運用中にかかる手間がなく、サーバー管理にリソースを割かなくても済むようになります。

サーバー運用のノウハウがない企業や、人的リソースに余裕がない場合であっても、サーバーレスならスムーズにプログラムの開発や運用が可能です。

2-1-2.【メリット②】余計なコストがかからない

イベント駆動で、トリガーとなるイベントが発生したときだけ稼働するサーバーレスでは、コストもプログラム処理の実行時間分だけしか発生しません。イベントが発生していない待機中の時間には課金されないので、余計なコストがまったくかからないというメリットがあります。

サーバーが常時稼働する必要のないプログラムを運用したい場合や、コストをできるだけ抑えたい場合などに、サーバーレスは最適と言えるでしょう。

2-1-3.【メリット③】オートスケーリングできる

オートスケーリングできることも、サーバーレスの大きなメリットと言えます。オートスケーリングとは、ざっくりと言うと、サーバーにかかった負荷に合わせてスペックも自動的に増減するということです。

例えば、一時的にアクセスが集中しサーバーで処理すべきデータが急増してしまったときは、通常であれば、対応しきれずサーバーダウンするリスクがあります。しかし、サーバーレスなら、自動的にスケールアップできるので安定運用が可能です。

プログラムを安定運用したい場合や、処理量の増減が予想される場合、最初からどの程度のスケールが必要かはっきりしない場合などは、サーバーレスを導入することで問題が解決できるでしょう。

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

多くのメリットがある一方で、サーバーレスには、以下のようなデメリットもあります。導入後に「こんなはずではなかった」と後悔しないためにも、どういうデメリットがあるのか、きちんと把握しておくことが大切です。

◆主なデメリット

  • 遅延が生じる場合がある
  • 使えるコードが制限される場合がある
2-2-1.【デメリット①】遅延が生じる場合がある

サーバーレスでは、処理すべきイベントが発生してからプログラムが実行されるまでに、僅かですが遅延が発生する可能性があります。

ネットワーク経由でサーバーに接続するサーバーレスでは、ネットワーク環境が悪かったり、アクセスが集中したりすると、レスポンスが悪化してしまうからです。

できる限り通信速度の安定したネットワーク環境を整備するとともに、レスポンスの速さをシビアに要求したいと考えているプログラムでは、サーバーレスを導入しないといった対策が必要でしょう。

2-2-2.【デメリット②】使えるコードが制限される場合がある

既に環境構築されたサーバーを利用するサーバーレスでは、使えるコードに制限がある場合が多いことに注意が必要です。

代表的な開発言語は、基本的にどのサービスでもサポートされていますが、それ以外の言語は使えない場合があります。言語はサポートされていても、コードをサーバーレス側の決まりに合わせて修正する必要が出てくる場合もあるでしょう。

対策としては、事前に、利用したいサーバーレスのサポートする開発言語を確認しておくことが挙げられます。対応する開発言語は、公式ホームページや資料の取り寄せ、担当者への質問などで、確認が可能です。

3.サーバーレスが向いているケース・向いていないケース

ここまでにご紹介してきたサーバーレスの特徴やメリット・デメリットを踏まえると、サーバーレスの向いているケース・向いていないケースには、次のようなものがあります。

サーバーレスが向いているケース・向いていないケース
サーバーレスが向いているケース
  • 新規サービス
  • 単純なデータ加工処理
サーバーレスが向いていないケース
  • 長時間かけてデータ処理が必要な、複雑なプログラム
  • 応答速度が速いことが求められるケース

なぜ、このようなケースに向いている、もしくは向いていないと言えるのか、解説していきます。具体例も紹介しますので、参考にしてみてください。

3-1.サーバーレスが向いているケース

サーバーレスが向いているケースとして代表的なのが、新規サービスの立ち上げ時や、単純なデータの加工処理などです。

◆サーバーレスが向いているケースの例

  • 新規サービス
  • 単純なデータ加工処理
3-1-1.サーバーレスが向いているケース①新規サービス

サーバーレスは、

  • サーバー導入にかかるコストを抑えられるので、新規サービスの開発に取り組みやすい
  • オートスケーリングできるので、必要スペックが予想しづらい新規開発にも気軽に挑戦しやすい

という理由から、新規サービス立ち上げ時に向いています

3-1-2.サーバーレスが向いているケース②単純なデータ加工処理

また、サーバーレスは、単純なデータ加工処理のプログラムに向いています。サーバーレスは、処理に使えるメモリや時間に制約がある場合が多いからです。そのため、データ処理に多くのメモリや時間を必要としないシンプルな作業に適しています。

単純なデータ加工処理のプログラムとしては、次のような例が挙げられます。

◆サーバーレスが向いている例

  • 画像処理プログラム
  • Webサイトにファイルをアップロードするプログラム
  • テキスト処理
  • チャットボット など

3-2.サーバーレスが向いていないケース

サーバーレスが向かないケースとしては、長時間かけてデータ処理が必要な複雑なプログラムや、応答速度が速いことが求められるケースなどです。

◆サーバーレスが向いていないケースの例

  • 長時間かけてデータ処理が必要な、複雑なプログラム
  • 応答速度が速いことが求められるケース

サーバーレスは、処理に使えるメモリや時間に制約がある場合が多いため、処理に時間がかかる複雑なプログラムには向いていません。

また、ネットワーク経由でサーバーに接続するサーバーレスでは、イベント発生から処理が実行されるまで、最大で数秒程度の遅延が発生しがちです。そのため、数秒の遅延が発生すると問題があるシステムでは、通常のサーバーを検討するとよいでしょう。

サーバーレスに向かない具体例としては、データ配信システムなどが挙げられます。

4.サーバーレス導入を成功させるため注意すべきポイント2つ

サーバーレスの導入を成功させるため、特に注意しておきたいポイントが2つあります。

サーバーレス導入を成功させるため注意すべきポイント

1. 実行時間などの制約をチェックする

2. 情報セキュリティリスクの対策を怠らない

どういうところに注意が必要なのか、順番に見ていきましょう。

4-1.実行時間などの制約をチェックする

サーバーレスには、1回あたりの実行時間や1秒間に実行できる処理の回数などに、制約があります。そのため、サーバーレスを導入検討する場合は、このような制約の種類と程度を必ず把握し、開発・運用したいプログラムで問題がない制約なのかを確認しておきましょう。

どのような制約があるのかについては、公式ホームページや資料請求をすることで確認できます。特に確認しておきたい項目などは、公式ホームページのお問合せフォームから確認しておくと安心です。

◆確認しておきたいサーバーレスのよくある制約例

  • 1回あたりの実行時間(5分以内など)
  • 1秒間に実行できる処理の回数
  • 使えるメモリの大きさ
  • 使えるコードの種類
  • リクエストやレスポンスのデータ量 など

4-2.情報セキュリティリスクの対策を怠らない

サーバーレスを導入するなら、セキュリティリスクへの対策を怠らないことも、重要なポイントとなります。

サーバーレスには、インターネット経由で接続することによるマルウェア感染やサイバー攻撃のリスクや、脆弱性を狙った攻撃などのリスクがあるためです。

以下のとおり、アップデートを定期的に行うなど、情報セキュリティリスクへの対策を欠かさないようにしましょう。

◆情報セキュリティリスクの対策例

  • 安全性の高いネットワーク環境を整備する
  • セキュリティソフトを導入する
  • 脆弱性に関する情報をチェックし、パッチを当てる
  • コードやモジュールに脆弱性が含まれないよう、チェックする など

5.まとめ

サーバーレスとは、クラウドサービスの一種で、プログラムを実行する際にサーバーの構築や管理をしなくてもよい仕組みのことです。サーバーが存在しないのではなく、サーバーの準備・運用が不要であることを意味します。主な特徴は、以下のとおりです。

◆サーバーレスの特徴

  • サーバーの環境設定や保守管理が不要(レス)
  • 処理が必要なときのみ起動するイベント駆動タイプ

サーバーレスには、以下のようなメリット・デメリットがあります。

サーバーレスのメリット・デメリット
メリット
  • 運用保守の手間が省ける
  • 余計なコストがかからない
  • オートスケーリングできる
デメリット
  • 遅延が生じる場合がある
  • 使えるコードが制限される場合がある

また、上記のメリット・デメリットを踏まえると、サーバーレスが向いているケース・向いていないケースは、次のとおり整理できます。

サーバーレスが向いているケース・向いていないケース
サーバーレスが向いているケース
  • 新規サービス
  • 単純なデータ加工処理
サーバーレスが向いていないケース
  • 長時間かけてデータ処理が必要な、複雑なプログラム
  • 応答速度が速いことが求められるケース

導入を検討するときは、メリット・デメリットや向いているケース・向いていないケースを参考に、ニーズに合っているかどうか確認することが大切です。

加えて、サーバーレス導入を成功させるためには、以下のポイントを押さえておく必要があります。

サーバーレス導入を成功させるため注意すべきポイント

1. 実行時間などの制約をチェックする

2. セキュリティリスクの対策を怠らない

サーバーレスは、サーバー管理の煩わしさから解放され、プログラムの開発・運用に専念できる仕組みです。限られたリソースを有効活用したいときや、コストをできるだけ抑えたいときに、最適な選択肢と言えるでしょう。今回ご紹介した内容を参考に、サーバーレスの活用に挑戦してみませんか。

  • Amazon Web Services(AWS)は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
  • Microsoft Azureは、Microsoft Corporationの米国及びその他の国における登録商標または商標です。
  • 本記事に記載されている会社名、サービス名、商品名は、各社の商標または登録商標です。

ネットワークからクラウドまでトータルサポート!!
クラウド導入を検討されている方は
NTT東日本のクラウド導入・運用サービスを確認してください!!

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。