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
Safe Lambda Deployments - Albany NY - 2018-11-15
Search
sullis
November 15, 2018
Technology
1
220
Safe Lambda Deployments - Albany NY - 2018-11-15
AWS User Group
Albany NY
November 15, 2018
sullis
November 15, 2018
Tweet
Share
More Decks by sullis
See All by sullis
Dependency Management for Java - Seattle 2025-11-18
sullis
0
35
Dependency Management for Java - Portland - 2025-11-04
sullis
0
21
Dependency management for Java applications 2025-09-11
sullis
0
31
S3 NYC Iceberg meetup 2025-07-10
sullis
0
53
Amazon S3 Chicago 2025-06-04
sullis
0
130
Amazon S3 Boston 2025-05-07
sullis
0
98
Netty ConFoo Montreal 2025-02-27
sullis
0
140
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
99
Netty Portland Java User Group 2025-02-18
sullis
0
35
Other Decks in Technology
See All in Technology
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
140
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
200
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
110
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
110
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
210
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
170
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
180
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
2.6k
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
440
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
110
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
290
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
240
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Writing Fast Ruby
sferik
630
63k
Bash Introduction
62gerente
615
210k
Crafting Experiences
bethany
1
86
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
84
The Invisible Side of Design
smashingmag
302
51k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
Ethics towards AI in product and experience design
skipperchong
2
220
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Transcript
Sean Sullivan November 15, 2018 AWS User Group Albany NY
SAFE LAMBDA DEPLOYMENTS
software engineer Portland Oregon back office systems Hudson’s Bay Company
About me
None
saksfifthavenue.com saksoff5th.com lordandtaylor.com thebay.com
saksfifthavenue.com
undifferentiated heavy lifting AWS
provisioning servers AWS serverless
None
None
system plumbing business logic
None
None
HBC 2018 microservice architecture multi-tenant services increased adoption of AWS
Lambda safe deployments
None
HBC email types • order acknowledgement • order shipment partial
• order shipment full • order cancel • ready for pickup in store
Queue consumer Event queue Email Dashboard UI Email Sender Email
Render External Email Provider Feature Flag service
Email Render Product Detail service Delivery Date Estimation service request
HTML Feature Flag service
HBC email system • multi-tenant design • Cloudwatch Metrics •
Cloudwatch Alerts
HBC email system • code coverage threshold • components deployed
independently • safe deployments
aws-cli
$ brew install aws-cli
aws cloudformation package \ --template-file my-template.yaml \ --s3-bucket mycorp-codedeploy \
--s3-prefix my-lambda-func/jars \ --output-template-file package/2325bd1e.yaml
aws cloudformation deploy \ --template-file package/2325bd1e.yaml \ --stack-name mylambda-func—dev \
--parameter-overrides Stage=dev \ --region us-east-1 \ --capabilities CAPABILITY_IAM \ --notification-arns arn:aws:sns:us- east-1:123456789:myteam-cf-notifications
Mark Zuckerberg
Move Fast and Break Things Move Slow and Don’t Break
Things
Move Fast and Don’t Break Things Move Purposefully and Fix
Things
manual testing automated testing
how often do you release code to production?
safe AWS Lambda deployments?
https://www.youtube.com/watch?v=UIp6sLyvoC0
None
None
Traffic Shifting
You can now shift incoming traffic between two AWS Lambda
function versions based on pre-assigned weights. You can now also use AWS CodeDeploy to automatically manage the rollout of new function versions. This allows you to gradually shift traffic between two versions source: aws.amazon.com
Traffic Shifting configurations AllAtOnce Canary10Percent30Minutes Canary10Percent5Minutes Canary10Percent10Minutes Canary10Percent15Minutes
Linear10PercentEvery10Minutes Linear10PercentEvery1Minute Linear10PercentEvery2Minutes Linear10PercentEvery3Minutes Traffic Shifting configurations
all-at-once traffic shifting gradual traffic shifting
aws cloudformation deploy \ --template-file package/2325bd1e.yaml \ --stack-name mylambda-func—dev \
--parameter-overrides Stage=dev \ --parameter-overrides DeploymentPref=AllAtOnce \ --region us-east-1 \ --capabilities CAPABILITY_IAM \ --notification-arns arn:aws:sns:us- east-1:123456789:myteam-cf-notifications
Traffic Hooks
AWS traffic hooks • PreTraffic hook • PostTraffic hook
AWS CodeDeploy UI https://console.aws.amazon.com/codesuite/codedeploy/deployments
https://github.com/awslabs/serverless-application-model/pull/605
Future work at HBC additional validation logic in Pre Traffic
hook implement Post Traffic hook utilize AWS Cloud9 IDE
Final thoughts
traffic shifting
small incremental releases
engineering velocity is a competitive advantage
The end
None