SlideShare ist ein Scribd-Unternehmen logo
1 von 20
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

Weitere ähnliche Inhalte

Was ist angesagt?

Leveraging Micronaut on AWS Lambda
Leveraging Micronaut on AWS LambdaLeveraging Micronaut on AWS Lambda
Leveraging Micronaut on AWS LambdaNaresha K
 
Manage any AWS resources with Terraform 0.12 - April 2020
Manage any AWS resources with Terraform 0.12 - April 2020Manage any AWS resources with Terraform 0.12 - April 2020
Manage any AWS resources with Terraform 0.12 - April 2020Anton Babenko
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CDElad Hirsch
 
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of XamarinC# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of XamarinXamarin
 
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...Flink Forward
 
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupScaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupChris Shenton
 
20170701 kkbox的團隊協作方式
20170701 kkbox的團隊協作方式20170701 kkbox的團隊協作方式
20170701 kkbox的團隊協作方式CQD
 
Using Libvirt with Cluster API to manage baremetal Kubernetes
Using Libvirt with Cluster API to manage baremetal KubernetesUsing Libvirt with Cluster API to manage baremetal Kubernetes
Using Libvirt with Cluster API to manage baremetal KubernetesHimani Agrawal
 
Writing Rust Command Line Applications
Writing Rust Command Line ApplicationsWriting Rust Command Line Applications
Writing Rust Command Line ApplicationsAll Things Open
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at XamarinC# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at XamarinXamarin
 
Redefining Plattform "Openness" with OpenFaaS
Redefining Plattform "Openness" with OpenFaaSRedefining Plattform "Openness" with OpenFaaS
Redefining Plattform "Openness" with OpenFaaSSimon Pelczer
 
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech TalkSpring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech TalkRed Hat Developers
 
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Supercharging CI/CD with GitLab and Rancher - June 2017 Online MeetupSupercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Supercharging CI/CD with GitLab and Rancher - June 2017 Online MeetupShannon Williams
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformNicola Ferraro
 
Patterns and practices for real-world event-driven microservices
Patterns and practices for real-world event-driven microservicesPatterns and practices for real-world event-driven microservices
Patterns and practices for real-world event-driven microservicesRachel Reese
 
Kubernetes & the 12 factor cloud apps
Kubernetes & the 12 factor cloud appsKubernetes & the 12 factor cloud apps
Kubernetes & the 12 factor cloud appsAna-Maria Mihalceanu
 
Automating load testing with CI integration slideshare
Automating load testing with CI integration slideshareAutomating load testing with CI integration slideshare
Automating load testing with CI integration slideshareJohn Emmitt
 

Was ist angesagt? (20)

Leveraging Micronaut on AWS Lambda
Leveraging Micronaut on AWS LambdaLeveraging Micronaut on AWS Lambda
Leveraging Micronaut on AWS Lambda
 
Manage any AWS resources with Terraform 0.12 - April 2020
Manage any AWS resources with Terraform 0.12 - April 2020Manage any AWS resources with Terraform 0.12 - April 2020
Manage any AWS resources with Terraform 0.12 - April 2020
 
Serverless and React
Serverless and ReactServerless and React
Serverless and React
 
Meet Akka gRPC
Meet Akka gRPCMeet Akka gRPC
Meet Akka gRPC
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
 
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of XamarinC# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
C# Async on iOS and Android - Miguel de Icaza, CTO of Xamarin
 
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
Time to-live: How to Perform Automatic State Cleanup in Apache Flink - Andrey...
 
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington MeetupScaffolding for Serverless: lightning talk for AWS Arlington Meetup
Scaffolding for Serverless: lightning talk for AWS Arlington Meetup
 
20170701 kkbox的團隊協作方式
20170701 kkbox的團隊協作方式20170701 kkbox的團隊協作方式
20170701 kkbox的團隊協作方式
 
Using Libvirt with Cluster API to manage baremetal Kubernetes
Using Libvirt with Cluster API to manage baremetal KubernetesUsing Libvirt with Cluster API to manage baremetal Kubernetes
Using Libvirt with Cluster API to manage baremetal Kubernetes
 
Writing Rust Command Line Applications
Writing Rust Command Line ApplicationsWriting Rust Command Line Applications
Writing Rust Command Line Applications
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at XamarinC# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
C# Async on iOS and Android - Craig Dunn, Developer Evangelist at Xamarin
 
