AWS_Lambda_Go_で_SPA試してみた
by
shiro seike
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
AWS Lambda Go で SPA試してみた Fukuoka.go#10 1 株式会社Fusic @seike460
Slide 2
Slide 2 text
seike460 seike460 seike460 seike460 株式会社Fusic 清家史郎 (@seike460) 2 # 得意な技術 - PHP - Server - AWS # 得意になりたい技術 - golang - Serverless # 作っているプロダクト - s3ry
Slide 3
Slide 3 text
s3ry 3
Slide 4
Slide 4 text
• Go製のAWS S3 操作CLI • https://github.com/seike460/s3ry • fileのアップロード、ダウンロード、ファイルリスト作成 4 s3ry(エスリー)
Slide 5
Slide 5 text
本題 5
Slide 6
Slide 6 text
何をつくってるのか? 6
Slide 7
Slide 7 text
AWS S3で運用するSPA Todo utakata 7
Slide 8
Slide 8 text
• AWS S3で運用するSPA Todo(本運用はAmazon CloudFront) • 泡沫にした理由は和名のかっこよさげな名前付けたいだけ • 巷の無料TodoアプリはSlackに通知してくれない (webhookありそうだけど少し開発) • Slack通知してくれないとミーティングすっぽかしちゃう • Slackが通知してくれる事で、業務中にコードに集中出来る • もうServerlessで作っちゃおう 8 utakata
Slide 9
Slide 9 text
なに使ってるの? 9
Slide 10
Slide 10 text
react-redux 10
Slide 11
Slide 11 text
• React • Facebook社製のViewライブラリ • Redux • 状態管理を行なうライブラリ • React+Reduxすると何が良いのか? • Reduxが状態管理してReactは描画だけに集中出来る 11 react-redux
Slide 12
Slide 12 text
12 人気 + α(後述)
Slide 13
Slide 13 text
AWS Amplify 13
Slide 14
Slide 14 text
• AWS製のJavaScriptライブラリ • Amazon Cognitoと連携した認証部分を行なってくれる • React用のComponentを利用するだけでログイン画面が完成 14 AWS Amplify
Slide 15
Slide 15 text
Serverless Framework 15
Slide 16
Slide 16 text
• 主にAWS LambdaとAWS API Gatewayを使った いわゆるServerlessを作成出来るFramework • AWS LambdaがGo対応したら即Go対応取り込んでくれた(最高) • npmを利用してインストールすることができます • 簡単にServerless Architectureを作成して、 Serverlessすることが可能 16 Serverless Framework
Slide 17
Slide 17 text
serverless.ymlを設定 • runtimeをgo1.xにする • handlerをコンパイルした Goバイナリを指定する 17
Slide 18
Slide 18 text
go buildする時の注意点 • Serverless Frameworkが指定するバイナリをbuildする時は GOOS=linuxをつける事を忘れずに! • build用のシェルを npm run deploy時に実行するようにしました (もっと良い方法あれば是非教えてください!) 18
Slide 19
Slide 19 text
19 npm run deploy
Slide 20
Slide 20 text
デモ 20
Slide 21
Slide 21 text
• Serverless Frameworkとgolangを使って簡単にServerless →API Gatewayが面倒な方オススメです。 • SPAの認証が辛い場合はAWS Amplifyを使って認証作成 →利用するだけなので非常に簡単でオススメです。 • react-redux →誰か教えてください • 簡単そうじゃん?と思った方、 フロントエンド弱者の僕でも出来ました。 一緒にServerlesssしましょう! 21 まとめ
Slide 22
Slide 22 text
ご清聴ありがとうございました! 22