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
Real World Serverless
Search
freee
January 17, 2017
Technology
0
7.3k
Real World Serverless
freeeでのAWS Lambdaを利用したServerlessの活用方法
アーキテクチャの紹介やリージョンをまたいだ際の注意点など
from nasa
freee
January 17, 2017
Tweet
Share
More Decks by freee
See All by freee
freee請求書のSLO違反改善活動について / SLO violation remediation activities for freee invoices
freee
0
310
freee + Product Design FY25Q4
freee
4
14k
10分でわかるfreeeのQA
freee
1
14k
freee Movement Deck
freee
1
190k
freeeのモバイルエンジニアについて
freee
1
570
10分でわかるfreee エンジニア向け会社説明資料
freee
22
560k
freeeの福利厚生と働き方
freee
1
79k
品質の高速フィードバックへの取り組み / Commitment to Fast Quality Feedback
freee
4
1.5k
組織作りに「プロダクト開発のエッセンス」 を取り入れ、不確実性に向き合い続ける / Incorporating the “essence of product development” into organizational development and continuing to face uncertainty
freee
1
6.5k
Other Decks in Technology
See All in Technology
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
430
OpenHands🤲にContributeしてみた
kotauchisunsun
1
500
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
680
OPENLOGI Company Profile
hr01
0
67k
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
0
220
rubygem開発で鍛える設計力
joker1007
2
270
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
0
350
Witchcraft for Memory
pocke
1
660
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
370
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
160
Geminiとv0による高速プロトタイピング
shinya337
0
200
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Invisible Side of Design
smashingmag
300
51k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
GraphQLとの向き合い方2022年版
quramy
49
14k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Practical Orchestrator
shlominoach
188
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Transcript
Real World Serverless nasa @ freee 2017.1.17 Serverless Meetup Tokyo#2
1
はじめまして • nasa (Asaoka Natsuki) • 紅茶, ガジェット, fedora 好き
• 2014 年から で engineer • その前はとある public cloud (IaaS) の開発を していました 2
3 freee にレシート・請求書のメールを転送 freee への登録部分に AWS Lambda を使用 PDF OCRにかけて
会計情報をつくるよ! 2016/11 freee Meets Serverless!!
recipe • AWS SES - メール受信 • AWS Lambda -
node.js • AWS DynamoDB • AWS S3 • apex • lambda local 4
email Amazon SES Amazon S3 Amazon S3 Amazon Lambda Amazon
Lambda Amazon DynamoD B oregon Tokyo 5 architecture
key point #1 • independent • 不正なメールが大量にきたとき、サービスへの大量アクセスを防 ぎたい • DynamoDB
で処理対象かcheck • 対象外なら exit • 障害時の復旧のしやすさ • S3 にデータがあればそれを使って再開 6 6 
key point #2 • retriable • 意図しないタイミングで retry されうる •
「実行時間 timeout」「memory 不足」etc. • retry を前提としたコード • 完了してる処理は skip • 復帰できない error は 通知して exit 7 7 
Extra • AWS の仕様を踏まえて試行錯誤 • “いつリージョンを超えるか ?” • SES は
Oregon, サービスは Tokyo • SES のイベントソースを使うと Lambda <-> S3, Lambda <-> freee 間で太平洋を越えることに…timeout の可能性Up • SES -> S3 でリージョン超え • Lambda は S3 のイベントソースを使う 8 8 
9 End We are hiring!
• apex • http://apex.run/ • lambda local • https://github.com/ashiina/lambda-local •
Understanding Container Reuse in AWS Lambda • https://aws.amazon.com/jp/blogs/compute/container-reuse-i n-lambda/ • 2016年11月度 新機能のお知らせ (※今回の機能のリリース告知) • https://www.freee.co.jp/blog/release-2016-11-30-18058.html 10 appendix