
サーバーレスとは?
簡単にいうと、一時的に利用するサーバのこと。
サーバのレンタカーみたいなもの。
何のためにある?
ビッグデータ分析などは常にサーバが必要なわけでなく、大量のサーバリソースを、短期間で集中的に利用するケースが多いです。
そのため、システムを利用していない期間サーバを借りているとその分コスト増になってしまいます。
これを解決するのがサーバレスサービスというわけです。
サーバを利用しないわけではないので要注意です。
クラウドサーバではないのでサーバレスと覚えておくといいかもしれません。
サーバレスとクラウドサーバーの比較
サーバレスとクラウドサーバを比較するとわかりやすくなります。
サーバーレス | クラウドサーバ | |
課金面 | 実行時間のみ | サーバの稼働時間 |
管理面 | システムのみ | サーバ環境すべて |
処理面 | 処理データのみ | 保存データすべて |
柔軟面 | 自動オートスケール対応 | オートスケール対応(設定は自分) |
どのように機能する(動かす)?
ファンクション(関数)をトリガー(きっかけ)にして、特定の条件を満たすとCPU、メモリ、ストレージなどがシステムに割り当てられ、事前に自分で用意したプログラムが実行され、処理終了後にリソースを開放するという動きをします。
関数(ファンクション)をトリガーにプログラムが動作することから、サーバレスを用いたシステムをFaaS(Function as a Service)と呼ばれます。
AWSのサーバレスサービス一覧
サーバーレス - 詳細 | AWS (amazon.com)
- Lambda
- API_Gateway
- SNS
- SQS
- EventBridge
- SES
- Step_Functions
サーバーレスサービスを用いた設計パターン
上記公式サイトを参考にいろいろなパターンを考えてみよう。
独自のものができあれば、それが一番のシステム設計となりえるでしょう。
まずは要件を洗い出すところからが一般的なやり方ですが、
作ってから、満たせる要件を洗い出すやり方もありですね。