Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今からでも遅くない_基礎から学ぶサーバーレス開発_-キホンの_キ_-.pdf
Search
TomoyaIwata
October 05, 2018
Technology
3
5.2k
今からでも遅くない_基礎から学ぶサーバーレス開発_-キホンの_キ_-.pdf
2018/10/5に開催されたDevelopers.IO 2018で登壇した際の資料です
TomoyaIwata
October 05, 2018
Tweet
Share
More Decks by TomoyaIwata
See All by TomoyaIwata
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.5k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
5.9k
Qdrantでベクトルデータベースに入門してみよう
iwatatomoya
0
1.1k
詳解 AWS Lambdaコールドスタート
iwatatomoya
1
2.8k
真のサーバーレスへ向けたAuroraの進化Aurora Limitless Database
iwatatomoya
1
4.9k
AWS SDKのClientはFactory経由で作ろう
iwatatomoya
1
900
OpentelemetryでアプリケーションのObservabilityを強化しよう
iwatatomoya
0
1.1k
AWS Lambdaは俺が作った
iwatatomoya
2
2.8k
SnapStartの未来についての期待と妄想
iwatatomoya
1
1.4k
Other Decks in Technology
See All in Technology
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
180
Railsアプリケーション開発者のためのブックガイド
takahashim
14
6.1k
履歴 on Rails: Bitemporal Data Modelで実現する履歴管理/history-on-rails-with-bitemporal-data-model
hypermkt
0
2.1k
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
340
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
160
SOC2取得の全体像
shonansurvivors
1
360
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
130
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
100
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
540
ZOZOのAI活用実践〜社内基盤からサービス応用まで〜
zozotech
PRO
0
160
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Gamification - CAS2011
davidbonilla
81
5.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Scaling GitHub
holman
463
140k
Typedesign – Prime Four
hannesfritz
42
2.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Transcript
- -
& .-* (2 ,0'/4"# 51 83;7 +)
!&%$9( 6: Attention
3 /1) l ( l20185 l'5Sier l#. &! l#.
(C/S+LAMP+) l"%AWS$-3 l2* , 04
4 :@" 2-1AWS.8 4 9;=&#IaaS6 •57*3!%( •$'><+
) •$'0, :) !" ?/
5 26 • !-4'$ 18 8( • &
# • & • ,/ & +)07 *. • & % " 35 • 8( 5( 5( 8( 3(
6 26 • !-4'$ 18 8( • &
# • & • ,/ & +)07 *. • & % " 35 • 8( 5( 5( 8( 3(
7 6/" F>- # $BDGH &
+1 $BD ?,GH ! .@ ;5 ! 6/"82 ( 3 $BD GH ! .@ E07: "82( ! )* ! .@ % F>"9 ( 4A C=<'
8 *% 510 $! )
1" 2" 3" 4" 5" &#' (, + (,
9 −
0 10 20 30 40 50 60 70 80 90 100 0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 0 10 20 30 40 50 60 70 80 90 100 0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 3 1
10 −
11 − ' ! ) 1 2 3 4
5 -, #= %( -* ./ +"&$ +" +"
12 • $/ • +-
%(&1. • 2* )' • 2*#0 )! 2* ", 2* ",
13 − '$%*! ' $%# )" 0:00 2:00 4:00
6:00 8:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 '&( !
14 − 1 2 3 4 5 $"
= $" ! $" #
0:00 2:00 4:00 6:00 8:00 10:00 12:00 14:00 16:00 18:00
20:00 22:00 & 15 − ! % $#" & "
16 • ! /)- • 90(,7/)-
• $1485 • OS&%"/). • *3(6' . # +2 # +2
17 OS
18
19 26 • !-4'$ 18 8( • &
# • & • ,/ & +)07 *. • & % " 35 • 8( 5( 5( 8( 3(
20
21 • # >:A9; ) %, • (H ID)OS'
* "0< F: ) %, &! # • *45 B/ • $+)(7.45 3 B/ G;ECB/ • ) %,? 61 J-8 • 61 *$ 2@:=
22
OS
23 https://aws.amazon.com/jp/lambda/pricing/ • *(+.) • ! * • 1,000,000
$ (' • 1,000,000 $ $0.2 (MB) 1 ('" -)! 100 ),#%& (USD) 128 3,200,000 0.000000208 192 2,133,333 0.000000313 256 1,600,000 0.000000417 AWS Lambda
24 • •
25 − AWS Lambda Amazon DynamoDB Amazon
API Gateway Amazon S3 AWS, ./$+( '96172- ! FaaS(Function As a Service) API 96@F3D>A3; ! 2B=? )#<: *! E0Web %+ 84 ")& C NoSQL! 2B=5? )#*84
26 − AWS IoT Amazon Kinesis Amazon
Cognito Amazon CloudFront S Akt C A S e S b DAl C N ( S N A o ( ( ) ( ( N vA r n W i l w A
27 !
28
29 • !*3=$ 541!*3< • ( " />7@;6 !*
2. 90 -OK • #)'+*% &) ,B?: !* 8&) AC
30
31 lLambda 5)%& .#5$ lLambda;1(7,630 lDynamoDB ""4 lLambda
9 /* AWS ! 8:2 +-' /*
32
33 ;B" AWS0? 4 8<>*# IaaS6 •
'3@-%*:D 8. • $,) • $, • 27$, 1/ 9 C 05 • $,&+!( "=A • 8. 5. 5. 8. 3.
34
35 − • IoT' $% " •
# • !& IoT' $% "
36 − SPA <,$ :3Web#(&+ 86.3API*%+4 "'7
- • ++0 =/ !) Web 12 • 7API5; 9 SPA(Single Page Application) API
37 − • $*% 137 &. •
AWS "; +/0( • #9):8 6, AWS54 !)'-2
38
39 − RDB% "&'$ RDB
RDB! #
40 − • %(5)! •#' &
" $
-" #(. '$ +! Lambda ,* 41
− &*%) Lambda-"
42 •!( @@@@$+ •!( @@
•!( ",) DL(SPA) •!( AWS'&#-%. •!( •!( /* ETC
43 IoT
44 26 • !-4'$ 18 8( • & #
• & • ,/ & +)07 *. • & % " 35 • 8( 5( 5( 8( 3(
45 https://github.com/aws-samples/aws-iot-chat-example/ Demonstration AWS IoT Chat Application
46 IoT policy IoT Rule AWS Lambda Amazon S3
Amazon Cloudfront Amazon API Gateway AWS Cognito Amazon DynamoDB Identity Provider
47 https://www.iwata.classmethod.info/
48 l&2479UO l,#B300A/3 l"'*B1A0/3 10604/3N<C> l)!: 5KB(.$ lQ%-62m5.large/
/ FK@ lQ%-62%1F 30GB#- K@ l5?,+/H1R> lMHTJ;S1G= ;S IP 8ELD
49 () Amazon EC2
1,440 $0.124/1 $178.56 Amazon EC2 14GB $0.114/1GB $1.596 EBS 60GB $0.12/1 $7.12 :$187.276
50 () AWS IoT
600 $1.5/100 $7.5 Dynamo DB 10WCU $0.000742/ $5.3424 Dynamo DB ! 10RCU $0.0001484/ $1.06848 :$13.91
51 $187.276 - $13.91 = $173.366 92%
52 26 • !-4'$ 18 8( • & #
• & • ,/ & +)07 *. • & % " 35 • 8( 5( 5( 8( 3(
53 • Lambda • Lambda
54 SAM (Serverless
Application Model) Serverless Framework APEX
55 • !$(,' .- 1
• ' "# *0)&/+%
56 SAM CLI LocalStack PostMan DynamoDB
local AWS BA%&)" *(!"BA?G AWS59 ( .; 7@ *(BA !$/, =8 Web API!"62 ( -4 APIF+ '"1E !"C<0 *(BA DynamoDB%&)" AWS59 ( *(BA AWS:D#%&)" ( 3 AWS#.; H >
57 ':, *A? /3 • =7>9B UnitC (
"();2 • AWS! #, (&-7>+$ * '52 ,*A? 03 /3 • curl%- Postman;2 • AWS! ' 2 *;2 AWSA? 03 /3 • 18 AWSA? #, • .@A?D< 46 E
58 ! " $#
59 •# •"&! •"& $"&
%
60 98%<+? # #$):&- ):&(,# #$)
:&430 @. *2 57' !">= 61;1 & /( ) https://github.com/spulec/moto
61 ,&10.87 " (3*$ +) •
Web • • DB • A • Lambda1 • B • Lambda2 • C 2%# %# '546-/!
62 l(# !"6C ,A-FW$ )
24 l. 8PJ>/@ :< l%'&*1?3B=; $) 70 FW+ 95
63 04 • !,2'$ /6 8( • & #
• & • +- & *).5 • & % " 13 • 8( 5( 5( 8( 3(
64 & 61 + !"- 8 1
$5# *)'7 2 32 ,/(4 0%. 3
65 ' "& % !# $
66