SlideShare a Scribd company logo
1 of 39
Download to read offline
SUMMIT
Berlin
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Making S3 more resilient
using Lambda@Edge
Júlia Biró, Yann Hamon
Reliability Team
Contentful
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Introduction
Júlia Biró
Reliability Engineer
Yann Hamon
Reliability Engineer
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Agenda
1. Our goal
2. Proof of concept
3. Going live
4. Improving our Lambda@Edge software platform
5. Review
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Our goal
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Our file delivery infrastructure
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Our goal: multi-region active-active
https://www.youtube.com/watch?v=2e29I3dA8o4
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Active-active vs. failover
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Current state-of-the-art (?)
Highly available multi region S3 website
Cloudfront distributions - Derek Higgins (2017)
Could work but:
Failover solution
No guaranteed propagation time for
configuration changes in Cloudfront
Manual reset
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
A possible solution...
Use an origin with DNS Round-Robin?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
… that doesn’t work
GET /puppy.jpg HTTP/1.1
Host: examplebucket.s3-us-west-2.amazonaws.com
Date: Mon, 11 Apr 2016 12:00:00 GMT
x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT
Authorization: authorization string
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
There must be a way...
Dynamically Route Viewer Requests
to Any Origin Using Lambda@Edge
Jake Wells, AWS Blog (Nov. 2017)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
A/B Testing with Lambda@Edge
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Load-balancing with Lambda@Edge
dns.resolveCname('files-origin.contentful.com', (function(err, result) {
if (result[0].includes('us-east-1')) {
bucketName = 'cf-files.s3.us-east-1.amazonaws.com';
region = 'us-east-1';
} else {
bucketName = 'cf-files.s3.eu-west-1.amazonaws.com';
region = 'eu-west-1';
}
request.origin.s3.region = region;
request.origin.s3.domain = bucketName;
request.headers['host'] = [{key: 'host', value: bucketName}];
}))
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Proof of concept
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Technology validation
We build a small proof-of-concept. Only 20 lines of code!
Proof: different image with the same path in both regions.
us-east-1 eu-west-1
Learnings:
Our Javascript is not great - we don't do this every day!
We do a DNS resolution on every cache miss
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
DNS Caching
static async ResolveCname(fqdn) {
let now = Date.now();
let cachedEntry = this.cache[fqdn];
if (cachedEntry && now - cachedEntry.updatedAt < this.defaultTTL) {
return cachedEntry.answers;
}
[...]
DNS lookups add up to 100ms latency to our requests...
But we can cache the results [1]
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
It works!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Leap of faith
Our team is not used to writing Javascript
Lambda@Edge is a new technology to the
company
High cost of failure
©https://www.iimef.marines.mil/Units/MEF-Support-Battalion/Article/1096888/leap-of-faith/
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
High cost of failure
Contractual SLAs
100s of requests/second
No graceful degradation
We need safety gear.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Why do we trust our current software platform?
testing deploy-ment
alerting
logging
version
control
monitoring
dash-
boards debugging
perfor-
mance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Production-readiness criteria
Solution-agnostic criteria list
To add an image, select Click
to insert image, and find the
image you want to use.
Gap analysis
Translated for the specific solution
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Production-readiness list is an ideal
The goal is to reduce uncertainty and risk RUNNIN' RHINO
Design by Allan Faustino
No need to meet all requirements:
Our existing software platforms did
not meet all requirements
It needs to be a conscious and
documented decision
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Risk-aversion
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Going live
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Going live… gradually
1. Attach the Lambda - new feature turned off completely
2. Feature-flag / dark release
3. Whitelist for some internal test customers
4. Gradually roll out to all traffic
5. Monitor all steps
Big red button: ability to quickly revert
at all times
Expect to meet unknowns.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Our new file delivery infrastructure
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Improving our Lambda@Edge
software platform
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Migrating a larger service to Lambda@Edge
10 times more requests per second
Full-fledged API, lot of logic
/yadj1kx9rmg0/wtrHxeu3zEoEce2MokCSi/cf6f68efdcf625fdc060607df0f3baef/qu
wowooybuqbl6ntboz3.jpg?fm=jpg&w=250&h=100
Request
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
TypeScript
JavaScript
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Rolling out again
https://commons.wikimedia.org/wiki/File:Pit_stop_raikkonen.jpg
Improved CI
Code review
Rollbacks
Backport tooling
Operational experience
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Working with Lambda@Edge
Near-immediate scale-up
Marginal costs
Highly available
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Working with Lambda@Edge
But...
Challenging development environment (esp. integration testing)
Logs saved in each region
Our deployment workflow is still manual
TypeScript helped us write safer code
We contributed the Lambda@Edge types to the AWS TypeScript package
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Future improvements
Use Geo-routing to forward requests to the closest S3 bucket
Run the DNS resolution outside of the main event loop
Automate deployments
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A few months later...
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
A few months later...
Similar implementations emerged:
Using Amazon CloudFront with Multi-Region Amazon S3 Origins (Sept. 30th, Seldam)
Amazon S3 Region Failover — Part 2: CloudFront S3 origin failover (Oct. 30th, Frias)
Cloudfront origin failover was introduced:
Amazon CloudFront announces support for Origin Failover (Nov. 20th, AWS)
But…
Current solution has proven cheap, fast and stable...
and has laid the groundworks for other multi-region projects.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Takeaways
Lambda@Edge is a cheap, scalable & highly reliable platform to build
stateless APIs
Feature-flagging, canarying, gradual rollouts are easy to use with
Lambda@Edge to reduce risk of large-scale changes
When the cost of failure is high, use production-readiness lists
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Thank you!
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Júlia Biró, Yann Hamon
julia.biro@contentful.com, yann.hamon@contentful.com

More Related Content

What's hot

Increase the value of video using ML and AWS media services - SVC301 - Atlant...
Increase the value of video using ML and AWS media services - SVC301 - Atlant...Increase the value of video using ML and AWS media services - SVC301 - Atlant...
Increase the value of video using ML and AWS media services - SVC301 - Atlant...Amazon Web Services
 
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Amazon Web Services
 
Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...Amazon Web Services
 
Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...
Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...
Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...Amazon Web Services
 
Add intelligence to applications with AWS AI services - AIM201 - New York AWS...
Add intelligence to applications with AWS AI services - AIM201 - New York AWS...Add intelligence to applications with AWS AI services - AIM201 - New York AWS...
Add intelligence to applications with AWS AI services - AIM201 - New York AWS...Amazon Web Services
 
Thirty serverless architectures in 30 minutes - MAD202 - Chicago AWS Summit
Thirty serverless architectures in 30 minutes - MAD202 - Chicago AWS SummitThirty serverless architectures in 30 minutes - MAD202 - Chicago AWS Summit
Thirty serverless architectures in 30 minutes - MAD202 - Chicago AWS SummitAmazon Web Services
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019AWS Summits
 
Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...
Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...
Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...Amazon Web Services
 
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Amazon Web Services
 
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Amazon Web Services
 
Breaking down monoliths - DEM04 - Atlanta AWS Summit
Breaking down monoliths - DEM04 - Atlanta AWS SummitBreaking down monoliths - DEM04 - Atlanta AWS Summit
Breaking down monoliths - DEM04 - Atlanta AWS SummitAmazon Web Services
 
Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...Amazon Web Services
 
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...Amazon Web Services
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019AWS Summits
 
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...Amazon Web Services
 
Driving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS Summit
Driving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS SummitDriving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS Summit
Driving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS SummitAmazon Web Services
 
AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLMarcia Villalba
 
Architecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing ZoneArchitecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing ZoneAmazon Web Services
 
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...Amazon Web Services
 
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...AWS Summits
 

What's hot (20)

Increase the value of video using ML and AWS media services - SVC301 - Atlant...
Increase the value of video using ML and AWS media services - SVC301 - Atlant...Increase the value of video using ML and AWS media services - SVC301 - Atlant...
Increase the value of video using ML and AWS media services - SVC301 - Atlant...
 
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
Deploy and scale your first cloud application with Amazon Lightsail - CMP202 ...
 
Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...Software delivery best practices: Lessons from Amazon and our customers - MAD...
Software delivery best practices: Lessons from Amazon and our customers - MAD...
 
Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...
Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...
Using Amazon EMR Notebooks to develop Apache Spark applications - ADB202 - At...
 
Add intelligence to applications with AWS AI services - AIM201 - New York AWS...
Add intelligence to applications with AWS AI services - AIM201 - New York AWS...Add intelligence to applications with AWS AI services - AIM201 - New York AWS...
Add intelligence to applications with AWS AI services - AIM201 - New York AWS...
 
Thirty serverless architectures in 30 minutes - MAD202 - Chicago AWS Summit
Thirty serverless architectures in 30 minutes - MAD202 - Chicago AWS SummitThirty serverless architectures in 30 minutes - MAD202 - Chicago AWS Summit
Thirty serverless architectures in 30 minutes - MAD202 - Chicago AWS Summit
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
 
Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...
Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...
Introduction to the Well-Architected Framework and Tool - SVC212 - Chicago AW...
 
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...Developing serverless applications with .NET using AWS SDK and tools - MAD308...
Developing serverless applications with .NET using AWS SDK and tools - MAD308...
 
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...Security and governance with AWS Control Tower and AWS Organizations - SEC204...
Security and governance with AWS Control Tower and AWS Organizations - SEC204...
 
Breaking down monoliths - DEM04 - Atlanta AWS Summit
Breaking down monoliths - DEM04 - Atlanta AWS SummitBreaking down monoliths - DEM04 - Atlanta AWS Summit
Breaking down monoliths - DEM04 - Atlanta AWS Summit
 
Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...Increasing the value of video with machine learning & AWS Media Services - SV...
Increasing the value of video with machine learning & AWS Media Services - SV...
 
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...Using automation to drive continuous-compliance best practices - SVC309 - Chi...
Using automation to drive continuous-compliance best practices - SVC309 - Chi...
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019
 
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
CI/CD best practices for building modern applications - MAD301 - Santa Clara ...
 
Driving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS Summit
Driving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS SummitDriving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS Summit
Driving OEE with AWS IoT SiteWise - SVC204 - Atlanta AWS Summit
 
AWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQLAWS Stockholm Summit 19- Building serverless applications with GraphQL
AWS Stockholm Summit 19- Building serverless applications with GraphQL
 
Architecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing ZoneArchitecting Security & Governance Across Your AWS Landing Zone
Architecting Security & Governance Across Your AWS Landing Zone
 
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
Developing your Cloud Center of Excellence using CloudHealth - DEM03 - Atlant...
 
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
Building with AWS Databases: Match Your Workload to the Right Database | AWS ...
 

Similar to Making s3 more resilient using lambda@edge

Tools for building your Startup on AWS
Tools for building your Startup on AWSTools for building your Startup on AWS
Tools for building your Startup on AWSRob De Feo
 
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ..."How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...Provectus
 
Scaling threat detection and response on AWS
Scaling threat detection and response on AWSScaling threat detection and response on AWS
Scaling threat detection and response on AWSAmazon Web Services
 
How AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessHow AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessChris Munns
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Amazon Web Services
 
Running Lean Performant Yet Cost Optimised - AWS Summit Sydney
Running Lean Performant Yet Cost Optimised - AWS Summit SydneyRunning Lean Performant Yet Cost Optimised - AWS Summit Sydney
Running Lean Performant Yet Cost Optimised - AWS Summit SydneyAmazon Web Services
 
Creating Serverless apps for NASA in GovCloud
Creating Serverless apps for NASA in GovCloudCreating Serverless apps for NASA in GovCloud
Creating Serverless apps for NASA in GovCloudChris Shenton
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...AWS Summits
 
Build security into CI/CD pipelines for effective security automation on AWS ...
Build security into CI/CD pipelines for effective security automation on AWS ...Build security into CI/CD pipelines for effective security automation on AWS ...
Build security into CI/CD pipelines for effective security automation on AWS ...Amazon Web Services
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfAmazon Web Services
 
AWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAmazon Web Services LATAM
 
Securing your Amazon SageMaker model development in a highly regulated enviro...
Securing your Amazon SageMaker model development in a highly regulated enviro...Securing your Amazon SageMaker model development in a highly regulated enviro...
Securing your Amazon SageMaker model development in a highly regulated enviro...Amazon Web Services
 
Building a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesBuilding a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesAmazon Web Services
 
AWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAmazon Web Services LATAM
 
Self-service remediation, managing configuration drift, & automation - SVC311...
Self-service remediation, managing configuration drift, & automation - SVC311...Self-service remediation, managing configuration drift, & automation - SVC311...
Self-service remediation, managing configuration drift, & automation - SVC311...Amazon Web Services
 
AWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSAWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSCobus Bernard
 

Similar to Making s3 more resilient using lambda@edge (20)

Tools for building your Startup on AWS
Tools for building your Startup on AWSTools for building your Startup on AWS
Tools for building your Startup on AWS
 
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
 
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019
 
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ..."How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
"How to build a global serverless service", Alex Casalboni, AWS Dev Day Kyiv ...
 
Scaling threat detection and response on AWS
Scaling threat detection and response on AWSScaling threat detection and response on AWS
Scaling threat detection and response on AWS
 
How AWS builds Serverless services using Serverless
How AWS builds Serverless services using ServerlessHow AWS builds Serverless services using Serverless
How AWS builds Serverless services using Serverless
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
 
Running Lean Performant Yet Cost Optimised - AWS Summit Sydney
Running Lean Performant Yet Cost Optimised - AWS Summit SydneyRunning Lean Performant Yet Cost Optimised - AWS Summit Sydney
Running Lean Performant Yet Cost Optimised - AWS Summit Sydney
 
Creating Serverless apps for NASA in GovCloud
Creating Serverless apps for NASA in GovCloudCreating Serverless apps for NASA in GovCloud
Creating Serverless apps for NASA in GovCloud
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
 
DevOps at Amazon
DevOps at AmazonDevOps at Amazon
DevOps at Amazon
 
Build security into CI/CD pipelines for effective security automation on AWS ...
Build security into CI/CD pipelines for effective security automation on AWS ...Build security into CI/CD pipelines for effective security automation on AWS ...
Build security into CI/CD pipelines for effective security automation on AWS ...
 
CICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdfCICDforModernApplications-Oslo.pdf
CICDforModernApplications-Oslo.pdf
 
AWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your Startup
 
Securing your Amazon SageMaker model development in a highly regulated enviro...
Securing your Amazon SageMaker model development in a highly regulated enviro...Securing your Amazon SageMaker model development in a highly regulated enviro...
Securing your Amazon SageMaker model development in a highly regulated enviro...
 
Building a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesBuilding a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless Technologies
 
AWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your Startup
 
Self-service remediation, managing configuration drift, & automation - SVC311...
Self-service remediation, managing configuration drift, & automation - SVC311...Self-service remediation, managing configuration drift, & automation - SVC311...
Self-service remediation, managing configuration drift, & automation - SVC311...
 
AWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWSAWS Startup Garage - Building your MVP on AWS
AWS Startup Garage - Building your MVP on AWS
 

Recently uploaded

Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 

Recently uploaded (20)

Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 

Making s3 more resilient using lambda@edge

  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Making S3 more resilient using Lambda@Edge Júlia Biró, Yann Hamon Reliability Team Contentful
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Introduction Júlia Biró Reliability Engineer Yann Hamon Reliability Engineer
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Agenda 1. Our goal 2. Proof of concept 3. Going live 4. Improving our Lambda@Edge software platform 5. Review
  • 6. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Our goal
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Our file delivery infrastructure
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Our goal: multi-region active-active https://www.youtube.com/watch?v=2e29I3dA8o4
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Active-active vs. failover
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Current state-of-the-art (?) Highly available multi region S3 website Cloudfront distributions - Derek Higgins (2017) Could work but: Failover solution No guaranteed propagation time for configuration changes in Cloudfront Manual reset
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT A possible solution... Use an origin with DNS Round-Robin?
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT … that doesn’t work GET /puppy.jpg HTTP/1.1 Host: examplebucket.s3-us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT There must be a way... Dynamically Route Viewer Requests to Any Origin Using Lambda@Edge Jake Wells, AWS Blog (Nov. 2017)
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT A/B Testing with Lambda@Edge
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Load-balancing with Lambda@Edge dns.resolveCname('files-origin.contentful.com', (function(err, result) { if (result[0].includes('us-east-1')) { bucketName = 'cf-files.s3.us-east-1.amazonaws.com'; region = 'us-east-1'; } else { bucketName = 'cf-files.s3.eu-west-1.amazonaws.com'; region = 'eu-west-1'; } request.origin.s3.region = region; request.origin.s3.domain = bucketName; request.headers['host'] = [{key: 'host', value: bucketName}]; }))
  • 16. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Proof of concept
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Technology validation We build a small proof-of-concept. Only 20 lines of code! Proof: different image with the same path in both regions. us-east-1 eu-west-1 Learnings: Our Javascript is not great - we don't do this every day! We do a DNS resolution on every cache miss
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT DNS Caching static async ResolveCname(fqdn) { let now = Date.now(); let cachedEntry = this.cache[fqdn]; if (cachedEntry && now - cachedEntry.updatedAt < this.defaultTTL) { return cachedEntry.answers; } [...] DNS lookups add up to 100ms latency to our requests... But we can cache the results [1]
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT It works!
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Leap of faith Our team is not used to writing Javascript Lambda@Edge is a new technology to the company High cost of failure ©https://www.iimef.marines.mil/Units/MEF-Support-Battalion/Article/1096888/leap-of-faith/
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT High cost of failure Contractual SLAs 100s of requests/second No graceful degradation We need safety gear.
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Why do we trust our current software platform? testing deploy-ment alerting logging version control monitoring dash- boards debugging perfor- mance
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Production-readiness criteria Solution-agnostic criteria list To add an image, select Click to insert image, and find the image you want to use. Gap analysis Translated for the specific solution
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Production-readiness list is an ideal The goal is to reduce uncertainty and risk RUNNIN' RHINO Design by Allan Faustino No need to meet all requirements: Our existing software platforms did not meet all requirements It needs to be a conscious and documented decision
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Risk-aversion
  • 26. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Going live
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Going live… gradually 1. Attach the Lambda - new feature turned off completely 2. Feature-flag / dark release 3. Whitelist for some internal test customers 4. Gradually roll out to all traffic 5. Monitor all steps Big red button: ability to quickly revert at all times Expect to meet unknowns.
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Our new file delivery infrastructure
  • 29. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Improving our Lambda@Edge software platform
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Migrating a larger service to Lambda@Edge 10 times more requests per second Full-fledged API, lot of logic /yadj1kx9rmg0/wtrHxeu3zEoEce2MokCSi/cf6f68efdcf625fdc060607df0f3baef/qu wowooybuqbl6ntboz3.jpg?fm=jpg&w=250&h=100 Request
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT TypeScript JavaScript
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Rolling out again https://commons.wikimedia.org/wiki/File:Pit_stop_raikkonen.jpg Improved CI Code review Rollbacks Backport tooling Operational experience
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Working with Lambda@Edge Near-immediate scale-up Marginal costs Highly available
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Working with Lambda@Edge But... Challenging development environment (esp. integration testing) Logs saved in each region Our deployment workflow is still manual TypeScript helped us write safer code We contributed the Lambda@Edge types to the AWS TypeScript package
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Future improvements Use Geo-routing to forward requests to the closest S3 bucket Run the DNS resolution outside of the main event loop Automate deployments
  • 36. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. A few months later...
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT A few months later... Similar implementations emerged: Using Amazon CloudFront with Multi-Region Amazon S3 Origins (Sept. 30th, Seldam) Amazon S3 Region Failover — Part 2: CloudFront S3 origin failover (Oct. 30th, Frias) Cloudfront origin failover was introduced: Amazon CloudFront announces support for Origin Failover (Nov. 20th, AWS) But… Current solution has proven cheap, fast and stable... and has laid the groundworks for other multi-region projects.
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Takeaways Lambda@Edge is a cheap, scalable & highly reliable platform to build stateless APIs Feature-flagging, canarying, gradual rollouts are easy to use with Lambda@Edge to reduce risk of large-scale changes When the cost of failure is high, use production-readiness lists
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Thank you! SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Júlia Biró, Yann Hamon julia.biro@contentful.com, yann.hamon@contentful.com