amazon api gatewayとlambdaを触ってみた nds44 jaws長岡vol2
TRANSCRIPT
名前:さかぷん Twitterなど:@sakapun 趣味:嫁アプリ制作 ◦ やまびよ(http://yamabiyo.herokuapp.com/)
山の登山指数を見やすく表示
◦ モチベーションアップアプリ 今回のテーマのネタ元
嫁に役立つアプリは作ってて嫌な顔されないし、自分の仕事ぶりをアピールできてよい
一定間隔で、嫁の陶芸に対するモチベーションが上がる画像を取得して、名言とともに送りつける ◦ 要はボット的なもの
必要なもの ◦ 画像を取得して送りつけるバックグラウンド処理
◦ 定期的に実行できる環境
SaaS ◦ Elastic Beans Talk
◦ Heroku
◦ Google Cloud Platform
なるべくお金かけたくない! ◦ Herokuは無料で24時間動かし続けていられなくなった。 ◦ (実際個人向けマイクロなサービスなら問題なさそう。)
どうせならやったことないことに挑戦したい!
AWS Lambdaとは
◦ なんらかのイベントを元に、プログラムが実行されるイベント・ドリブンなAWSのサービス
◦ プログラムが動いた分だけ課金される
◦ Node.js, Java8, Pythonの言語のみサポート
AWS API Gatewayとは ◦ 今年の7月に始まったサービス
◦ URLからLambdaを叩ける用になった
Lambdaでアプリ作って定期的にAPI叩けばいけそう! ⇛ 最近、スケジューラが実装されましたね・・・。
これはあまり色々とわかってない時の妄想=フラグ ◦ 普段WEBサイトを作ってるHTMLの出力も
API GatewayとLambdaで作れるんじゃない?
◦ 自社の画像を加工する処理にも使えるんじゃないか?
◦ JAWS長岡の発表の機会に良さそう
それじゃあ、触ってみよう!
HTMLへの整形は一応可能。 ◦ だがWEB制作で使用の壁は厚すぎる
複雑なHTMLへのマッピング超めんどい(VTL)
静的コンテンツどうすんの?
開発プロセス複雑、デプロイがめんどくさくなりそう。
API Gateway+LambdaはJSONを基本とした構造化されたデータを返す ◦ バイナリは返せない
◦ ソケット通信も不可。
誰も使わないことを前提に雑にLambda触れる・・・。
API Gatewayを活かす部分 ◦ 分散キャッシュによるレスポンスの高速化 ◦ キャッシュによる何度もバックエンドを動かさない効率化 ◦ スロットリングによるアクセスコントロール
まだ身近な例は少ないがサーバレスな未来へ ◦ フルAWSでサーバレスなバックエンドを作るフレームワーク
「JAWS」
JAWSはなんか大変そうだし、カジュアルにさわる範疇超えてそう。
今のところ自分や業務で使うシーンがあまり思い浮かばない・・・。
とりあえずLambdaを直に叩ければ満足しそう
キャッシュ効率が良さそうな場面で使うかも