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
920
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
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
0
9
Amazon Rekognitionを使ったインターホンハック
miura55
0
32
Pythonでルンバをハックしてみた
miura55
0
77
あなたの知らないクラフトビールの世界
miura55
0
240
Storage Browser for Amazon S3を触ってみた + α
miura55
0
140
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
140
あのボタンでつながるSORACOM
miura55
0
86
Postman Flowsで作るAPI連携LINE Bot
miura55
0
300
Lambdaと共に歩んだAWS
miura55
3
670
Other Decks in Technology
See All in Technology
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
5.1k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
10
2.7k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
230
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
950
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
360
SCSAから学ぶセキュリティ管理
masakamayama
0
140
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
890
アジャイル開発とスクラム
araihara
0
160
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
1.1k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Gamification - CAS2011
davidbonilla
80
5.1k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
RailsConf 2023
tenderlove
29
1k
Writing Fast Ruby
sferik
628
61k
The Invisible Side of Design
smashingmag
299
50k
How GitHub (no longer) Works
holman
313
140k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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