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
Lambdaの特徴を理解して活用する/Understanding and utilizing ...
Search
yayoi_dd
October 24, 2024
Technology
2
42
Lambdaの特徴を理解して活用する/Understanding and utilizing the features of Lambda
弥生株式会社 もくテク
集まれ!AWSやらかし体験談(2024/10/24)
https://mokuteku.connpass.com/event/330976/
yayoi_dd
October 24, 2024
Tweet
Share
More Decks by yayoi_dd
See All by yayoi_dd
データの意味を適切に伝えましょう データ可視化のお手本/Conveying the Meaning of Data Appropriately: Exemplary Data Visualization
yayoi_dd
0
35
「失敗」から学ぶこと ~ソフトウェア開発と失敗の歴史~/Learning from 'Failures': The History of Software Development and Failures
yayoi_dd
0
40
ソフトウェアアーキテクチャーの基礎 エンジニアリングに基づく体系的アプローチ/Fundamentals of Software Architecture: A Systematic Approach Based on Engineering
yayoi_dd
0
42
ソフトウェア開発における「パーフェクトな意思決定」/Perfect Decision-Making in Software Development
yayoi_dd
2
2.8k
SIEM on Amazon OpenSearchで得たOSSを利用する上での教訓/Lessons learned when using OSS
yayoi_dd
1
41
RDS Aurora MySQLを用いたデータ連携でやらかした話/Story about when linking data using RDS Aurora MySQL
yayoi_dd
1
51
ライフサイクル考えられていますか/Do you think about lifecycle
yayoi_dd
1
46
プロンプトエンジニアリングに触れてみよう / Let's try prompt engineering!
yayoi_dd
1
2.6k
ChatGPTによるお手軽データ分析 / Easy data analysis with ChatGPT
yayoi_dd
1
2.5k
Other Decks in Technology
See All in Technology
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
160
20250122_FinJAWS
takuyay0ne
2
140
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
290
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
8.2k
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
1
350
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
200
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
560
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
160
Visual StudioとかIDE関連小ネタ話
kosmosebi
1
380
When Windows Meets Kubernetes…
pichuang
0
320
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
380
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
160
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Speed Design
sergeychernyshev
25
740
How STYLIGHT went responsive
nonsquared
96
5.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Done Done
chrislema
182
16k
GitHub's CSS Performance
jonrohan
1030
460k
Practical Orchestrator
shlominoach
186
10k
Adopting Sorbet at Scale
ufuk
74
9.2k
RailsConf 2023
tenderlove
29
980
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Transcript
Lambdaの特徴を 理解して活用する 次世代本部 次世代会計Eチーム 前場 佑太
Agenda • 取引情報取込サービスをLambdaで作りました • こんな理由でLambdaを選びました • Lambdaでよかったこと • Lambdaでイマイチだったこと •
どんなときにLambdaを選ぶようにしたいか
取引情報取込サービスをLambdaで作りました • SMART分割プロジェクトにおける取引情報取込サービスを Lambdaで開発することにしました • 取引情報取込サービスとは • 取引の元情報を非同期で会計Nextへ連携するサービス
こんな理由でLambdaを選びました • LambdaとするかECSとするか • メッセージングサービス(SQS)を介した 非同期のデータ連携を行うことは決まっていた • Lambdaを利用することで実装ボリュームを減らすことができる • 複雑な処理をするわけではないので、実行時間も問題はなし
• スループットについても問題なし • LambdaでNGな理由がない
Lambdaでよかったこと • 実装ボリュームが抑えられた • 並列処理 • ポーリング • CDにおいても柔軟にデプロイ方法を設定することができた
Lambdaでイマイチだったこと • 実装 • New RelicのAPM関連のライブラリが利用できなかった(C#) • Secrets Managerの情報を取得するのに手間がかかる(実装が必要) •
ECSだったら不要。。
• 実行時間の制限 • Lambdaの最大実行時間は15分 • RDSへのデータ登録処理がデータ件数に比例して増加した • 最大実行時間を超えてしまうようなデータ量で連携された場合、 手動でのリカバリー対応が必要になってしまう Lambdaでイマイチだったこと
• リトライ • SQSの可視性タイムアウトを利用してリトライを実現 • 可視性タイムアウトは二重処理を防ぐためにLambdaの 想定実行時間より長くとる • →可視性タイムアウト時間=リトライ待機時間 •
非同期ではあるものの、レスポンスタイムを気にする必要はあった Lambdaでイマイチだったこと
どんなときにLambdaを選ぶようにしたいか • Lambdaで問題がないと確信できたときに、Lambdaを利用する • データ数、サイズなど、処理時間が一定以下であることが保証される場合 • サービスの動作観点だけでなく、オブザーバビリティやCI/CDなど 運用面についても検討済 • アカウント内の同時実行数制限についても検討済
• 期待するスループットが出せるか • アカウント内に他にLambdaがないか