■ はじめに
AWS Lambda の前に、サーバレス を学んでいく。
■ サーバレス アーキテクチャ(Serverless Architecture)
* ユーザは、サーバを意識せずに、利用可能なサービスを活用できるアーキテクチャ => サーバを必要としないわけではないらしい
主なサービス名
* AWS Lambda(アマゾン) * Azure Functions(マイクロソフト) * Google Cloud Functions(グーグル) * OpenWhisk(IBM)
補足
Amazon AWS には、他にも、「サーバレス」なサービスがある * Amazon Athena (アテナ) => Lambdaが、サーバレスに、プログラム実行環境を提供するなら、 Athenaは、サーバレスに、SQLクエリ発行できる版? => Athena に関する詳細は、以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2020/06/17/173717
■ 関連用語
PaaS(Platform as a Service)
* リクエストリプライ方式(リクエストごとにアプリケーション全体を起動・終了)
FaaS(Function as a Service)
AWS Lambdaが該当 * イベントドリンブン方式(必要なサービス毎に起動・終了)
AWS SAM(AWS Serverless Application Model)
AWS Lambdaが該当 * AWS サーバーレスアプリケーションモデル * AWS CloudFormation を拡張して、サーバーレスアプリに必要な AWS Lambda などを定義する簡略化できる
https://aws.amazon.com/jp/about-aws/whats-new/2016/11/introducing-the-aws-serverless-application-model/
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/deploying-lambda-apps.html
https://aws.amazon.com/jp/blogs/news/new-for-aws-lambda-environment-variables-and-serverless-application-model/
■ AWS Lambda
* サーバレスのプログラム実行環境 * Lambda:ラムダ
利点
* サーバー/インフラ管理が不要 * スケールについて、運用者が考える必要がない
料金体系
* プログラムを実行した「時間(100ミリ秒単位)」×「回数」で課金 => 使わなかったら、お金は掛からない(使った分だけ払えばいい) * 詳しくは、以下の公式サイトを参照のこと
https://aws.amazon.com/jp/lambda/pricing/
公式サイト
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html
■ 今後に役立ちそうなこと
EC2をScheduleイベントで自動起動/停止 * EC2 を24時間起動しなくてもいい場合(【例】平日 8:00〜19:00、土日終日停止)に、 LambdaのScheduleイベントを使うと、月々の料金を節約できる模様
http://dev.classmethod.jp/cloud/aws/lambda-scheduled-event-updown/
http://tech.machiiro.jp/entry/2016/08/29/152844
https://geeknavi.net/aws/ec2%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%82%92%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A7%E8%87%AA%E5%8B%95%E8%B5%B7%E5%8B%95%E3%83%BB%E8%87%AA%E5%8B%95
http://takemikami.com/archives/1326/
公式サイト
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/java-programming-model.html
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/get-started-step4-optional.html
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/create-deployment-pkg-zip-java.html#create-deployment-pkg-zip-java-without-central-repository
参考文献
http://www.itmedia.co.jp/enterprise/articles/1701/16/news026.html
http://www.atmarkit.co.jp/ait/articles/1702/22/news016.html
http://dev.classmethod.jp/cloud/aws/lambda-function-in-java/
http://qiita.com/toshihirock/items/d37ee8a41a11f2c4ffb2
http://qiita.com/yokobonbon/items/64baf815f000bcb8abec
http://ochi-lab.blogspot.jp/2015/07/eclipseaws-lambda-functionjava.html
関連記事
Lambda ~ Python / 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/07/103317
Lambda ~ Python / S3トリガー ~
https://dk521123.hatenablog.com/entry/2024/05/23/162229
Lambda ~ Python / 外部モジュール追加 ~
https://dk521123.hatenablog.com/entry/2024/05/25/005456
Lambda ~ Java / サーバサイド編 ~
https://dk521123.hatenablog.com/entry/2017/05/22/233340
Lambda ~ JavaScript / クライアントサイド編 ~
https://dk521123.hatenablog.com/entry/2017/05/25/233100
Lambda ~ Java / EC2 を操作する ~
https://dk521123.hatenablog.com/entry/2017/12/11/225605
Lambda ~ Java / EC2 を取得する ~
https://dk521123.hatenablog.com/entry/2017/12/24/232542
Lambda ~ Lambda で気を付ける事項 ~
https://dk521123.hatenablog.com/entry/2018/02/04/233700
Lambda のトラブルシュート
https://dk521123.hatenablog.com/entry/2017/12/16/231714
Serverless Framework ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/11/02/000200
Serverless Framework ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/11/03/234825
Amazon API Gateway ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/09/06/131820