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
890
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
AWS×IoTについて語り合う会
miura55
0
62
クラウドを活用して家電をハックしてみた
miura55
0
55
Amplify Gen2でLambda構築してみた
miura55
0
72
Amplify Gen2でLambda構築してみた
miura55
1
500
Amplify Gen2がGAされたので試してみた
miura55
0
82
VS CodeとVimが好きなエンジニアが考えた最強のエディタ
miura55
0
180
オープンソースのロボットソフトウェア「ROS」で地図作成を試してみた
miura55
0
280
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
400
個人のAWSアカウントをマルチ運用してみた
miura55
2
360
Other Decks in Technology
See All in Technology
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
curanosuke
2
230
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
完全に理解した!生成AI自社プロダクトのアジャイル開発の進め方!/ Fully understood! Agile tips for developing our generative AI product!(AOAI Dev Day)
jnymyk
1
150
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1.1k
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
220
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
170
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
33
6.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Done Done
chrislema
179
15k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Learning to Love Humans: Emotional Interface Design
aarron
269
39k
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