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
Refactor Spacesハンズオン延長戦
Search
KMiura
January 29, 2022
Technology
0
910
Refactor Spacesハンズオン延長戦
温故知新編 Lambda API Gateway ハンズオン
https://awsbasics.connpass.com/event/234744/
KMiura
January 29, 2022
Tweet
Share
More Decks by KMiura
See All by KMiura
Lambdaと共に歩んだAWS
miura55
3
400
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
170
Is it wrong to use a web framework with Lambda?
miura55
0
130
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
150
AWS×IoTについて語り合う会
miura55
0
93
クラウドを活用して家電をハックしてみた
miura55
0
98
Amplify Gen2でLambda構築してみた
miura55
0
130
Amplify Gen2でLambda構築してみた
miura55
1
910
Amplify Gen2がGAされたので試してみた
miura55
0
150
Other Decks in Technology
See All in Technology
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
560
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
350
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
300
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
540
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
640
Platform Engineering for Software Developers and Architects
syntasso
1
520
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
170
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
430
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
440
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
240
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
A Philosophy of Restraint
colly
203
16k
Gamification - CAS2011
davidbonilla
80
5k
Code Reviewing Like a Champion
maltzj
520
39k
For a Future-Friendly Web
brad_frost
175
9.4k
Done Done
chrislema
181
16k
Fireside Chat
paigeccino
34
3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Making Projects Easy
brettharned
115
5.9k
Documentation Writing (for coders)
carmenintech
65
4.4k
The Language of Interfaces
destraynor
154
24k
Transcript
Refactor Spacesハンズオン延長戦 KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • 名古屋のゲーム会社のサーバー エンジニア • 好きなAWSのサービス:Lambda, Dynamo
DB, AWS IoT @k_miura_io koki.miura05
先週のハンズオンにて • 架空のECサイトに使われているEC2のバック エンドをLambdaに移植しようというハンズオン • カート機能(一覧参照、追加、削除)をLambda × Dynamo DBに •
Refactor Spacesを使うことで簡単にAPIの接 続先を変更することができた
ハンズオンを終えて • Lambdaのロードがクソ遅い(レスポンスに約15秒) • Lambdaでjarファイルを立ち上げようとすると読み込みで時間を取られる
jarなんとかしよう • 多分Javaで動かすからこれだけ時間がかかる • ビルドのいらないスクリプト言語に実装し直す • ローカルで動作してからデプロイしたい(無駄なお金は払わないw)
アプリケーションの実装を見てみる • レポジトリはハンズオン資料の中のCloud Formationで使ったテンプレートから特定 • Lambdaのコードもここに入っているっぽい https://github.com/aws-samples/unishop-monolith-to-microservices
それっぽい実装(カートの追加 を例に) • Dynamo DBからデータを取得して商品のUUIDを追 加して更新してるだけ • レスポンスのメッセージを頼りにすればなんとか実装 できそう •
以外とシンプルで良かったw
同じ実装をしてみた • ランタイムはPython3.9 • コードエディタにコピペするだけで楽 • 実装がシンプルになって読みやすい(個人差?)
ローカルでの動作確認 • LambdaはHTTPリクエストの形式で 入力をJsonで渡せば確認ができる (メソッドは何でも良さそう) • Dynamo DBに入っているかは Dynamo DB
Adminというツールで 確認できる • LambdaとDynamo DBのDocker イメージを使って簡単に環境構築
DEMO
結果どうなったか • カートの読み込みが2,3秒でおわった! • 普段遅いと言われるPythonはLambdaだと早くなるということが証明できた(はず)
まとめ • Lambdaを実装するならやはりスクリプト言語(負荷が大きい処理じゃなければ) • Refactor Spacesを使えばAPI GatewayとLambdaの移植が簡単にできる(手順は多 いけどw) • ハンズオンの復習にもなってまた1つAWSの理解が深まった
• ハンズオンブランチへのマージお待ちしてますw
今回のソースコード https://github.com/Miura55/MigrationHub-HandsOn-Extra
宣伝 https://linedevelopercommunity.connpass.com/event/231939/
END