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
東京Ruby会議12 Ruby と Rust と私 / Tokyo RubyKaigi 12 Ruby, Rust and me
eagletmt
3
870
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
580
When Windows Meets Kubernetes…
pichuang
0
300
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
実践! ソフトウェアエンジニアリングの価値の計測 ── Effort、Output、Outcome、Impact
nomuson
0
2k
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
あなたの知らないクラフトビールの世界
miura55
0
120
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
160
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
210
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
340
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
The Invisible Side of Design
smashingmag
299
50k
A Philosophy of Restraint
colly
203
16k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Making Projects Easy
brettharned
116
6k
Building Adaptive Systems
keathley
38
2.4k
We Have a Design System, Now What?
morganepeng
51
7.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Optimising Largest Contentful Paint
csswizardry
33
3k
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がないか