SlideShare a Scribd company logo
1 of 32
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Automate Testing & Deployment
of Modern Serverless Applications
Jonathan Clark
Software Development Manager
AWS/Orchestration
A P I 3 1 8 - R
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
Introduction
Deployment Types
Demo
Concepts
Q&A
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Chalk talk repeats
Wednesday, November 28
Automate Testing & Deployment of Modern Serverless Apps
2:30PM – 3:30PM | Aria West, Level 3, Ironwood 7, T1
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related chalk talks
Monday, November 26
Deploy a Resilient and Cost-Effective App with EC2 Auto Scaling
and CI/CD
1:00PM – 2:00PM | Mirage, Grand Ballroom B, Table 2
Thursday, November 29
Create a Serverless Web Event Pipeline
4:00PM – 5:00PM | Mirage, Grand Ballroom D, Table 2
Tuesday, November 27
Serverless State Management & Orchestration for Modern Apps
10:45AM – 11:45AM | Bellagio, Level 1, Bellagio Ballroom 6
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What are Serverless
Applications?
Serverless applications don't
require you to provision, scale,
and manage any servers.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous Integration
Continuous integration is the practice of merging all developer working
copies to a shared “mainline” several times a day
1. Maintain a code repository
2. Automate the build
3. Make the build self-testing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous Deployment
Continuous deployment is the practice in which software functionalities
are delivered frequently through automated deployments
1. Automation infrastructure
2. Define steps for integration
3. Instrument metrics to trigger events
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Types of Deployments
Software can be deployed in a variety of ways, each one with a different
set of benefits/deficits. Some typical deployment types include:
1. Recreate – Shutdown version A and create version B.
2. Ramped – Route a portion of the requests to an updated version.
3. Blue/Green – Create a new stack every deployment and shift traffic.
4. Shadow – Release both versions, send traffic to both and return from A.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Recreate Deployments
Overview
Recreate deployments consist of shutting down the live environment and creating the new
version. This is also called “update” deployments
Pros
• Easy setup.
• Cost-effective.
• No additional deployment code or infrastructure to maintain
Cons
• Downtime between shutting down and creating new environment.
• Rolling back the deployment is more difficult and takes longer.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ramped Deployments
Overview
Slowly roll out a new version by replacing a subset of the instances. You would take down a
portion of your fleet
Pros
• Control blast radius through parallelism and batching.
• Slow release of new versions
Cons
• With serverless you don’t have control over instances.
• Implement routing logic on top of resources
• No control on traffic
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Blue/Green Deployments
Overview
Blue/Green deployments consist of creating another entire environment. Once the new
environment has been validated, route all traffic to it.
Pros
• Instant rollout/rollback – no downtime.
• No versioning issue, deployments are isolated.
Cons
• Expensive as it requires another stack – if serverless, this cost is minimal.
• Handling state in applications through this deployment can be difficult.
• In a bad deployment, impact is large but short-lived.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Shadow Deployments
Overview
Release the new version alongside the old version. Fork traffic from the old version to the new
one.
Pros
• Performance testing for production load is evaluated in the deployment
• Testable with production load before flipping the switch
Cons
• Expensive to set up and maintain
• Requires mocking for idempotent functions
• Requires a routing layer on top of your application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Extending the Image Processing AWS Sample
• Existing solution allows you to upload an image and run it through
Amazon Rekognition to add tags.
• https://github.com/aws-samples/lambda-refarch-imagerecognition
• The Demo extended it to support text recognition (OCR) in newly
uploaded images
• Desktop to Prod in 3 minutes 49 seconds.
• Using a Recreate deployment type through AWS CloudFormation
• Monitoring and versioning is managed
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Adding AWS CodePipeline to the project
• AWS CodeCommit
• Source code repository
• AWS CodeBuild
• Build and test code
• AWS CodeDeploy
• Deployment automation
• AWS CodePipeline
• Visualize and automate deployment
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CodeBuild Phases
• install
• Install required dependencies to run tests and build
• pre-build
• Preparation scripts
• build
• Used to package any data or code
• Generate AWS CloudFormation templates
• Create temporary resources and execute tests
• post-build
• Steps to run after the build
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CodeBuild Buildspec.yml
version: 0.2
phases:
install:
commands:
# Install commands to run
artifacts:
type: zip
files:
#Output files
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
#Install Commands to Run
- npm install -C lambda-
functions/create-s3-event-trigger-
helper
- npm install -C lambda-
functions/thumbnail
- npm install -C lambda-
functions/extract-image-metadata
- echo "Installing Lambda Dependencies
Complete"
- python
cloudformation/inject_state_machine_cfn
.py -s cloudformation/state-
machine.json -c cloudformation/image-
processing.serverless.yaml -o
cloudformation/image-
processing.complete.yaml
- aws cloudformation package --kms-key-
id $CODEBUILD_KMS_KEY_ID --s3-bucket
codepipeline-us-west-2-854096359820 --
template cloudformation/image-
processing.complete.yaml --output-
template-file cloudformation/image-
processing.output.yaml
- echo "Building Complete"
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
#Output Files
type: zip
files:
- cloudformation/image-processing.complete.yaml
- cloudformation/image-processing.output.yaml
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application Architecture – Image Processing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Deployment Architecture
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monitoring Dashboard
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Versioning Properties in AWS Lambda
1. Reference through ARN suffix
2. Default is :$LATEST suffix – reference the last updated version
3. Customizable mutable aliases pointing to immutable versions
4. AWS CloudFormation recreates a new Lambda function resource on UpdateStack
5. Rollback accomplished by changing alias or updating $LATEST version.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Versioning Properties in Step Functions
1. Reference through ARN suffix
2. UpdateStateMachine, DescribeStateMachineForExecution are key APIs
3. Old state machine executions continue to run, new state machines run the new version
4. AWS CloudFormation increases the version of the state machine
5. Rollback accomplished by updating state machine
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Jonathan Clark
jonaclar@amazon.com
Time: 15 minutes after this session
Location: Speaker Lounge (ARIA East, Level 1, Willow Lounge)
Duration: 30 min.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018
Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018
Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018Amazon Web Services
 
Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...
Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...
Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...Amazon Web Services
 
Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018
Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018
Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018Amazon Web Services
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018Amazon Web Services
 
Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...
Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...
Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...Amazon Web Services
 
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Amazon Web Services
 
AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018
AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018
AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018Amazon Web Services
 
Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...
Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...
Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018Amazon Web Services
 
Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...
Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...
Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...Amazon Web Services
 
Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018
Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018
Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018Amazon Web Services
 
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Amazon Web Services
 
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...Amazon Web Services
 
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Amazon Web Services
 
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...Amazon Web Services
 
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)Amazon Web Services
 
AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...
AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...
AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...Amazon Web Services
 
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)Amazon Web Services
 
Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...
Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...
Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...Amazon Web Services
 
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...Amazon Web Services
 

What's hot (20)

Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018
Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018
Monitoring Serverless Applications (SRV303-S) - AWS re:Invent 2018
 
Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...
Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...
Deploying Your ONNX Deep Learning with Apache MXNet Model Server (AIM413) - A...
 
Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018
Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018
Build a Social News App with Android and AWS (MOB307) - AWS re:Invent 2018
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
 
Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...
Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...
Building the Technical Foundation for Your Security Practice (GPSCT205) - AWS...
 
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
Fully Realizing the Microservices Vision with Service Mesh (DEV312-S) - AWS r...
 
AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018
AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018
AWS Direct Connect: Deep Dive (NET403) - AWS re:Invent 2018
 
Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...
Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...
Milliseconds Matter: Optimize Cloud Apps with Network Control (NET314-S) - AW...
 
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
 
Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...
Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...
Deploy, Customize, Start, & Monitor a Channel with Live Streaming on AWS (CTD...
 
Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018
Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018
Building and Moving Live Broadcasting to AWS (CTD305) - AWS re:Invent 2018
 
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
 
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
Data Lake Patterns for Voice, Vision, Advanced Analytics, & ML Using Serverle...
 
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
Container Power Hour with Jess, Clare, and Abby (CON362) - AWS re:Invent 2018
 
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
Industrialize Machine Learning Using CI/CD Techniques (FSV304-i) - AWS re:Inv...
 
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
 
AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...
AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...
AWS re:Invent 2018: [NEW LAUNCH] AWS Transit Gateway & Transit VPCs, Ref Arch...
 
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
運用 AWS Edge Services 作為遊戲行業的關鍵基礎設施元件 (Level 200)
 
Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...
Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...
Set Up a Communications Platform on AWS with AI-Enhanced Services (TLC302) - ...
 
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
Assembling an AWS CloudFormation Authoring Tool Chain (DEV368-R2) - AWS re:In...
 

Similar to Automate Testing & Deploy Serverless Apps

Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...Amazon Web Services
 
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 2018Amazon 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 FargateAmazon Web Services
 
Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...
Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...
Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...Amazon Web Services
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018Bhuvaneswari Subramani
 
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
 
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...Amazon Web Services
 
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...Amazon Web Services
 
How to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech TalksHow to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech TalksAmazon Web Services
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...Amazon Web Services
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfAmazon Web Services
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Amazon Web Services
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...Amazon Web Services
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...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_SingaporeAmazon Web Services
 
How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...
How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...
How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...Amazon Web Services
 

Similar to Automate Testing & Deploy Serverless Apps (20)

Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
Earn Your DevOps Black Belt: Deployment Scenarios with AWS CloudFormation (DE...
 
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
 
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
 
Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...
Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...
Advanced Deployment Best Practices with AWS CodeDeploy (DEV404-R2) - AWS re:I...
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
 
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...
 
CI/CD using AWS developer tools
CI/CD using AWS developer toolsCI/CD using AWS developer tools
CI/CD using AWS developer tools
 
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
 
Deep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormationDeep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormation
 
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
 
How to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech TalksHow to Bring Microsoft Apps to AWS - AWS Online Tech Talks
How to Bring Microsoft Apps to AWS - AWS Online Tech Talks
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdf
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
 
SMS-and-CloudEndure-Module4
SMS-and-CloudEndure-Module4SMS-and-CloudEndure-Module4
SMS-and-CloudEndure-Module4
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
 
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
 
How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...
How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...
How Dow Jones Uses AWS to Enable Innovation and New Engineering Work (CTD316)...
 

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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon 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
 
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 WorkloadsAmazon 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 sfatareAmazon 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 NodeJSAmazon 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 webAmazon 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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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 ServiceAmazon 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
 

Automate Testing & Deploy Serverless Apps

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Automate Testing & Deployment of Modern Serverless Applications Jonathan Clark Software Development Manager AWS/Orchestration A P I 3 1 8 - R
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda Introduction Deployment Types Demo Concepts Q&A
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Chalk talk repeats Wednesday, November 28 Automate Testing & Deployment of Modern Serverless Apps 2:30PM – 3:30PM | Aria West, Level 3, Ironwood 7, T1
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Related chalk talks Monday, November 26 Deploy a Resilient and Cost-Effective App with EC2 Auto Scaling and CI/CD 1:00PM – 2:00PM | Mirage, Grand Ballroom B, Table 2 Thursday, November 29 Create a Serverless Web Event Pipeline 4:00PM – 5:00PM | Mirage, Grand Ballroom D, Table 2 Tuesday, November 27 Serverless State Management & Orchestration for Modern Apps 10:45AM – 11:45AM | Bellagio, Level 1, Bellagio Ballroom 6
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What are Serverless Applications? Serverless applications don't require you to provision, scale, and manage any servers.
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous Integration Continuous integration is the practice of merging all developer working copies to a shared “mainline” several times a day 1. Maintain a code repository 2. Automate the build 3. Make the build self-testing
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous Deployment Continuous deployment is the practice in which software functionalities are delivered frequently through automated deployments 1. Automation infrastructure 2. Define steps for integration 3. Instrument metrics to trigger events
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Types of Deployments Software can be deployed in a variety of ways, each one with a different set of benefits/deficits. Some typical deployment types include: 1. Recreate – Shutdown version A and create version B. 2. Ramped – Route a portion of the requests to an updated version. 3. Blue/Green – Create a new stack every deployment and shift traffic. 4. Shadow – Release both versions, send traffic to both and return from A.
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Recreate Deployments Overview Recreate deployments consist of shutting down the live environment and creating the new version. This is also called “update” deployments Pros • Easy setup. • Cost-effective. • No additional deployment code or infrastructure to maintain Cons • Downtime between shutting down and creating new environment. • Rolling back the deployment is more difficult and takes longer.
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Ramped Deployments Overview Slowly roll out a new version by replacing a subset of the instances. You would take down a portion of your fleet Pros • Control blast radius through parallelism and batching. • Slow release of new versions Cons • With serverless you don’t have control over instances. • Implement routing logic on top of resources • No control on traffic
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Blue/Green Deployments Overview Blue/Green deployments consist of creating another entire environment. Once the new environment has been validated, route all traffic to it. Pros • Instant rollout/rollback – no downtime. • No versioning issue, deployments are isolated. Cons • Expensive as it requires another stack – if serverless, this cost is minimal. • Handling state in applications through this deployment can be difficult. • In a bad deployment, impact is large but short-lived.
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Shadow Deployments Overview Release the new version alongside the old version. Fork traffic from the old version to the new one. Pros • Performance testing for production load is evaluated in the deployment • Testable with production load before flipping the switch Cons • Expensive to set up and maintain • Requires mocking for idempotent functions • Requires a routing layer on top of your application
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17.
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Extending the Image Processing AWS Sample • Existing solution allows you to upload an image and run it through Amazon Rekognition to add tags. • https://github.com/aws-samples/lambda-refarch-imagerecognition • The Demo extended it to support text recognition (OCR) in newly uploaded images • Desktop to Prod in 3 minutes 49 seconds. • Using a Recreate deployment type through AWS CloudFormation • Monitoring and versioning is managed
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Adding AWS CodePipeline to the project • AWS CodeCommit • Source code repository • AWS CodeBuild • Build and test code • AWS CodeDeploy • Deployment automation • AWS CodePipeline • Visualize and automate deployment
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CodeBuild Phases • install • Install required dependencies to run tests and build • pre-build • Preparation scripts • build • Used to package any data or code • Generate AWS CloudFormation templates • Create temporary resources and execute tests • post-build • Steps to run after the build
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CodeBuild Buildspec.yml version: 0.2 phases: install: commands: # Install commands to run artifacts: type: zip files: #Output files
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. #Install Commands to Run - npm install -C lambda- functions/create-s3-event-trigger- helper - npm install -C lambda- functions/thumbnail - npm install -C lambda- functions/extract-image-metadata - echo "Installing Lambda Dependencies Complete" - python cloudformation/inject_state_machine_cfn .py -s cloudformation/state- machine.json -c cloudformation/image- processing.serverless.yaml -o cloudformation/image- processing.complete.yaml - aws cloudformation package --kms-key- id $CODEBUILD_KMS_KEY_ID --s3-bucket codepipeline-us-west-2-854096359820 -- template cloudformation/image- processing.complete.yaml --output- template-file cloudformation/image- processing.output.yaml - echo "Building Complete"
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. #Output Files type: zip files: - cloudformation/image-processing.complete.yaml - cloudformation/image-processing.output.yaml
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application Architecture – Image Processing
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Deployment Architecture
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monitoring Dashboard
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Versioning Properties in AWS Lambda 1. Reference through ARN suffix 2. Default is :$LATEST suffix – reference the last updated version 3. Customizable mutable aliases pointing to immutable versions 4. AWS CloudFormation recreates a new Lambda function resource on UpdateStack 5. Rollback accomplished by changing alias or updating $LATEST version.
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Versioning Properties in Step Functions 1. Reference through ARN suffix 2. UpdateStateMachine, DescribeStateMachineForExecution are key APIs 3. Old state machine executions continue to run, new state machines run the new version 4. AWS CloudFormation increases the version of the state machine 5. Rollback accomplished by updating state machine
  • 30. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Jonathan Clark jonaclar@amazon.com
  • 31. Time: 15 minutes after this session Location: Speaker Lounge (ARIA East, Level 1, Willow Lounge) Duration: 30 min.
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.