Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
gunmaweb-serverless
kanayannet
March 06, 2021
Programming
0
120
gunmaweb-serverless
kanayannet
March 06, 2021
Tweet
Share
More Decks by kanayannet
See All by kanayannet
old typeからのクラウドインフラ
kanayannet
0
54
疎結合と認知
kanayannet
0
89
クリーンアーキテクチャを活かす考察
kanayannet
1
87
プロジェクト管理ツールの経験則
kanayannet
0
150
TDDと認知
kanayannet
0
160
Animation GIF
kanayannet
0
200
今更聞けないPWA
kanayannet
0
390
jojo-naive
kanayannet
0
170
pattern
kanayannet
0
160
Other Decks in Programming
See All in Programming
JSのウェブフレームワークで高速なルーターを実装する方法
usualoma
1
1.9k
オブジェクト指向で挫折する初学者へ
deepoil
0
190
io22 extended What's new in app performance
veronikapj
0
350
Get Ready for Jakarta EE 10
ivargrimstad
0
1k
Swift Regex
usamik26
0
200
競プロのすすめ
uya116
0
680
Improving Developer Experience Through Tools and Techniques 2022
krzysztofzablocki
0
1.2k
インターン生・新卒向け、学校でもっと教えてほしいITエンジニア基本スキル
nearme_tech
0
130
UI Testing of Jetpack Compose Apps, AppDevCon
alexzhukovich
0
170
マルチプロダクト×非構造化データ×機械学習を支えるデータ信頼性
akino
0
160
Node.jsデザインパターンを読んで
mmmommm
0
2.8k
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
160
Featured
See All Featured
Web Components: a chance to create the future
zenorocha
303
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
253
12k
Adopting Sorbet at Scale
ufuk
63
7.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
GraphQLの誤解/rethinking-graphql
sonatard
28
6.6k
Keith and Marios Guide to Fast Websites
keithpitt
404
21k
A Philosophy of Restraint
colly
192
15k
Scaling GitHub
holman
451
140k
For a Future-Friendly Web
brad_frost
166
7.4k
Documentation Writing (for coders)
carmenhchung
48
2.6k
How GitHub (no longer) Works
holman
296
140k
Building Applications with DynamoDB
mza
83
4.7k
Transcript
Head First serverless アーキテクチャ Gunma.web #40 Gunma.web #40 @kanayannet @kanayannet
今⽇はこれ的に話します。 画像イメージ( デモ)
serverless 開発者や運⽤者がサーバー管理を考慮せずにリソース 開発者や運⽤者がサーバー管理を考慮せずにリソース を使⽤できること を使⽤できること
イメージ湧かないよね? よく解らないと思う よく解らないと思う
ライブラリ関数は 作った事あるよね?
関数を動かそうと思ったら… 1. OS を⽤意 2. xx ⾔語をinstall 3. 実⾏するPG を⽤意
4. ライブラリを作成 5. 「4 」を「3 」で読み込む 6. 「4 」を実⾏する「トリガー」を記述する 7. 「トリガー」を踏めば、実⾏される
こんなん出来たら便利だよね? 1. イベントの「定義」をコードに記述する 2. 何を実⾏するか?はユーザが⾃由に加⼯して良い 3. deploy するだけ
具体的な実装例 参考: const AWS = require('aws-sdk'); const util = require('util');
const sharp = require('sharp'); // get reference to S3 client const s3 = new AWS.S3(); exports.handler = async (event, context, callback) => { // Read options from the event parameter. console.log("Reading options from event:\n", util.inspect(ev const srcBucket = event.Records[0].s3.bucket.name; // Object key may have spaces or unicode non-ASCII characte const srcKey = decodeURIComponent(event.Records[0].s3.ob const dstBucket = srcBucket + "-resized"; https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example-deployment-pkg.html
S3 とは? aws が提供するストレージサービス 静的なファイルをアップロード出来、閲覧可能 スケーラビリティ データ可⽤性 セキュリティ
ちなみに先程のS3 イベントは⾮同期で動きます。
動作デモ
他にも event あるよ http api sns sqs schedule...etc
何となく掴めたかな?
番外編 framework も既にあるよ
framework serverless framework aws sam これの解説始めると…Head First じゃなくなるので、 これの解説始めると…Head First
じゃなくなるので、 勘弁してね。 勘弁してね。
注意事項 OS をインストールして… OS をインストールして… というやり⽅を否定するわけではない というやり⽅を否定するわけではない
メリット・デメリット あるよ あるよ
参考: https://www.imagazine.co.jp/serverless アーキテクチャの最新テクノロジーとユースケース/
会社やグループにあったやり⽅は あるはず いきなり全導⼊というよりも... 何か部分的にやって複数⼈で慣れていく.. というア プローチが有効かも?
ちなみに… serverless 初めての⽅っていますか? S3 event 初めての⽅いますか?
感想お待ちしてます!
ご清聴 ありがとう ございました!