MENU

エンジニア採用の担当者が知るべきサーバーサイドの関連用語:「サーバーレス」

クラウドサービスが一般的となってきた昨今、「サーバーレス」にも注目が集まっています。
一体サーバーレスとはどんな状態のことを指すのでしょうか。
本記事では、サーバーレスとは何か、近年にわかに注目されているサーバーレスアーキテクチャとは何かなどを説明します。

サーバーレスとは


サーバーレスとは、サーバーの容量に依存せず、必要なリソースを利用できる運用手法のことです。
通常、WebサイトやWebサービスの運用にはサーバーが必要です。
そしてそのサーバーは24時間365日稼働していることが求められます。
そのため構築・運用・保守にはそれなりのコストが発生します。
これをサーバーレスにすると、システムに必要な容量を稼働時のみのコストで運用することができます。
システムの拡張性や冗長化、障害対応などはマネージドサービスを利用するため、これらの運用・保守コストも大幅に抑えられるとされています。

「サーバーレスアーキテクチャ」とは


このサーバーレスを使い構成されたのが「サーバーレスアーキテクチャ」です。
既に提供されている汎用的APIやシステムを開発することで、開発コストを抑えられます。
サーバーを常時起動することなく、何らかのイベントが発生した時のみに動的リソースが割り当てられます。
そして事前に登録したコードが実行される仕組みです。
サーバーレスアーキテクチャを実現するには、AWSやMicrosoftなどが提供する実行サービスを利用する必要があります。

メリット

通常のサーバーの場合、マックスを想定して性能を見積もる必要があります。
しかしサーバーレスアーキテクチャは、実行時に必要なリソースが自動で割り当てられるので、性能の見積もりや設定が不要です。
また常時サーバーを起動させなくてもよく、使用した分だけ料金を払えばよいのでコストを下げられます。
さらにサーバーの運用監視も不要となります。
サーバーのことを考えず、コードの管理をするだけで維持できます。

デメリット

ベンダーのサービスを利用するため、制限や制約があります。
たとえば同時実行数、秒あたりの実行上限数、タイムアウト制限などに制限がかかる可能性があります。
ベンダーによって数値が異なるので、利用前には必ず確認しましょう。
また必要な時に必要な分の動的リソースを割り当てるので、レスポンスまで時間がかかる場合もあります。

メリットとデメリットを理解しよう

以上見てきたように、サーバーレスアーキテクチャは、メリットも多いですがデメリットもある方法です。
もし自社に導入しようと考えているなら、メリットとデメリットどちらが自社にとって大きいのかを必ず確認しておきましょう。