SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
High Velocity DevOps: Four Ways to Leverage
CloudFront in Faster DevOps Workflows
C T D 4 0 9
Chanka Perera
Solutions Architect
AWS
Acar Erkek
Sr. SDE Cloudfront
AWS
Gourav Tiwari
Principal Software Engineer
Realtor.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Introduction
Build: Programmatically launch and configure your Amazon CloudFront distributions
Test: Confirm your updates deliver the intended result with A/B testing and Lambda@Edge
Release: Continuously manage and deploy your application to CloudFront’s Global Edge Network with AWS CodeStar
Monitor: Uncover actionable insights hiding in your CloudFront logs by leveraging Amazon CloudWatch, Amazon
Athena, or Amazon Marketplace partners for intelligent monitoring and alerting
Customer speaker: Realtor.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Development transformation at Amazon: 2001-2009
2001
Monolithic architecture +
hierarchical organization
Decoupled services +
two pizza teams
2009
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is at the Edge?
Global DNS Firewall Anti-DDoS Serverless
compute
Content delivery Ingest and proxy
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudFrontAWS Lambda
Lambda@Edge
AWS Lambda@Edge
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CI/CD pipeline and why is it important?
Source Build Test Deploy Monitor
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Build
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Self-service configuration
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS code services
Source Build Test Deploy
Software release steps:
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 1: Creating the AWS CodeStar project
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 1: Creating the AWS CodeStar project
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 1: Creating the AWS CodeStar project
Users
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2: Adding CloudFront
Users
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cache
Viewer
response
Origin
response
Origin
Origin
request
Viewer
request
Client
CloudFront events for Lambda@Edge
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.1: SAM template – Lambda@Edge
Resources:
LambdaEdge:
Type: 'AWS::Serverless::Function'
Properties:
FunctionName: !Sub 'reinvent2018-LambdaEdge-
${Stage}'
CodeUri: lambdaedge/lambdaedge-index.js
Handler: lambdaedge/lambdaedge-index.handler
Runtime: nodejs6.10
# this ensures every update will create a new
version and alias pointing to that version
# e.g. Gamma-Live
AutoPublishAlias: live
CodeUri: .
MemorySize: 128
Timeout: 5
Role: !GetAtt LambdaEdgeRole.Arn
LambdaEdgeRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
-
Effect: "Allow"
Principal:
Service:
- "lambda.amazonaws.com"
- "edgelambda.amazonaws.com"
Action:
- "sts:AssumeRole"
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-
role/AWSLambdaBasicExecutionRole
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.2: Lambda@Edge code
'use strict';
const querystring = require('querystring');
exports.handler = (event, context, callback) => {
const request = event.Records[0].cf.request;
const headers = request.headers;
const params = querystring.parse(request.querystring);
if (typeof params.newLook !== 'undefined' && params.newLook == 'true') {
console.log('newLook is being served');
request.uri = 'index-newlook.html';
}
callback(null, request);
};
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.3: SAM template – parameters
AWSTemplateFormatVersion: 2010-09-09
Transform:
- AWS::Serverless-2016-10-31
- AWS::CodeStar
Parameters:
ProjectId:
Type: String
Description: AWS CodeStar projectID used to associate new resources to team members
Stage:
Type: String
Description: Deployment stage
AliasName:
Type: String
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.3: SAM template – CloudFront
myDistribution:
Type: 'AWS::CloudFront::Distribution'
Properties:
DistributionConfig:
Origins:
- DomainName: !Join
- '.'
- - !ImportValue
reinvent2018RestApiId
- "execute-api.us-east-
1.amazonaws.com"
OriginPath: "/Prod"
Id: myCustomOrigin
CustomOriginConfig:
HTTPPort: '80'
HTTPSPort: '443'
OriginProtocolPolicy: https-only
Enabled: 'true'
Comment: reinvent2018
DefaultRootObject: index.html
Aliases:
- !Ref AliasName
DefaultCacheBehavior:
MinTTL: 0
DefaultTTL: 60
MaxTTL: 60
TargetOriginId: myCustomOrigin
ViewerProtocolPolicy: redirect-to-https
ForwardedValues:
QueryString: 'true'
QueryStringCacheKeys:
- '*'
LambdaFunctionAssociations:
- EventType: origin-request
LambdaFunctionARN: !Ref LambdaEdge.Version
PriceClass: PriceClass_100
ViewerCertificate:
CloudFrontDefaultCertificate: 'true'
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.4: Extending Build Logic
buildspec.yml:
<rest of the commands>
# lambdaedge packaging
- aws cloudformation package --template template-cloudfront.yml --s3-bucket $S3_BUCKET --output-
template template-cloudfront-export.yml
artifacts:
type: zip
files:
- template-export.yml
- template-cloudfront-export.yml
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.5: Pipeline changes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.5: Permission changes – pipeline role
- Action:
- 'cloudformation:DescribeStacks'
- 'cloudformation:DescribeChangeSet'
- 'cloudformation:CreateChangeSet'
- 'cloudformation:DeleteChangeSet'
- 'cloudformation:ExecuteChangeSet'
Resource: !Sub "arn:aws:cloudformation:${AWS::Region}:*:stack/awscodestar-
${ProjectId}-*/*"
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.5: Permission changes – CloudFormation role
- Action:
- 'iam:*'
Resource:
- 'arn:aws:iam::*:role/awscodestar-reinvent2018*'
Effect: Allow
- Action:
- 'lambda:*'
Resource:
- 'arn:aws:lambda:us-east-1:*:function:*reinvent2018*'
Effect: Allow
- Action:
- 'iam:CreateServiceLinkedRole'
- 'cloudfront:*'
Resource:
- '*'
Effect: Allow
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.5: Pipeline changes – generate change set
- Actions:
- ActionTypeId:
Owner: AWS
Category: Deploy
Version: 1
Provider: CloudFormation
Configuration:
TemplatePath: !Sub '${ProjectId}--BuildArtifact::template-cloudfront-export.yml'
ActionMode: CHANGE_SET_REPLACE
Capabilities: CAPABILITY_IAM
ParameterOverrides: !Sub '{"Stage": "Gamma", "ProjectId": "${ProjectId}", "AliasName":
"gamma.acarerkek.com"}'
ChangeSetName: pipeline-changeset
RoleArn: !GetAtt CloudFormationTrustRole.Arn
StackName: !Sub 'awscodestar-${ProjectId}-lambdaedge-Gamma'
InputArtifacts:
- Name: !Sub '${ProjectId}-BuildArtifact'
OutputArtifacts: []
RunOrder: 1
Name: GenerateChangeSet
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.5: Pipeline changes – execute change set
- ActionTypeId:
Owner: AWS
Category: Deploy
Version: 1
Provider: CloudFormation
Configuration:
ActionMode: CHANGE_SET_EXECUTE
ChangeSetName: pipeline-changeset
StackName: !Sub 'awscodestar-${ProjectId}-lambdaedge-Gamma'
InputArtifacts: []
OutputArtifacts: []
RunOrder: 2
Name: ExecuteChangeSet
Name: DeployCloudFront-Gamma
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 2.5: Pipeline changes - deploying
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Test
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 3: Unit testing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4: Integration testing in gamma
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4.1: Integration testing—Code
it('should return 200 and default page', function(done) {
console.log('https://' + process.env.TEST_URL);
https.get('https://' + process.env.TEST_URL, (response) => {
let body = '';
response.on('data', (chunk) => {
body += chunk;
});
response.on('end', () => {
test.number(response.statusCode).is(200);
test.string(body).match(/Congratulations/);
done();
});
});
});
/* other tests */
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4.2: Integration testing – build projects
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4.2: Integration testing – build projects
CodeBuildProjectGammaTesting:
Condition: CreateCodeBuildResources
DependsOn:
- CodeBuildPolicy
Type: 'AWS::CodeBuild::Project'
Properties:
Artifacts:
Type: codepipeline
Packaging: zip
Description: 'CodeBuild Project for
gamma integration testing'
ServiceRole: !Ref CodeBuildRole
Environment:
Type: LINUX_CONTAINER
EnvironmentVariables:
- Value:
d16rtuhd4dgmx4.cloudfront.net
Name: TEST_URL
Image: 'aws/codebuild/eb-nodejs-
6.10.0-amazonlinux-64:4.0.0'
ComputeType: small
Source:
Type: codepipeline
BuildSpec: integ-
tests/buildspec.yml
Name: !Sub '${ProjectId}-integtest-
Gamma'
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4.3: Integration testing - buildspec
version: 0.2
phases:
install:
commands:
# Install dependencies needed for running tests
- npm install
# Upgrade AWS CLI to the latest version
- pip install --upgrade awscli
pre_build:
commands:
# Discover and run unit tests in the 'tests' directory
- npm run-script integ-test
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4.4: Integration testing – pipeline
- Actions:
- ActionTypeId:
Owner: AWS
Category: Test
Version: 1
Provider: CodeBuild
Configuration:
ProjectName: !Sub '${ProjectId}-integtest-Gamma'
InputArtifacts:
- Name: !Sub '${ProjectId}-SourceArtifact'
RunOrder: 1
Name: RunIntegTests
Name: IntegTestingGamma
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 4.4: Integration testing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Release
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 5: Release
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Step 5: Release—Production stages
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
See how it works
• Default start page: https://dow1m4ilcudkt.cloudfront.net/
• Beta start page: https://dow1m4ilcudkt.cloudfront.net/?newLook=true
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Recap
• AWS CodeStar project
• Lambda@Edge and CloudFront in continuous deployment
• Integration testing
• Releasing to production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
MONITOR
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudWatch metrics—CloudFront
• Requests
• BytesDownloaded
• BytesUploaded
• TotalErrorRate
• 4xxErrorRate
• 5xxErrorRate
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudWatch logs—CloudFront/Lambda@Edge
• Invalid response logs from Lambda@Edge
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudWatch metrics—AWS WAF & AWS Shield
Advanced
AWS Shield Advanced
• DDoSDetected
• DDoSAttackBitsPerSecond
• DDoSAttackPacketsPerSecond
• DDoSAttackRequestsPerSecond
AWS WAF
• AllowedRequests
• BlockedRequests
• CountedRequest
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CloudTrail
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Set up a reporting pipeline
Athena
CloudFront
Access Logs
Amazon S3
AWS Glue
AWS Glue Catalog
Data Source
Discovery
Query data
• Amazon CloudFront access logs are
available in Amazon Simple Storage Service
(Amazon S3)
• Use AWS Glue to discover your data
sources, including your log bucket
• Build a data catalog of data and make it
available to Athena
• Use Amazon QuickSight to analyze the data
• Athena will query your S3 bucket
• Simple and serverless!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Export access logs to your own monitoring tools
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Gourav Tiwari
Principal Software Engineer
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Attracts the serious home buyer
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key part of News Corp
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Proptiger.com
Housing.com
makaan
Largest global digital RE network
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Transformation
• 20-year-old company acquired by News
Corp in November 2014
• 2015: Transform to compete
• Put the customer first
• Iterate on customer feedback
• Improve product velocity and quality
• Rewrite core products
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Moving tech-stack to cloud
• DevOps/Agile/Cloud
• Key principles
• Keep it simple
• Design services
• Cloud first (AWS)
• Utilize AWS products and services
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Front-end applications on AWS in first 6 months
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Use cases
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A/B test
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A/B test requirements
• Tag the user to new experience from very
first request based on micro-market
• Ability to show variations from two or more
applications(Origins)
• Acceptable latency < 30ms
• Ability to unit test the custom solution
• Easy deployments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A/B test with Lambda@Edge
 Users are tagged from first request with
