サーバーレスについて
こんにちは。マッシュゴリラー上野です。
僕は面倒な作業が嫌いなので、サーバーの設定とかもあまり好きではありません。
ちょうど新卒の人たちが入社してきていて、インフラ課題なるものをやっていたようなのですが、
そこでサーバーの設定などにかなり苦戦しているように見えました。
また、サーバーを起動していると、使っていない間もコストがかかり続けます。
そういった悩みを解決できる物が「サーバーレス」です。
※今回紹介するサービスはすべてAWSのサービスです。
「サーバーレス」とは?
まずサーバーレスって何?という話をすると、名前が「サーバーレス」なので、紛らわしいですが、
実際にサーバーがないわけではありません
。サーバーの構築や保守等がレスということです。
なので利用者としてはほぼサーバーを意識する必要がないのでプログラムを書くことに集中出来ます。
AWSのLambda
サーバーレスの有名なサービスとして、AWSのLambdaがあります。
Lambdaの説明を雑にすると、何らかのイベントが発生した時にプログラムを実行出来るサービスです。
例を挙げると以下のような使い方が出来ます。ちなみに他にも出来ることはめちゃくちゃいっぱいあります。
・APIが呼び出されたらJSONでデータを返す
・S3にファイルがアップロードされたら、ファイルを加工(圧縮、トリミング等)する
・毎日所定の時間に特定の処理をする
なので例えば先ほどの例の一つ目を使うとAPIサーバーが作れます。
僕の場合APIサーバーをサーバーレスで作るのを使うことが多いのでそこに関して説明していきます。
LambdaでAPIサーバー
LambdaでAPIサーバーを作る時のよくある構成として以下があると思います。
・API窓口←APIGateway
・処理←Lambda
・DB←Dynamodb
ちなみに上記のAWSのサービスはすべてサーバーレスです。
DBでDynamodbが使われることが多い理由としては、RDSとLambdaの相性がよくないという問題があるからだと思います。
おわりに
いかがでしたでしょうか?
僕はサーバーレスが好きで、個人的に実際使ってみているのですが、
管理がいらないのでプログラムに集中出来てめちゃくちゃ便利だと思います。
最後まで読んでくださりありがとうございました。