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.1k
Real World Serverless
freeeでのAWS Lambdaを利用したServerlessの活用方法
アーキテクチャの紹介やリージョンをまたいだ際の注意点など
from nasa
freee
January 17, 2017
Tweet
Share
More Decks by freee
See All by freee
freeeのモバイルエンジニアについて
freee
1
120
10分でわかるfreeeのQA
freee
1
3.6k
10分でわかるfreee エンジニア向け会社説明資料
freee
18
520k
freee株式会社の福利厚生と働き方
freee
1
64k
品質の高速フィードバックへの取り組み / Commitment to Fast Quality Feedback
freee
3
940
組織作りに「プロダクト開発のエッセンス」 を取り入れ、不確実性に向き合い続ける / Incorporating the “essence of product development” into organizational development and continuing to face uncertainty
freee
0
1.9k
LGBTQ__support_WOMEN_女性として働くということ_DEI
freee
2
470
QAエンジニア_Summer Internship説明会(26卒)
freee
0
250
権限管理基盤の開発とQAの今 / Authority Management Infrastructure Development and QA Now
freee
1
3k
Other Decks in Technology
See All in Technology
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
160
あなたの知らない Function.prototype.toString() の世界
mizdra
PRO
4
1k
Chasing the White Whale of Open Source - ROI
mrbobbytables
0
110
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
180
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
330
The Rise of LLMOps
asei
9
1.9k
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
200
組織成長を加速させるオンボーディングの取り組み
sudoakiy
3
300
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
150
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
120
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
260
Featured
See All Featured
Docker and Python
trallard
40
3.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
The Cult of Friendly URLs
andyhume
78
6k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
We Have a Design System, Now What?
morganepeng
50
7.2k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Building Your Own Lightsaber
phodgson
103
6.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Fireside Chat
paigeccino
34
3k
Faster Mobile Websites
deanohume
305
30k
Unsuck your backbone
ammeep
668
57k
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