updated origins
 Serve content from multiple applications
 Acceptable latency < 30ms
 Unit testing
 Jenkins jobs to deploy Lambda functions
and CDN updates
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A/B test architecture
Content switch gateway
Rules engine
Conditions
BehaviorsDNS provider
Consumers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
New use case
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Previous content switch gateway
• 70+ rules for content switching
• Each rule had multiple sub-rules
• Manual changes, manual testing
• Limited deployments ~ one or two times a week
• Limited visibility in monitoring
• Fixed-price model
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Migration to CloudFront and Lambda@Edge
• Jenkins pipeline to automate:
• CI/CD
• Continuous testing
• Infrastructure as code
• Configuration versioning via GitHub Enterprise
• Continuous monitoring
• CloudWatch
• AWS X-Ray
• New Relic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudFront and Lambda@Edge
Rules engine
Conditions
Behaviors
DNS provider
Consumers
S3 Bucket
access logs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Impact
• Simplified changes for Lambda@Edge
and CloudFront
1. Check-in new changes
2. PR review/comments/merge
3. Total deployment time ~15 minutes
• DevOps team in full control
• Versioned infrastructure to replicate
prod/beta environments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CI/CD with Jenkins
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Visibility in monitoring & logging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Visibility in monitoring & logging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Visibility in monitoring & logging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Result
• Unit tests: 600+
• Average latency: < 20 ms
• Lines of code: ~1200
• Improved velocity
• Check-in to deployment time: ~15 minutes
• Frequent releases
Number of Deployments after
0
1
2
3
1 2 3 4 5 6 7 8
Number of Deployments before
0
2
4
6
8
1 2 3 4 5 6 7 8
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lessons learned / best practices
• Importance of Testing
• Test the AWS WAF rules
• End-to-end performance test vs isolated lambda function’s performance test
• Automation facilitates velocity
• Devops facilitates agility
• No manual changes!
• Leverage tools for better monitoring
• Keep an eye on Lambda Throttling, Cloudwatch metrics are helpful
• Collaboration is key to make DevOps success!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’s next
• Resize images at run time via CloudFront
• Next domains to migrate
• Lambda blue-green deployment
• ECS blue-green deployment
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Takeaways
• Consider the Lambda@Edge as part of your application stack
• Automate configuration of the Lambda@Edge
• Build Automation
• Test Automation
• Monitor the Lambda@Edge using CloudTrail and CloudWatch
Check out the new features in:
• AWS Lambda and Lambda@Edge
• AWS API Gateway
• AWS SAM
• AWS WAF and AWS Shield
• AWS CodeStar services
• AWS Cloud9
• AWS CloudFormation
• CloudFront
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Chanka Perera
Solutions Architect
AWS
Acar Erkek
Sr. SDE Cloudfront
AWS
Gourav Tiwari
Principal Software Engineer
Realtor.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
Amazon Web Services
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
Amazon Web Services
 
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Amazon Web Services
 
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Amazon Web Services
 
AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...
AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...
AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...
Amazon Web Services
 
Achieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech TalksAchieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech Talks
Amazon Web Services
 
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
Amazon Web Services
 
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Amazon Web Services
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Amazon Web Services
 
Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...
Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...
Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...
Amazon Web Services
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
Amazon Web Services
 
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Amazon Web Services
 
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Amazon Web Services
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
Amazon Web Services
 
Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...
Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...
Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...
Amazon Web Services
 
BDA303 Amazon Rekognition: Deep Learning-Based Image and Video Analysis
BDA303 Amazon Rekognition: Deep Learning-Based Image and Video AnalysisBDA303 Amazon Rekognition: Deep Learning-Based Image and Video Analysis
BDA303 Amazon Rekognition: Deep Learning-Based Image and Video Analysis
Amazon Web Services
 
BDA308 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA308 Deep Dive: Log Analytics with Amazon Elasticsearch ServiceBDA308 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA308 Deep Dive: Log Analytics with Amazon Elasticsearch Service
Amazon Web Services
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS
Amazon Web Services
 
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Amazon Web Services
 
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Amazon Web Services
 

What's hot (20)

SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
A New Approach to Continuous Monitoring in the Cloud: Migrate to AWS with NET...
 
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
Optimizing Costs as You Scale on AWS (ENT302) - AWS re:Invent 2018
 
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
 
AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...
AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...
AWS Storage Leadership Session: What's New in Amazon S3, Amazon EFS, Amazon E...
 
Achieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech TalksAchieving Business Value with AWS - AWS Online Tech Talks
Achieving Business Value with AWS - AWS Online Tech Talks
 
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
What's New with the AWS CLI (DEV322-R1) - AWS re:Invent 2018
 
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
 
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
Proven Methodologies for Accelerating Your Cloud Journey (ENT308-S) - AWS re:...
 
Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...
Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...
Bridge OLTP and Stream Processing with Amazon Kinesis, AWS Lambda, & MongoDB ...
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
 
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
 
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...
Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...
Building Fraud Detection Systems with AWS Batch and Containers (DVC301) - AWS...
 
BDA303 Amazon Rekognition: Deep Learning-Based Image and Video Analysis
BDA303 Amazon Rekognition: Deep Learning-Based Image and Video AnalysisBDA303 Amazon Rekognition: Deep Learning-Based Image and Video Analysis
BDA303 Amazon Rekognition: Deep Learning-Based Image and Video Analysis
 
BDA308 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA308 Deep Dive: Log Analytics with Amazon Elasticsearch ServiceBDA308 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA308 Deep Dive: Log Analytics with Amazon Elasticsearch Service
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS
 
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
Moving to DevOps the Amazon Way (DEV210-R1) - AWS re:Invent 2018
 
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
 

