SlideShare a Scribd company logo
Peter Salnikov / AWS Architect & DevOps Expert / www.salnikov.cc
CI/CD in AWS Cloud
CodePipeline + CodeBuild + CodeDeploy
Sample Serverless Application
API Gateway Lambda DynamoDB
Repo per Lambda
NodeJS Sources
Single repo for all
CF Templates
Pipeline = Source + Build + Deploy
CodePipeline:
- Watch for CodeCommit Git Repos
- Combine CodeBuild + CodeDeploy
CodeBuild:
- Prepare JSON with input parameters for CloudFormation
- Validate, Test and Pack Lambda Package
CodeDeploy:
- Update CloudFormation Stack using Input parameters and
Lambda package
CodePipeline = Stages + Actions
action
actionSTAG
E
action
action action
Stage Stage Stage Stage
Pipeline
Lambda CF
Templates
Lambda NodeJs
Sources
Combine Sources
and store on S3
Prepare CF Input
Params
Build Lambda Package
Deploy/Update Lambda
CF Stack
Notify to Slack
Pipeline
Source Stage
Lambda CF
Templates
Lambda NodeJs
Sources
Combine Sources
and store on S3
Prepare CF Input
Params
Build Lambda Package
Deploy/Update Lambda
CF Stack
Notify to Slack
Pipeline
Validate Stage
Lambda CF
Templates
Lambda NodeJs
Sources
Combine Sources
and store on S3
Prepare CF Input
Params
Build Lambda Package
Deploy/Update Lambda
CF Stack
Notify to Slack
Pipeline
Build Stage
Lambda CF
Templates
Lambda NodeJs
Sources
Combine Sources
and store on S3
Prepare CF Input
Params
Build Lambda Package
Deploy/Update Lambda
CF Stack
Notify to Slack
Pipeline
Deploy Stage
Lambda CF
Templates
Lambda NodeJs
Sources
Combine Sources
and store on S3
Prepare CF Input
Params
Build Lambda Package
Deploy/Update Lambda
CF Stack
Notify to Slack
CodePipeline Stage
Actions
CodePipeline Stages
Source Build Test Deploy Approval Invoke
➔ AWS S3
➔ AWS
CodeCommit
➔ GitHub
➔ AWS ECR
➔ AWS CodeStar
Connections
➔ AWS
CodeBuild
➔ CloudBees
➔ Jenkins
➔ TeamCity
➔ AWS
CodeBuild
➔ AWS
DeviceFarm
➔ Blaze Meter
➔ Ghost
Insepctor
➔ Micro Focus
StormRunner
Loader
➔ Nouvola
➔ Runscope
➔ AWS S3
➔ AWS
CloudFormati
on
➔ AWS
CodeDeploy
➔ AWS ECS
➔ AWS
Beanstalk
➔ AWS
OpsWorks
➔ AWS Service
Catalog
➔ Alexa Skill Kit
➔ Xebia Labs
➔ AWS SNS ➔ AWS Lambda
CodePipeline Triggering
AWS Lambda
AWS CloudWatch Event Manual
WebHooks
AWS CodeCommit/GitHub Polling
AWS CodePipeline
CodePipeline
Source Stage
1 CodePipeline:
2 Type: AWS::CodePipeline::Pipeline
3 Properties:
4 Stages:
5 - Name: Source
6 Actions:
7 - Name: LambdaCodeSource
8 RunOrder: 1
9 InputArtifacts: []
10 ActionTypeId:
11 Version: '1'
12 Owner: AWS
13 Category: Source
14 Provider: CodeCommit
15 Configuration:
16 RepositoryName: lambda.name
17 BranchName: master
CodeBuild
CodeBuild
Spec
1 version: 0.2
2 phases:
3 install:
4 runtime-versions:
5 nodejs: 12
6 commands:
7 yum install -y jq
8 build:
9 commands:
10 - npm install
11 - npm pack
12 - zip -r $LAMBDA_NAME.zip ./build/*
13 artifacts:
14 type: zip
15 files:
16 - ./*.zip
17 cache:
18 paths:
19 - './node_modules'
CodeDeploy
AWS Lambda
AWS ECSEC2/OnPrem
CodePipeline
Source Stage
1 CodePipeline:
2 Type: AWS::CodePipeline::Pipeline
3 Properties:
4 Stages:
5 - Name: UpdateLambdaStack
6 RunOrder: 2
7 ActionTypeId:
8 Owner: AWS
9 Category: Deploy
10 Provider: CloudFormation
11 Version: '1'
12 InputArtifacts:
13 - Name: LambdaCloudFormation
14 Configuration:
15 ActionMode: REPLACE_ON_FAILURE
16 RoleArn: !Ref arn
17 StackName: !Sub stack_name
18 TemplateConfiguration: LambdaCloudFormation::lambda.json
19 TemplatePath: LambdaCloudFormation::lambda.yaml
Pricing
CodePipeline: $1.00 pipeline / month
CodeBuild:
Compute instance type Memory vCP
U
Linux price per build minute Windows price per build minute
general1.medium 7 GB 4 $0.01 $0.018
general1.large 15 GB 8 $0.02 $0.036
arm1.large 16 GiB 8 $0.015 N/A
general1.small 3 GB 2 $0.005 N/A
general1.2xlarge 144 GiB 72 $0.20 N/A
gpu1.large 244 GiB 32 $0.65 N/A
CodeDeploy:
To EC2/Lambda - free
To OnPrem - $0.02 per OnPrem Instance
Update
THANK YOU
Does anyone have any questions?
peter@salnikov.cc
t.me/PeterSalnikov
fb.me/peter.salnikov
www.salnikov.cc

More Related Content

PPTX
Lambda lambda-lambda
Chris Mitchell
 
PDF
kubernetes operators
Juraj Hantak
 
PPTX
Fast Deployments to Multiple Golang Lambda Functions
Kp Krishnamoorthy
 
PDF
JavaDay Lviv: Serverless Archtiectures
Antons Kranga
 
PDF
Aws Lambda in Swift - NSLondon - 3rd December 2020
Andrea Scuderi
 
PDF
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
 
PDF
Build a RESTful API with the Serverless Framework
masahitojp
 
PDF
ApacheCon Testing Camel K with Cloud Native BDD
christophd
 
Lambda lambda-lambda
Chris Mitchell
 
kubernetes operators
Juraj Hantak
 
Fast Deployments to Multiple Golang Lambda Functions
Kp Krishnamoorthy
 
JavaDay Lviv: Serverless Archtiectures
Antons Kranga
 
Aws Lambda in Swift - NSLondon - 3rd December 2020
Andrea Scuderi
 
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
 
Build a RESTful API with the Serverless Framework
masahitojp
 
ApacheCon Testing Camel K with Cloud Native BDD
christophd
 

What's hot (20)

PDF
Leveraging Micronaut on AWS Lambda
Naresha K
 
PDF
Manage any AWS resources with Terraform 0.12 - April 2020
Anton Babenko
 
PDF
Serverless and React
Marina Miranovich
 
PPTX
Meet Akka gRPC
Renato Guerra Cavalcanti
 
PDF
Cloud native - CI/CD
Elad Hirsch
 
PPTX
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
Xamarin
 
PDF
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Flink Forward
 
PDF
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Chris Shenton
 
PDF
20170701 kkbox的團隊協作方式
CQD
 
PDF
Using Libvirt with Cluster API to manage baremetal Kubernetes
Himani Agrawal
 
PDF
Writing Rust Command Line Applications
All Things Open
 
PDF
Gitlab ci, cncf.sk
Juraj Hantak
 
PPT
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
Xamarin
 
PDF
Redefining Plattform "Openness" with OpenFaaS
Simon Pelczer
 
PDF
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Red Hat Developers
 
PPTX
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Shannon Williams
 
PDF
ApacheCon NA - Apache Camel K: a cloud-native integration platform
Nicola Ferraro
 
PPTX
Patterns and practices for real-world event-driven microservices
Rachel Reese
 
PDF
Kubernetes & the 12 factor cloud apps
Ana-Maria Mihalceanu
 
PPTX
Automating load testing with CI integration slideshare
John Emmitt
 
Leveraging Micronaut on AWS Lambda
Naresha K
 
Manage any AWS resources with Terraform 0.12 - April 2020
Anton Babenko
 
Serverless and React
Marina Miranovich
 
Meet Akka gRPC
Renato Guerra Cavalcanti
 
Cloud native - CI/CD
Elad Hirsch
 
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
Xamarin
 
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Flink Forward
 
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Chris Shenton
 
20170701 kkbox的團隊協作方式
CQD
 
Using Libvirt with Cluster API to manage baremetal Kubernetes
Himani Agrawal
 
Writing Rust Command Line Applications
All Things Open
 
Gitlab ci, cncf.sk
Juraj Hantak
 
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
Xamarin
 
Redefining Plattform "Openness" with OpenFaaS
Simon Pelczer
 
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Red Hat Developers
 
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Shannon Williams
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
Nicola Ferraro
 
Patterns and practices for real-world event-driven microservices
Rachel Reese
 
Kubernetes & the 12 factor cloud apps
Ana-Maria Mihalceanu
 
Automating load testing with CI integration slideshare
John Emmitt
 
Ad

Similar to 2020.02.15 DelEx - CI/CD in AWS Cloud (20)

PDF
Aws Deployment Tools - Overview, Details, Implementation
serkancapkan
 
PDF
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
Bhuvaneswari Subramani
 
PPTX
ACDKOCHI19 - CI / CD using AWS Developer Tools
AWS User Group Kochi
 
PPTX
imagic 2.pptx
kalpeshchavda12
 
PPTX
Development tools
Parag Patil
 
PDF
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
Bhuvaneswari Subramani
 
PPTX
Understanding AWS CodePipeline Presentation
Knoldus Inc.
 
PPTX
Understanding AWS CodePipeline Presentation
Knoldus Inc.
 
PPTX
CI/CD on AWS
Bhargav Amin
 
PDF
CI&CD on AWS - Meetup Roma Oct 2016
Paolo latella
 
PDF
CI & CD on Amazon Web Services
Paolo latella
 
PDF
CI&CD with AWS - AWS Prague User Group - May 2015
Vladimir Simek
 
PPTX
End-to-end CI/CD deployments of containerized applications using AWS services
Massimo Ferre'
 
PPTX
AWS Serverless concepts and solutions
ElenaIvannikova3
 
PDF
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
Marcia Villalba
 
PDF
A Pathway to Continuous Integration/Continuous Delivery on AWS
Bhuvaneswari Subramani
 
PPTX
Devops on AWS
AWS Riyadh User Group
 
PDF
Accelerating DevOps Pipelines with AWS
Suresh Paulraj
 
PDF
CI/CD using AWS developer tools
AWS User Group Bengaluru
 
PPTX
CI/CD with AWS Code Services
Pulkit Gupta
 
Aws Deployment Tools - Overview, Details, Implementation
serkancapkan
 
CI CD using AWS Developer Tools @ AWS Community Day Chennai 2019
Bhuvaneswari Subramani
 
ACDKOCHI19 - CI / CD using AWS Developer Tools
AWS User Group Kochi
 
imagic 2.pptx
kalpeshchavda12
 
Development tools
Parag Patil
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
Bhuvaneswari Subramani
 
Understanding AWS CodePipeline Presentation
Knoldus Inc.
 
Understanding AWS CodePipeline Presentation
Knoldus Inc.
 
CI/CD on AWS
Bhargav Amin
 
CI&CD on AWS - Meetup Roma Oct 2016
Paolo latella
 
CI & CD on Amazon Web Services
Paolo latella
 
CI&CD with AWS - AWS Prague User Group - May 2015
Vladimir Simek
 
End-to-end CI/CD deployments of containerized applications using AWS services
Massimo Ferre'
 
AWS Serverless concepts and solutions
ElenaIvannikova3
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
Marcia Villalba
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
Bhuvaneswari Subramani
 
Devops on AWS
AWS Riyadh User Group
 
Accelerating DevOps Pipelines with AWS
Suresh Paulraj
 
CI/CD using AWS developer tools
AWS User Group Bengaluru
 
CI/CD with AWS Code Services
Pulkit Gupta
 
Ad

Recently uploaded (20)

PDF
Doc9.....................................
SofiaCollazos
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Doc9.....................................
SofiaCollazos
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 

2020.02.15 DelEx - CI/CD in AWS Cloud

  • 1. Peter Salnikov / AWS Architect & DevOps Expert / www.salnikov.cc CI/CD in AWS Cloud
  • 3. Sample Serverless Application API Gateway Lambda DynamoDB Repo per Lambda NodeJS Sources Single repo for all CF Templates
  • 4. Pipeline = Source + Build + Deploy CodePipeline: - Watch for CodeCommit Git Repos - Combine CodeBuild + CodeDeploy CodeBuild: - Prepare JSON with input parameters for CloudFormation - Validate, Test and Pack Lambda Package CodeDeploy: - Update CloudFormation Stack using Input parameters and Lambda package
  • 5. CodePipeline = Stages + Actions action actionSTAG E action action action Stage Stage Stage Stage
  • 6. Pipeline Lambda CF Templates Lambda NodeJs Sources Combine Sources and store on S3 Prepare CF Input Params Build Lambda Package Deploy/Update Lambda CF Stack Notify to Slack
  • 7. Pipeline Source Stage Lambda CF Templates Lambda NodeJs Sources Combine Sources and store on S3 Prepare CF Input Params Build Lambda Package Deploy/Update Lambda CF Stack Notify to Slack
  • 8. Pipeline Validate Stage Lambda CF Templates Lambda NodeJs Sources Combine Sources and store on S3 Prepare CF Input Params Build Lambda Package Deploy/Update Lambda CF Stack Notify to Slack
  • 9. Pipeline Build Stage Lambda CF Templates Lambda NodeJs Sources Combine Sources and store on S3 Prepare CF Input Params Build Lambda Package Deploy/Update Lambda CF Stack Notify to Slack
  • 10. Pipeline Deploy Stage Lambda CF Templates Lambda NodeJs Sources Combine Sources and store on S3 Prepare CF Input Params Build Lambda Package Deploy/Update Lambda CF Stack Notify to Slack
  • 12. CodePipeline Stages Source Build Test Deploy Approval Invoke ➔ AWS S3 ➔ AWS CodeCommit ➔ GitHub ➔ AWS ECR ➔ AWS CodeStar Connections ➔ AWS CodeBuild ➔ CloudBees ➔ Jenkins ➔ TeamCity ➔ AWS CodeBuild ➔ AWS DeviceFarm ➔ Blaze Meter ➔ Ghost Insepctor ➔ Micro Focus StormRunner Loader ➔ Nouvola ➔ Runscope ➔ AWS S3 ➔ AWS CloudFormati on ➔ AWS CodeDeploy ➔ AWS ECS ➔ AWS Beanstalk ➔ AWS OpsWorks ➔ AWS Service Catalog ➔ Alexa Skill Kit ➔ Xebia Labs ➔ AWS SNS ➔ AWS Lambda
  • 13. CodePipeline Triggering AWS Lambda AWS CloudWatch Event Manual WebHooks AWS CodeCommit/GitHub Polling AWS CodePipeline
  • 14. CodePipeline Source Stage 1 CodePipeline: 2 Type: AWS::CodePipeline::Pipeline 3 Properties: 4 Stages: 5 - Name: Source 6 Actions: 7 - Name: LambdaCodeSource 8 RunOrder: 1 9 InputArtifacts: [] 10 ActionTypeId: 11 Version: '1' 12 Owner: AWS 13 Category: Source 14 Provider: CodeCommit 15 Configuration: 16 RepositoryName: lambda.name 17 BranchName: master
  • 16. CodeBuild Spec 1 version: 0.2 2 phases: 3 install: 4 runtime-versions: 5 nodejs: 12 6 commands: 7 yum install -y jq 8 build: 9 commands: 10 - npm install 11 - npm pack 12 - zip -r $LAMBDA_NAME.zip ./build/* 13 artifacts: 14 type: zip 15 files: 16 - ./*.zip 17 cache: 18 paths: 19 - './node_modules'
  • 18. CodePipeline Source Stage 1 CodePipeline: 2 Type: AWS::CodePipeline::Pipeline 3 Properties: 4 Stages: 5 - Name: UpdateLambdaStack 6 RunOrder: 2 7 ActionTypeId: 8 Owner: AWS 9 Category: Deploy 10 Provider: CloudFormation 11 Version: '1' 12 InputArtifacts: 13 - Name: LambdaCloudFormation 14 Configuration: 15 ActionMode: REPLACE_ON_FAILURE 16 RoleArn: !Ref arn 17 StackName: !Sub stack_name 18 TemplateConfiguration: LambdaCloudFormation::lambda.json 19 TemplatePath: LambdaCloudFormation::lambda.yaml
  • 19. Pricing CodePipeline: $1.00 pipeline / month CodeBuild: Compute instance type Memory vCP U Linux price per build minute Windows price per build minute general1.medium 7 GB 4 $0.01 $0.018 general1.large 15 GB 8 $0.02 $0.036 arm1.large 16 GiB 8 $0.015 N/A general1.small 3 GB 2 $0.005 N/A general1.2xlarge 144 GiB 72 $0.20 N/A gpu1.large 244 GiB 32 $0.65 N/A CodeDeploy: To EC2/Lambda - free To OnPrem - $0.02 per OnPrem Instance Update
  • 20. THANK YOU Does anyone have any questions? [email protected] t.me/PeterSalnikov fb.me/peter.salnikov www.salnikov.cc