End-to-end CI/CD deployments of containerized applications using AWS services

Massimo Ferre'
End-to-end CI/CD deployments of a containerized app
(using AWS services)
Incontro DevOps Italia 2019
Massimo Re Ferrè
Dev Advocate @ Amazon Web Services
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Whoami
- Developer consultant (many kilos ago)
- IBM (Professional Services and Systems pre-sales)
- VMware (Solutions Architect and Technical Product Manager)
- Amazon Web Services (Solutions Architect and Dev Advocate)
Email: mreferre@amazon.com
Twitter: @mreferre
Github: github.com/mreferre
I built a demo/test app (Yelb)
https://github.com/mreferre/yelb
Occasionally I’d run a …
Docker build -t mreferre/yelb-ui:whatevertag .
Who cares if…
• The master branch is several releases ahead of the artifact (i.e. docker image)?
• I don’t document how to build artifacts (hint: it’s just a docker build command).
Then a couple of things happened
……….
From Docker Hub
How to deploy on diff abstractions?
AWS
Lambda
Amazon
EC2
Metal
Amazon
EKS
physicalseverVMcontainerfunction
Levelofabstraction
Provider space
(managed by AWS)
Consumer space
(managed by the customer)
Amazon
ECS
How about the serverless deployment model?
Notes / Interesting links
Steps to create the Lambdas artifacts
Deployment script
All saved in an email draft 
The Lambda artifact(s)
git clone http://github.com/mreferre/devnull
cd ./devnull/yelb-appserver
docker run -v "$PWD":/var/task -it lambci/lambda:build-ruby2.5 /bin/bash -c "yum -y
install postgresql-devel postgresql-libs ; bundle config --delete frozen ; bundle install ;
bundle install --deployment; mkdir lib; cp /usr/lib64/libpq.so.5 ./lib/libpq.so.5"
zip -r yelb-appserver-lambda-200v2.zip getvotes_adapter.rb getstats_adapter.rb
pageviews_adapter.rb hostname_adapter.rb restaurant_adapter.rb vendor modules lib
aws s3 cp yelb-appserver-lambda.zip s3://bucketname
How can you make all this better?
Perhaps I should use CI/CD for my hobby project?
Source Build Test Production
Software Release Steps:
Change Control
Tool
Build
Tool
Test
Tool
Deployment
Tool
Pipeline
Tool
Source Build Test Production
AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
Software Release Steps:
AWS CodeCommit
Your AWS tooling arsenal
The output of a stage is the input for the next
Source: https://www.cannyengineer.com/blog/fargate-nodejs-express-docker-deployment-3
Before we start
• I am showing you the process in pieces (and then we will tie everything together)
• This is going to be a basic commit -> build -> deploy setup
• You can consider it the basis for more complex pipelines/workflows
• I am not including a test phase (you should)
• I am not firing up any pre-deploy / post-deploy check scripts (you could)
• AWS tool can be replaced w/ third party tools in each area
• e.g. GitHub Vs CodeCommit
“Fun” facts
• No EC2 instances have been harmed used in this setup (Code* + ECS + Fargate)
• The AWS documentation is fairly good but these are good resources as well
• Autocorrect (Yelb -> Yell) is your friend if you want to waste 6 hours debugging
Thank You!
Mail: mreferre@amazon.com
Twitter: @mreferre
1 of 17

Recommended

AWS CodeDeploy - basic intro by
AWS CodeDeploy - basic introAWS CodeDeploy - basic intro
AWS CodeDeploy - basic introAnton Babenko
434 views13 slides
Composer by
ComposerComposer
ComposerAlessandro Minoccheri
216 views26 slides
Manage any AWS resources with Terraform 0.12 - April 2020 by
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
969 views37 slides
ConcourseCi overview by
ConcourseCi  overviewConcourseCi  overview
ConcourseCi overviewGwenn Etourneau
3.1K views60 slides
2016 05-cloudsoft-amp-and-brooklyn-new by
2016 05-cloudsoft-amp-and-brooklyn-new2016 05-cloudsoft-amp-and-brooklyn-new
2016 05-cloudsoft-amp-and-brooklyn-newBradDesAulniers2
29 views26 slides
Symfony aws by
Symfony awsSymfony aws
Symfony awsAlessandro Minoccheri
687 views54 slides

More Related Content

What's hot