Similar to High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workflows (CTD409) - AWS re:Invent 2018

Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Amazon Web Services
 
Taking serverless to the edge
Taking serverless to the edgeTaking serverless to the edge
Taking serverless to the edge
Amazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
Amazon Web Services
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
Amazon Web Services
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
Amazon Web Services
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal Serverless
Amazon Web Services
 
Devops on serverless
Devops on serverlessDevops on serverless
Devops on serverless
Sébastien ☁ Stormacq
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Amazon Web Services
 
Serverless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLMServerless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLM
Boaz Ziniman
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Amazon Web Services
 
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Amazon Web Services
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Amazon Web Services
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
Amazon Web Services
 
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Amazon Web Services
 
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Amazon Web Services
 
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Amazon Web Services
 
Adding the Sec to Your DevOps Pipelines: AWS Security Week at the SF Loft
Adding the Sec to Your DevOps Pipelines: AWS Security Week at the SF LoftAdding the Sec to Your DevOps Pipelines: AWS Security Week at the SF Loft
Adding the Sec to Your DevOps Pipelines: AWS Security Week at the SF Loft
Amazon Web Services
 
DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)
Amazon Web Services
 
Serverless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet UpServerless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet Up
Amazon Web Services
 
Ci/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubCi/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO Club
Boaz Ziniman
 

Similar to High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workflows (CTD409) - AWS re:Invent 2018 (20)

Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
Running Serverless at The Edge (CTD302) - AWS re:Invent 2018
 
Taking serverless to the edge
Taking serverless to the edgeTaking serverless to the edge
Taking serverless to the edge
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal Serverless
 
Devops on serverless
Devops on serverlessDevops on serverless
Devops on serverless
 
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
Deploying Microservices using AWS Fargate (CON315-R1) - AWS re:Invent 2018
 
Serverless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLMServerless Beyond Functions - CTO Club Made in JLM
Serverless Beyond Functions - CTO Club Made in JLM
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
 
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
 
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018
 
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
使用 AWS 無伺服器化應用程式模型 (SAM) 釋放您的 "敏捷" 能量 (Level 300)
 
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
Unlocking Agility with the AWS Serverless Application Model (SAM) - AWS Summi...
 
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
 
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
Automate Your Alexa Lambda Function Deployment Workflows Using AWS CodeCommit...
 
Adding the Sec to Your DevOps Pipelines: AWS Security Week at the SF Loft
Adding the Sec to Your DevOps Pipelines: AWS Security Week at the SF LoftAdding the Sec to Your DevOps Pipelines: AWS Security Week at the SF Loft
Adding the Sec to Your DevOps Pipelines: AWS Security Week at the SF Loft
 
DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)DevSecOps 的規模化實踐 (Level: 300-400)
DevSecOps 的規模化實踐 (Level: 300-400)
 
Serverless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet UpServerless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet Up
 
