サーバーレス構成でよく使うサービス

2月中はかなり寒い日が続いていましたが、月末になり大分暖かくなってきました。
ここからは花粉症に気を付けていきたいところです。


さて表題の件です。
以下は以前、サーバーレス構成の簡単な説明をした際に用いた図です。

今回はこのうち、LambdaとAPI Gateway、S3について説明したいと思います。

・Lambda
プログラムを作成し、動作させることが出来るサービスです。
使用可能な言語はPython、Node.js、Rubyなどがあります。

これ単体では何もできないサービスであり、他のサービスと組み合わせて使用します。

・API Gateway
特定のURLにアクセスされた際に応答を返します。
これも単体で使うものではありませんが、とても重要なサービスで、
サーバーレス構成の起点となるものです。

以下、よくある流れを説明します。
1.ユーザーがブラウザで「https://~~~/testserver/getinfo」にアクセス
2.API Gatewayが上記アドレスからのアクセスを受け取り、Lambdaにアクセス
3.Lambda上でプログラムが起動し、処理を行う
  (この時、S3やDynamoDBにアクセスして情報取得も可能)
4.処理結果をLambdaからAPI Gatewayに返す
5.API Gatewayがユーザーのブラウザ上に処理結果を返す

・S3
汎用ストレージ機能であり、ファイルのアップロード、ダウンロードを行うことが出来ます。
ちょっとしたファイルサーバーですね。

基本的にAWSアカウントを持っていないとアクセス出来ませんが、
ファイルのバックアップなどの用途として使うことも可能で、
サーバーレス構成の機能としては珍しく単体でも使用可能なサービスです。


簡単ではありますが、3種のサービスについての説明は以上です。
いわゆる、一般的なサーバーとしての機能が細分化されたものであるというのが
分かるのではないかと思います。

他にも、通信に特化したサービスや、SMS送信のためだけのサービスなど
色々なものが用意されています。興味がわいたら調べてみるのも一興かと思います。

以上