Auto-scaled Concourse CI on AWS w/o BOSH by
Auto-scaled Concourse CI on AWS w/o BOSHAuto-scaled Concourse CI on AWS w/o BOSH
Auto-scaled Concourse CI on AWS w/o BOSH佑介 九岡
4.9K views31 slides
Concourse updates by
Concourse updatesConcourse updates
Concourse updatesGwenn Etourneau
1.5K views36 slides
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azure by
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azureNode.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azurePatriek van Dorp
372 views22 slides
CI/CD Using Ansible and Jenkins for Infrastructure by
CI/CD Using Ansible and Jenkins for InfrastructureCI/CD Using Ansible and Jenkins for Infrastructure
CI/CD Using Ansible and Jenkins for InfrastructureFaisal Shaikh
2.7K views10 slides
ConcourseCi Dockerimage by
ConcourseCi DockerimageConcourseCi Dockerimage
ConcourseCi DockerimageGwenn Etourneau
1K views21 slides
Provisioning, deploying and debugging node.js applications on azure by
Provisioning, deploying and debugging node.js applications on azureProvisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azurePatriek van Dorp
127 views17 slides

What's hot(20)

Auto-scaled Concourse CI on AWS w/o BOSH by 佑介 九岡
Auto-scaled Concourse CI on AWS w/o BOSHAuto-scaled Concourse CI on AWS w/o BOSH
Auto-scaled Concourse CI on AWS w/o BOSH
佑介 九岡4.9K views
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azure by Patriek van Dorp
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azureNode.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Node.js kubernetes-cloud all the buzzwords coming together with microsoft azure
Patriek van Dorp372 views
CI/CD Using Ansible and Jenkins for Infrastructure by Faisal Shaikh
CI/CD Using Ansible and Jenkins for InfrastructureCI/CD Using Ansible and Jenkins for Infrastructure
CI/CD Using Ansible and Jenkins for Infrastructure
Faisal Shaikh2.7K views
Provisioning, deploying and debugging node.js applications on azure by Patriek van Dorp
Provisioning, deploying and debugging node.js applications on azureProvisioning, deploying and debugging node.js applications on azure
Provisioning, deploying and debugging node.js applications on azure
Patriek van Dorp127 views
AWS Connect 2017 - Container (feat. AWS) by smalltown
AWS Connect 2017 -  Container (feat. AWS)AWS Connect 2017 -  Container (feat. AWS)
AWS Connect 2017 - Container (feat. AWS)
smalltown 355 views
Testing as a container by Irfan Ahmad
Testing as a containerTesting as a container
Testing as a container
Irfan Ahmad4.9K views
Devops Boise - Israel Shirk - Pragmatic Migration to Infrastructure As Code by Israel Shirk
Devops Boise - Israel Shirk - Pragmatic Migration to Infrastructure As CodeDevops Boise - Israel Shirk - Pragmatic Migration to Infrastructure As Code
Devops Boise - Israel Shirk - Pragmatic Migration to Infrastructure As Code
Israel Shirk75 views
[English][Test Girls] Zero to Hero: Start Test automation with Cypress by Test Girls
[English][Test Girls] Zero to Hero: Start Test automation with Cypress[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
Test Girls681 views
Visual Recognition with Anki Cozmo and TensorFlow by Niklas Heidloff
Visual Recognition with Anki Cozmo and TensorFlowVisual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlow
Niklas Heidloff1.8K views
Developing Serverless Applications with Apache OpenWhisk by Niklas Heidloff
Developing Serverless Applications with Apache OpenWhiskDeveloping Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhisk
Niklas Heidloff734 views
Infrastructure as code by daisuke awaji
Infrastructure as codeInfrastructure as code
Infrastructure as code
daisuke awaji1.1K views
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk by Niklas Heidloff
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhiskCreate Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Niklas Heidloff1.7K views
"Workstation Up" - Docker Development at Flow by Mike Roth by Docker, Inc.
"Workstation Up" - Docker Development at Flow by Mike Roth"Workstation Up" - Docker Development at Flow by Mike Roth
"Workstation Up" - Docker Development at Flow by Mike Roth
Docker, Inc.1.2K views
Leveraging Elastic Web-Scale Computing with AWS by Amazon Web Services
Leveraging Elastic Web-Scale Computing with AWSLeveraging Elastic Web-Scale Computing with AWS
Leveraging Elastic Web-Scale Computing with AWS
Amazon Web Services1.7K views
Serverless testing @ serverlessdays Hamburg by Avishai Shafir
Serverless testing @ serverlessdays HamburgServerless testing @ serverlessdays Hamburg
Serverless testing @ serverlessdays Hamburg
Avishai Shafir140 views

Similar to End-to-end CI/CD deployments of containerized applications using AWS services

A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D... by
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...Amazon Web Services
320 views70 slides
AWS Code Services by
AWS Code ServicesAWS Code Services
AWS Code ServicesAmazon Web Services
4.2K views68 slides
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017 by
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017Amazon Web Services
322 views76 slides
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017 by
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Amazon Web Services
2.1K views58 slides
Jak nie zwariować z architekturą Serverless? by
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?The Software House
33 views44 slides
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices by
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesAmazon Web Services
502 views22 slides

Similar to End-to-end CI/CD deployments of containerized applications using AWS services(20)

A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D... by Amazon Web Services
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017 by Amazon Web Services
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017 by Amazon Web Services
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Amazon Web Services2.1K views
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices by Amazon Web Services
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
Announcing AWS CodeBuild - January 2017 Online Teck Talks by Amazon Web Services
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Amazon Web Services3.1K views
DevOps for Databricks by Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for Databricks
Databricks1.1K views
Serverless in production, an experience report (FullStack 2018) by Yan Cui
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
Yan Cui359 views
Integrating-Cloud-Development-Security-And-Operations.pdf by Amazon Web Services
Integrating-Cloud-Development-Security-And-Operations.pdfIntegrating-Cloud-Development-Security-And-Operations.pdf
Integrating-Cloud-Development-Security-And-Operations.pdf
Automate Software Deployments on EC2 with AWS CodeDeploy by Amazon Web Services
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
Amazon Web Services3.1K views
Serverless in Production, an experience report (AWS UG South Wales) by Yan Cui
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
Yan Cui830 views
Continuous Delivery, Continuous Integration by Amazon Web Services
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
Amazon Web Services3.6K views
What you see is what you get for AWS infrastructure by Anton Babenko
What you see is what you get for AWS infrastructureWhat you see is what you get for AWS infrastructure
What you see is what you get for AWS infrastructure
Anton Babenko490 views
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in... by DevOpsDays Riga
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDaysRiga 2018: Anton Babenko - What you see is what you get… for AWS in...
DevOpsDays Riga113 views
Serverless in production (O'Reilly Software Architecture) by Yan Cui
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)
Yan Cui1.4K views
Serverless in production, an experience report by Yan Cui
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
Yan Cui1.3K views
Serverless in production, an experience report (Going Serverless) by Yan Cui
Serverless in production, an experience report (Going Serverless)Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (Going Serverless)
Yan Cui464 views

More from Massimo Ferre'

Generative AI for the rest of us by
Generative AI for the rest of usGenerative AI for the rest of us
Generative AI for the rest of usMassimo Ferre'
168 views42 slides
IDI_2023_MRF-Final.pdf by
IDI_2023_MRF-Final.pdfIDI_2023_MRF-Final.pdf
IDI_2023_MRF-Final.pdfMassimo Ferre'
30 views17 slides
Web Assembly (on the server) by
Web Assembly (on the server)Web Assembly (on the server)
Web Assembly (on the server)Massimo Ferre'
699 views40 slides
IDI 2022: Making sense of the '17 ways to run containers on AWS' by
IDI 2022: Making sense of the '17 ways to run containers on AWS'IDI 2022: Making sense of the '17 ways to run containers on AWS'
IDI 2022: Making sense of the '17 ways to run containers on AWS'Massimo Ferre'
166 views25 slides
Codemotion 2020 - Containers Meet Serverless by
Codemotion 2020 - Containers Meet ServerlessCodemotion 2020 - Containers Meet Serverless
Codemotion 2020 - Containers Meet ServerlessMassimo Ferre'
161 views17 slides
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate by
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate Massimo Ferre'
275 views21 slides

More from Massimo Ferre'(14)

Generative AI for the rest of us by Massimo Ferre'
Generative AI for the rest of usGenerative AI for the rest of us
Generative AI for the rest of us
Massimo Ferre'168 views
Web Assembly (on the server) by Massimo Ferre'
Web Assembly (on the server)Web Assembly (on the server)
Web Assembly (on the server)
Massimo Ferre'699 views
IDI 2022: Making sense of the '17 ways to run containers on AWS' by Massimo Ferre'
IDI 2022: Making sense of the '17 ways to run containers on AWS'IDI 2022: Making sense of the '17 ways to run containers on AWS'
IDI 2022: Making sense of the '17 ways to run containers on AWS'
Massimo Ferre'166 views
Codemotion 2020 - Containers Meet Serverless by Massimo Ferre'
Codemotion 2020 - Containers Meet ServerlessCodemotion 2020 - Containers Meet Serverless
Codemotion 2020 - Containers Meet Serverless
Massimo Ferre'161 views
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate by Massimo Ferre'
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
Massimo Ferre'275 views
IDI 2020 - Containers Meet Serverless by Massimo Ferre'
IDI 2020 - Containers Meet ServerlessIDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet Serverless
Massimo Ferre'229 views
Containers Meetup (AWS+CNCF) Milano Jan 15th 2020 by Massimo Ferre'
Containers Meetup (AWS+CNCF) Milano Jan 15th 2020Containers Meetup (AWS+CNCF) Milano Jan 15th 2020
Containers Meetup (AWS+CNCF) Milano Jan 15th 2020
Massimo Ferre'80 views
Breaking the monolith (an example) by Massimo Ferre'
Breaking the monolith (an example)Breaking the monolith (an example)
Breaking the monolith (an example)
Massimo Ferre'92 views
From 0 to Blue-Green deployments on AWS Fargate by Massimo Ferre'
From 0 to Blue-Green deployments on AWS Fargate From 0 to Blue-Green deployments on AWS Fargate
From 0 to Blue-Green deployments on AWS Fargate
Massimo Ferre'209 views
AWS Summit Stockholm - Fargate: deploy containers, not infrastructure by Massimo Ferre'
AWS Summit Stockholm - Fargate: deploy containers, not infrastructureAWS Summit Stockholm - Fargate: deploy containers, not infrastructure
AWS Summit Stockholm - Fargate: deploy containers, not infrastructure
Massimo Ferre'757 views
AWS Summit London 2019 - Containers on AWS by Massimo Ferre'
AWS Summit London 2019 - Containers on AWSAWS Summit London 2019 - Containers on AWS
AWS Summit London 2019 - Containers on AWS
Massimo Ferre'7K views
Meetup CNCF Torino - Amazon EKS March 29th 2019 by Massimo Ferre'
Meetup CNCF Torino - Amazon EKS March 29th 2019 Meetup CNCF Torino - Amazon EKS March 29th 2019
Meetup CNCF Torino - Amazon EKS March 29th 2019
Massimo Ferre'56 views
Containers at AWS: State of the Union by Massimo Ferre'
Containers at AWS: State of the Union  Containers at AWS: State of the Union
Containers at AWS: State of the Union
Massimo Ferre'134 views

Recently uploaded

Pull down shoulder press final report docx (1).pdf by
Pull down shoulder press final report docx (1).pdfPull down shoulder press final report docx (1).pdf
Pull down shoulder press final report docx (1).pdfComsat Universal Islamabad Wah Campus
17 views25 slides
GDSC Mikroskil Members Onboarding 2023.pdf by
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdfgdscmikroskil
53 views62 slides
K8S Roadmap.pdf by
K8S Roadmap.pdfK8S Roadmap.pdf
K8S Roadmap.pdfMaryamTavakkoli2
8 views1 slide
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ... by
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...AltinKaradagli
12 views16 slides
DevOps-ITverse-2023-IIT-DU.pptx by
DevOps-ITverse-2023-IIT-DU.pptxDevOps-ITverse-2023-IIT-DU.pptx
DevOps-ITverse-2023-IIT-DU.pptxAnowar Hossain
12 views45 slides
Design of machine elements-UNIT 3.pptx by
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptxgopinathcreddy
32 views31 slides

Recently uploaded(20)

GDSC Mikroskil Members Onboarding 2023.pdf by gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil53 views
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ... by AltinKaradagli
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
AltinKaradagli12 views
DevOps-ITverse-2023-IIT-DU.pptx by Anowar Hossain
DevOps-ITverse-2023-IIT-DU.pptxDevOps-ITverse-2023-IIT-DU.pptx
DevOps-ITverse-2023-IIT-DU.pptx
Anowar Hossain12 views
Design of machine elements-UNIT 3.pptx by gopinathcreddy
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptx
gopinathcreddy32 views
Generative AI Models & Their Applications by SN
Generative AI Models & Their ApplicationsGenerative AI Models & Their Applications
Generative AI Models & Their Applications
SN8 views
Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Design_Discover_Develop_Campaign.pptx by ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth632 views
Introduction to CAD-CAM.pptx by suyogpatil49
Introduction to CAD-CAM.pptxIntroduction to CAD-CAM.pptx
Introduction to CAD-CAM.pptx
suyogpatil495 views
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc... by csegroupvn
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
Design of Structures and Foundations for Vibrating Machines, Arya-ONeill-Pinc...
csegroupvn5 views
MSA Website Slideshow (16).pdf by msaucla
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdf
msaucla76 views
SUMIT SQL PROJECT SUPERSTORE 1.pptx by Sumit Jadhav
SUMIT SQL PROJECT SUPERSTORE 1.pptxSUMIT SQL PROJECT SUPERSTORE 1.pptx
SUMIT SQL PROJECT SUPERSTORE 1.pptx
Sumit Jadhav 15 views

End-to-end CI/CD deployments of containerized applications using AWS services

  • 1. End-to-end CI/CD deployments of a containerized app (using AWS services) Incontro DevOps Italia 2019 Massimo Re Ferrè Dev Advocate @ Amazon Web Services © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 2. Whoami - Developer consultant (many kilos ago) - IBM (Professional Services and Systems pre-sales) - VMware (Solutions Architect and Technical Product Manager) - Amazon Web Services (Solutions Architect and Dev Advocate) Email: mreferre@amazon.com Twitter: @mreferre Github: github.com/mreferre
  • 3. I built a demo/test app (Yelb) https://github.com/mreferre/yelb
  • 4. Occasionally I’d run a … Docker build -t mreferre/yelb-ui:whatevertag .
  • 5. Who cares if… • The master branch is several releases ahead of the artifact (i.e. docker image)? • I don’t document how to build artifacts (hint: it’s just a docker build command).
  • 6. Then a couple of things happened ……….
  • 8. How to deploy on diff abstractions? AWS Lambda Amazon EC2 Metal Amazon EKS physicalseverVMcontainerfunction Levelofabstraction Provider space (managed by AWS) Consumer space (managed by the customer) Amazon ECS
  • 9. How about the serverless deployment model? Notes / Interesting links Steps to create the Lambdas artifacts Deployment script All saved in an email draft 
  • 10. The Lambda artifact(s) git clone http://github.com/mreferre/devnull cd ./devnull/yelb-appserver docker run -v "$PWD":/var/task -it lambci/lambda:build-ruby2.5 /bin/bash -c "yum -y install postgresql-devel postgresql-libs ; bundle config --delete frozen ; bundle install ; bundle install --deployment; mkdir lib; cp /usr/lib64/libpq.so.5 ./lib/libpq.so.5" zip -r yelb-appserver-lambda-200v2.zip getvotes_adapter.rb getstats_adapter.rb pageviews_adapter.rb hostname_adapter.rb restaurant_adapter.rb vendor modules lib aws s3 cp yelb-appserver-lambda.zip s3://bucketname
  • 11. How can you make all this better?
  • 12. Perhaps I should use CI/CD for my hobby project? Source Build Test Production Software Release Steps: Change Control Tool Build Tool Test Tool Deployment Tool Pipeline Tool
  • 13. Source Build Test Production AWS CodeBuild AWS CodeDeploy AWS CodePipeline Software Release Steps: AWS CodeCommit Your AWS tooling arsenal
  • 14. The output of a stage is the input for the next Source: https://www.cannyengineer.com/blog/fargate-nodejs-express-docker-deployment-3
  • 15. Before we start • I am showing you the process in pieces (and then we will tie everything together) • This is going to be a basic commit -> build -> deploy setup • You can consider it the basis for more complex pipelines/workflows • I am not including a test phase (you should) • I am not firing up any pre-deploy / post-deploy check scripts (you could) • AWS tool can be replaced w/ third party tools in each area • e.g. GitHub Vs CodeCommit
  • 16. “Fun” facts • No EC2 instances have been harmed used in this setup (Code* + ECS + Fargate) • The AWS documentation is fairly good but these are good resources as well • Autocorrect (Yelb -> Yell) is your friend if you want to waste 6 hours debugging

Editor's Notes