Ci/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO ClubCi/CD for AWS Lambda Projects - JLM CTO Club
Ci/CD for AWS Lambda Projects - JLM CTO Club
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workflows (CTD409) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. High Velocity DevOps: Four Ways to Leverage CloudFront in Faster DevOps Workflows C T D 4 0 9 Chanka Perera Solutions Architect AWS Acar Erkek Sr. SDE Cloudfront AWS Gourav Tiwari Principal Software Engineer Realtor.com
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda Introduction Build: Programmatically launch and configure your Amazon CloudFront distributions Test: Confirm your updates deliver the intended result with A/B testing and Lambda@Edge Release: Continuously manage and deploy your application to CloudFront’s Global Edge Network with AWS CodeStar Monitor: Uncover actionable insights hiding in your CloudFront logs by leveraging Amazon CloudWatch, Amazon Athena, or Amazon Marketplace partners for intelligent monitoring and alerting Customer speaker: Realtor.com
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Development transformation at Amazon: 2001-2009 2001 Monolithic architecture + hierarchical organization Decoupled services + two pizza teams 2009
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is at the Edge? Global DNS Firewall Anti-DDoS Serverless compute Content delivery Ingest and proxy
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CloudFrontAWS Lambda Lambda@Edge AWS Lambda@Edge
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CI/CD pipeline and why is it important? Source Build Test Deploy Monitor
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Build
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Self-service configuration
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS code services Source Build Test Deploy Software release steps:
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 1: Creating the AWS CodeStar project
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 1: Creating the AWS CodeStar project
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 1: Creating the AWS CodeStar project Users
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2: Adding CloudFront Users
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Cache Viewer response Origin response Origin Origin request Viewer request Client CloudFront events for Lambda@Edge
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.1: SAM template – Lambda@Edge Resources: LambdaEdge: Type: 'AWS::Serverless::Function' Properties: FunctionName: !Sub 'reinvent2018-LambdaEdge- ${Stage}' CodeUri: lambdaedge/lambdaedge-index.js Handler: lambdaedge/lambdaedge-index.handler Runtime: nodejs6.10 # this ensures every update will create a new version and alias pointing to that version # e.g. Gamma-Live AutoPublishAlias: live CodeUri: . MemorySize: 128 Timeout: 5 Role: !GetAtt LambdaEdgeRole.Arn LambdaEdgeRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "lambda.amazonaws.com" - "edgelambda.amazonaws.com" Action: - "sts:AssumeRole" ManagedPolicyArns: - arn:aws:iam::aws:policy/service- role/AWSLambdaBasicExecutionRole
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.2: Lambda@Edge code 'use strict'; const querystring = require('querystring'); exports.handler = (event, context, callback) => { const request = event.Records[0].cf.request; const headers = request.headers; const params = querystring.parse(request.querystring); if (typeof params.newLook !== 'undefined' && params.newLook == 'true') { console.log('newLook is being served'); request.uri = 'index-newlook.html'; } callback(null, request); };
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.3: SAM template – parameters AWSTemplateFormatVersion: 2010-09-09 Transform: - AWS::Serverless-2016-10-31 - AWS::CodeStar Parameters: ProjectId: Type: String Description: AWS CodeStar projectID used to associate new resources to team members Stage: Type: String Description: Deployment stage AliasName: Type: String
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.3: SAM template – CloudFront myDistribution: Type: 'AWS::CloudFront::Distribution' Properties: DistributionConfig: Origins: - DomainName: !Join - '.' - - !ImportValue reinvent2018RestApiId - "execute-api.us-east- 1.amazonaws.com" OriginPath: "/Prod" Id: myCustomOrigin CustomOriginConfig: HTTPPort: '80' HTTPSPort: '443' OriginProtocolPolicy: https-only Enabled: 'true' Comment: reinvent2018 DefaultRootObject: index.html Aliases: - !Ref AliasName DefaultCacheBehavior: MinTTL: 0 DefaultTTL: 60 MaxTTL: 60 TargetOriginId: myCustomOrigin ViewerProtocolPolicy: redirect-to-https ForwardedValues: QueryString: 'true' QueryStringCacheKeys: - '*' LambdaFunctionAssociations: - EventType: origin-request LambdaFunctionARN: !Ref LambdaEdge.Version PriceClass: PriceClass_100 ViewerCertificate: CloudFrontDefaultCertificate: 'true'
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.4: Extending Build Logic buildspec.yml: <rest of the commands> # lambdaedge packaging - aws cloudformation package --template template-cloudfront.yml --s3-bucket $S3_BUCKET --output- template template-cloudfront-export.yml artifacts: type: zip files: - template-export.yml - template-cloudfront-export.yml
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.5: Pipeline changes
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.5: Permission changes – pipeline role - Action: - 'cloudformation:DescribeStacks' - 'cloudformation:DescribeChangeSet' - 'cloudformation:CreateChangeSet' - 'cloudformation:DeleteChangeSet' - 'cloudformation:ExecuteChangeSet' Resource: !Sub "arn:aws:cloudformation:${AWS::Region}:*:stack/awscodestar- ${ProjectId}-*/*"
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.5: Permission changes – CloudFormation role - Action: - 'iam:*' Resource: - 'arn:aws:iam::*:role/awscodestar-reinvent2018*' Effect: Allow - Action: - 'lambda:*' Resource: - 'arn:aws:lambda:us-east-1:*:function:*reinvent2018*' Effect: Allow - Action: - 'iam:CreateServiceLinkedRole' - 'cloudfront:*' Resource: - '*' Effect: Allow
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.5: Pipeline changes – generate change set - Actions: - ActionTypeId: Owner: AWS Category: Deploy Version: 1 Provider: CloudFormation Configuration: TemplatePath: !Sub '${ProjectId}--BuildArtifact::template-cloudfront-export.yml' ActionMode: CHANGE_SET_REPLACE Capabilities: CAPABILITY_IAM ParameterOverrides: !Sub '{"Stage": "Gamma", "ProjectId": "${ProjectId}", "AliasName": "gamma.acarerkek.com"}' ChangeSetName: pipeline-changeset RoleArn: !GetAtt CloudFormationTrustRole.Arn StackName: !Sub 'awscodestar-${ProjectId}-lambdaedge-Gamma' InputArtifacts: - Name: !Sub '${ProjectId}-BuildArtifact' OutputArtifacts: [] RunOrder: 1 Name: GenerateChangeSet
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.5: Pipeline changes – execute change set - ActionTypeId: Owner: AWS Category: Deploy Version: 1 Provider: CloudFormation Configuration: ActionMode: CHANGE_SET_EXECUTE ChangeSetName: pipeline-changeset StackName: !Sub 'awscodestar-${ProjectId}-lambdaedge-Gamma' InputArtifacts: [] OutputArtifacts: [] RunOrder: 2 Name: ExecuteChangeSet Name: DeployCloudFront-Gamma
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 2.5: Pipeline changes - deploying
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Test
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 3: Unit testing
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4: Integration testing in gamma
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4.1: Integration testing—Code it('should return 200 and default page', function(done) { console.log('https://' + process.env.TEST_URL); https.get('https://' + process.env.TEST_URL, (response) => { let body = ''; response.on('data', (chunk) => { body += chunk; }); response.on('end', () => { test.number(response.statusCode).is(200); test.string(body).match(/Congratulations/); done(); }); }); }); /* other tests */
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4.2: Integration testing – build projects
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4.2: Integration testing – build projects CodeBuildProjectGammaTesting: Condition: CreateCodeBuildResources DependsOn: - CodeBuildPolicy Type: 'AWS::CodeBuild::Project' Properties: Artifacts: Type: codepipeline Packaging: zip Description: 'CodeBuild Project for gamma integration testing' ServiceRole: !Ref CodeBuildRole Environment: Type: LINUX_CONTAINER EnvironmentVariables: - Value: d16rtuhd4dgmx4.cloudfront.net Name: TEST_URL Image: 'aws/codebuild/eb-nodejs- 6.10.0-amazonlinux-64:4.0.0' ComputeType: small Source: Type: codepipeline BuildSpec: integ- tests/buildspec.yml Name: !Sub '${ProjectId}-integtest- Gamma'
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4.3: Integration testing - buildspec version: 0.2 phases: install: commands: # Install dependencies needed for running tests - npm install # Upgrade AWS CLI to the latest version - pip install --upgrade awscli pre_build: commands: # Discover and run unit tests in the 'tests' directory - npm run-script integ-test
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4.4: Integration testing – pipeline - Actions: - ActionTypeId: Owner: AWS Category: Test Version: 1 Provider: CodeBuild Configuration: ProjectName: !Sub '${ProjectId}-integtest-Gamma' InputArtifacts: - Name: !Sub '${ProjectId}-SourceArtifact' RunOrder: 1 Name: RunIntegTests Name: IntegTestingGamma
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 4.4: Integration testing
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Release
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 5: Release
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Step 5: Release—Production stages
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. See how it works • Default start page: https://dow1m4ilcudkt.cloudfront.net/ • Beta start page: https://dow1m4ilcudkt.cloudfront.net/?newLook=true
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Recap • AWS CodeStar project • Lambda@Edge and CloudFront in continuous deployment • Integration testing • Releasing to production
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. MONITOR
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CloudWatch metrics—CloudFront • Requests • BytesDownloaded • BytesUploaded • TotalErrorRate • 4xxErrorRate • 5xxErrorRate
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CloudWatch logs—CloudFront/Lambda@Edge • Invalid response logs from Lambda@Edge
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CloudWatch metrics—AWS WAF & AWS Shield Advanced AWS Shield Advanced • DDoSDetected • DDoSAttackBitsPerSecond • DDoSAttackPacketsPerSecond • DDoSAttackRequestsPerSecond AWS WAF • AllowedRequests • BlockedRequests • CountedRequest
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CloudTrail
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Set up a reporting pipeline Athena CloudFront Access Logs Amazon S3 AWS Glue AWS Glue Catalog Data Source Discovery Query data • Amazon CloudFront access logs are available in Amazon Simple Storage Service (Amazon S3) • Use AWS Glue to discover your data sources, including your log bucket • Build a data catalog of data and make it available to Athena • Use Amazon QuickSight to analyze the data • Athena will query your S3 bucket • Simple and serverless!
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Export access logs to your own monitoring tools
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Gourav Tiwari Principal Software Engineer
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Attracts the serious home buyer
  • 51. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key part of News Corp
  • 52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Proptiger.com Housing.com makaan Largest global digital RE network
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Transformation • 20-year-old company acquired by News Corp in November 2014 • 2015: Transform to compete • Put the customer first • Iterate on customer feedback • Improve product velocity and quality • Rewrite core products
  • 54. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Moving tech-stack to cloud • DevOps/Agile/Cloud • Key principles • Keep it simple • Design services • Cloud first (AWS) • Utilize AWS products and services
  • 55. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Front-end applications on AWS in first 6 months
  • 56. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Use cases
  • 57. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A/B test
  • 58. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A/B test requirements • Tag the user to new experience from very first request based on micro-market • Ability to show variations from two or more applications(Origins) • Acceptable latency < 30ms • Ability to unit test the custom solution • Easy deployments
  • 59. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 60. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A/B test with Lambda@Edge  Users are tagged from first request with updated origins  Serve content from multiple applications  Acceptable latency < 30ms  Unit testing  Jenkins jobs to deploy Lambda functions and CDN updates
  • 61. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A/B test architecture Content switch gateway Rules engine Conditions BehaviorsDNS provider Consumers
  • 62. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. New use case
  • 63. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Previous content switch gateway • 70+ rules for content switching • Each rule had multiple sub-rules • Manual changes, manual testing • Limited deployments ~ one or two times a week • Limited visibility in monitoring • Fixed-price model
  • 64. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 65. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Migration to CloudFront and Lambda@Edge • Jenkins pipeline to automate: • CI/CD • Continuous testing • Infrastructure as code • Configuration versioning via GitHub Enterprise • Continuous monitoring • CloudWatch • AWS X-Ray • New Relic
  • 66. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CloudFront and Lambda@Edge Rules engine Conditions Behaviors DNS provider Consumers S3 Bucket access logs
  • 67. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Impact • Simplified changes for Lambda@Edge and CloudFront 1. Check-in new changes 2. PR review/comments/merge 3. Total deployment time ~15 minutes • DevOps team in full control • Versioned infrastructure to replicate prod/beta environments
  • 68. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CI/CD with Jenkins
  • 69. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Visibility in monitoring & logging
  • 70. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Visibility in monitoring & logging
  • 71. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Visibility in monitoring & logging
  • 72. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Result • Unit tests: 600+ • Average latency: < 20 ms • Lines of code: ~1200 • Improved velocity • Check-in to deployment time: ~15 minutes • Frequent releases Number of Deployments after 0 1 2 3 1 2 3 4 5 6 7 8 Number of Deployments before 0 2 4 6 8 1 2 3 4 5 6 7 8
  • 73. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 74. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lessons learned / best practices • Importance of Testing • Test the AWS WAF rules • End-to-end performance test vs isolated lambda function’s performance test • Automation facilitates velocity • Devops facilitates agility • No manual changes! • Leverage tools for better monitoring • Keep an eye on Lambda Throttling, Cloudwatch metrics are helpful • Collaboration is key to make DevOps success!
  • 75. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’s next • Resize images at run time via CloudFront • Next domains to migrate • Lambda blue-green deployment • ECS blue-green deployment
  • 76. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 77. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key Takeaways • Consider the Lambda@Edge as part of your application stack • Automate configuration of the Lambda@Edge • Build Automation • Test Automation • Monitor the Lambda@Edge using CloudTrail and CloudWatch Check out the new features in: • AWS Lambda and Lambda@Edge • AWS API Gateway • AWS SAM • AWS WAF and AWS Shield • AWS CodeStar services • AWS Cloud9 • AWS CloudFormation • CloudFront
  • 78. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Chanka Perera Solutions Architect AWS Acar Erkek Sr. SDE Cloudfront AWS Gourav Tiwari Principal Software Engineer Realtor.com
  • 79. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.