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).
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
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