Redefining Plattform "Openness" with OpenFaaS
Redefining Plattform "Openness" with OpenFaaSRedefining Plattform "Openness" with OpenFaaS
Redefining Plattform "Openness" with OpenFaaS
 
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech TalkSpring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
Spring Boot to Quarkus: A real app migration experience | DevNation Tech Talk
 
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Supercharging CI/CD with GitLab and Rancher - June 2017 Online MeetupSupercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
Supercharging CI/CD with GitLab and Rancher - June 2017 Online Meetup
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platform
 
Patterns and practices for real-world event-driven microservices
Patterns and practices for real-world event-driven microservicesPatterns and practices for real-world event-driven microservices
Patterns and practices for real-world event-driven microservices
 
Kubernetes & the 12 factor cloud apps
Kubernetes & the 12 factor cloud appsKubernetes & the 12 factor cloud apps
Kubernetes & the 12 factor cloud apps
 
Automating load testing with CI integration slideshare
Automating load testing with CI integration slideshareAutomating load testing with CI integration slideshare
Automating load testing with CI integration slideshare
 

Ähnlich wie AWS CI/CD Pipeline with CodePipeline, CodeBuild, CodeDeploy

Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldAmazon Web Services
 
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Amazon Web Services
 
Kubernetes best practices
Kubernetes best practicesKubernetes best practices
Kubernetes best practicesBill Liu
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbsAWS Chicago
 
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...Amazon Web Services
 
AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...
AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...
AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...Amazon Web Services
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Julien SIMON
 
re:Invent recap session 1: What's New with AWS Lambda
re:Invent recap session 1: What's New with AWS Lambda re:Invent recap session 1: What's New with AWS Lambda
re:Invent recap session 1: What's New with AWS Lambda Amazon Web Services
 
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)Amazon Web Services
 
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesContinuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
 
What’s new in serverless - re:Invent 2020
What’s new in serverless - re:Invent 2020What’s new in serverless - re:Invent 2020
What’s new in serverless - re:Invent 2020AWS Chicago
 
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...Amazon Web Services
 
Building applications with Serverless Framework and AWS Lambda - JavaZone 2019
Building applications with Serverless Framework and AWS Lambda - JavaZone 2019Building applications with Serverless Framework and AWS Lambda - JavaZone 2019
Building applications with Serverless Framework and AWS Lambda - JavaZone 2019Fredrik Vraalsen
 
NEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsNEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsAmazon Web Services
 
Building Serverless Applications with AWS Chalice
Building Serverless Applications with AWS ChaliceBuilding Serverless Applications with AWS Chalice
Building Serverless Applications with AWS ChaliceAmazon Web Services
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAMAmazon Web Services
 

Ähnlich wie AWS CI/CD Pipeline with CodePipeline, CodeBuild, CodeDeploy (20)

Deep Dive on Serverless Stack
Deep Dive on Serverless StackDeep Dive on Serverless Stack
Deep Dive on Serverless Stack
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
Continuous Integration e Delivery per (r)innovare lo sviluppo software e la g...
 
Kubernetes best practices
Kubernetes best practicesKubernetes best practices
Kubernetes best practices
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 Building a Python Serverless Applications with AWS Chalice - AWS Online Tech... Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...
AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...
AWS August Webinar Series - Building Serverless Backends with AWS Lambda and ...
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
 
re:Invent recap session 1: What's New with AWS Lambda
re:Invent recap session 1: What's New with AWS Lambda re:Invent recap session 1: What's New with AWS Lambda
re:Invent recap session 1: What's New with AWS Lambda
 
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
 
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesContinuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar Series
 
What’s new in serverless - re:Invent 2020
What’s new in serverless - re:Invent 2020What’s new in serverless - re:Invent 2020
What’s new in serverless - re:Invent 2020
 
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...
 
Building applications with Serverless Framework and AWS Lambda - JavaZone 2019
Building applications with Serverless Framework and AWS Lambda - JavaZone 2019Building applications with Serverless Framework and AWS Lambda - JavaZone 2019
Building applications with Serverless Framework and AWS Lambda - JavaZone 2019
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 
NEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# ApplicationsNEW LAUNCH! Developing Serverless C# Applications
NEW LAUNCH! Developing Serverless C# Applications
 
Building Serverless Applications with AWS Chalice
Building Serverless Applications with AWS ChaliceBuilding Serverless Applications with AWS Chalice
Building Serverless Applications with AWS Chalice
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAM
 

Kürzlich hochgeladen

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Kürzlich hochgeladen (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

AWS CI/CD Pipeline with CodePipeline, CodeBuild, CodeDeploy

  • 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? peter@salnikov.cc t.me/PeterSalnikov fb.me/peter.salnikov www.salnikov.cc