ログイン

現役Webエンジニアから見たサーバレスアーキテクチャ

 2021.3.12 ゴリラーブログ ブログ 寿司ゴリラー木村

 

大阪の非常事態宣言もいったん解除され、久しぶりに出社している

寿司ゴリラー木村です。

 

クラウドサービス便利ですよね。

サーバの用意が一瞬でできるようになったことは、オンプレミスで

サーバやルータを設定していた時に比べると本当に便利になったと感じます。

 

AWSが生まれる前のクラウドサービスとは、サーバをリモートで使用すること(VPS)と

ほぼ同義でしたが、ここ数年でPaaS、Saas、IDaaS等様々なサービスが生まれました。

 

クラウドサービスについて全て話し出すと止まらないので、

今回はサーバレスアーキテクチャに絞ってまとめてみました。

 

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

代表的なサービス名は以下です。

 AWS:Lambda

 GCP:Clound Function

 Azure:Azure Function

 

サーバレスアーキテクチャとは、ザックリ言うとサーバを用意せず、

プログラムだけ作って実行させる仕組みです。

 

準備として、

 1.プログラムを作成し、それをクラウドサービスにアップロードする。

 2.トリガー(実行)条件を設定する。

あとは、条件を満たせば自動的にプログラムが実行されます。

 

ここで「サーバレス=サーバが存在しない」と考えてしまうと誤解の元になります。

個人的には 【サーバ管理をしなくてよい仕組み=サーバレスアーキテクチャ】

ぐらいの意味で考えています。

 

 

メリット

どんなプログラムでも実行する時にはコンピュータリソースが必要です。

コンピュータが存在するということは、それらに対してネットワークの設定だったり

パッチの適用などの維持・管理コストが必要でしたが、

サーバレスアーキテクチャを用いることで、煩わしいマシン管理がなくなります。

 

また必要なリソースも、プログラムの実行時のみ消費されるのでクラウド費用の削減が

可能であることや、リソースの維持・管理がクラウド事業者が行っているため多重化されており

信頼性の向上も見込めます。

 

デメリット

先ほど、「サーバレス=サーバが存在しない」は誤解と書きましたが、実際に

サーバレスアーキテクチャを利用する際は、各サービスの実行環境で実行されるため、

管理は不要ですが、実行環境に合わせてプログラムを作成するコストが発生します。

そしてそれらはローカルマシンと環境が異なり、エラー原因の調査等が難しくなります。

 

また、外部と通信する際はサーバレスサービス以外のファイアウォールやアクセス権限が

かかわってくるので、サーバレスアーキテクチャの知識のみでアプリケーションを

構築することは無理と言って差支えないでしょう。

 

個人的な感想

マシンを用意してシステムアプリケーションを実装することに比べれば汎用性は落ちますが、

その分、使用用途にマッチすれば堅牢・安価にサービスを構築できる強力なサービスです。

 

そのため、システムのメインに関わらない部分や、小規模に実装する一部機能で

使用するのに適しています。

 

私もサーバレスアーキテクチャを利用してその利便性を覚えてきたので、適切な範囲で

サーバレスアーキテクチャを採用していくことがサービスの改善につながると考えています。

 

本日はこのぐらいで、ありがとうございました。

 

 

© 2021 Mountain Gorilla Co., Ltd. 

プライバシーポリシー

%d人のブロガーが「いいね」をつけました。