continuous delivery in the aws cloud
DESCRIPTION
A presentation on Continuous Delivery by Fabio Lessa and Nigel Fernandes at the Amazon Web Services summit in Melbourne and in SydneyTRANSCRIPT
![Page 1: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/1.jpg)
Continuous Delivery in the
cloud
![Page 2: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/2.jpg)
@flessa
github.com/flessa
![Page 3: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/3.jpg)
@nigelfds
github.com/nigelfds
![Page 4: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/4.jpg)
![Page 5: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/5.jpg)
BIG IDEAS
![Page 6: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/6.jpg)
Real World Tested
![Page 7: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/7.jpg)
What are we talking about?
![Page 8: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/8.jpg)
Ideas behind this workshop
Ideas in practice Continuous integration
System integration Production deployment
Summary
Questions
Agenda
![Page 9: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/9.jpg)
Infrastructure as code
![Page 10: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/10.jpg)
Application
Environment
Infrastructure
![Page 11: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/11.jpg)
![Page 12: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/12.jpg)
consistency from development to production
accidental inconsistency
necessary inconsistency>>
deployment process
environment configuration
testing tools
![Page 13: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/13.jpg)
Automation
![Page 14: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/14.jpg)
Rebuild from code + data
![Page 15: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/15.jpg)
![Page 16: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/16.jpg)
Disk
CPUNetwork
Memory
![Page 17: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/17.jpg)
![Page 18: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/18.jpg)
Dev Ops
Dev Ops
![Page 19: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/19.jpg)
In short.
![Page 20: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/20.jpg)
1 2 3
Automate DevOpsInfrastructureas code
![Page 21: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/21.jpg)
continuous delivery
software always production readyreleases tied to business needs, not IT constraints
minimize the lead time from idea to liveconcept to cash
time
small feature chunks
![Page 22: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/22.jpg)
Ideas behind this workshop
Ideas in practice Continuous integration
System integration Production deployment
Summary
Questions
Agenda
![Page 23: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/23.jpg)
SampleApp
Sample Application for #AWS Tweets
![Page 24: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/24.jpg)
github.com/nigelfds/aws-twitter-feed
![Page 25: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/25.jpg)
WebApp
Java/JVM
Executable War
Unix Service
Native Packaging/RPM
~ 30 lines of code
![Page 26: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/26.jpg)
Lets see this working
![Page 27: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/27.jpg)
![Page 28: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/28.jpg)
I win with
Continuous Integration
![Page 29: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/29.jpg)
while (true) {if (change checked into vcs) then build & testsleep 60
}
![Page 30: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/30.jpg)
aws-twitter-feed repository
while (true) {if (change checked into vcs) then build & testsleep 60
}
RPM
![Page 31: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/31.jpg)
Building Useful Servers
![Page 32: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/32.jpg)
Application
Environment
Infrastructure
![Page 33: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/33.jpg)
Puppet is IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to patch management and compliance.
![Page 34: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/34.jpg)
Puppet definition for our GO machine
![Page 35: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/35.jpg)
Puppet definition continued…
![Page 36: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/36.jpg)
Don’t make the Version Control Sad
![Page 37: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/37.jpg)
github.com/nigelfds/configuration-master
Puppet definitions and AWS scripts
![Page 38: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/38.jpg)
To keep things moving, lets kick it off
![Page 39: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/39.jpg)
BuildServer
S3 Bucket
Nigel’s Laptop
Puppet & AWS scripts
Cloud Formation
APIs
PackagedScripts
Create Machine
Self Configured
Behind the scenes
![Page 40: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/40.jpg)
AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources.
![Page 41: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/41.jpg)
Once deployed, you can modify and update the AWS resources in a
controlled and predictable way allowing you to version control your AWS infrastructure in the same way as you version control your software
![Page 42: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/42.jpg)
Cloud Formation Template…… "Resources" : { "Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "InstanceType" : "c1.medium", "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ], "KeyName" : { "Ref" : "KeyName" }, "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}, "UserData": { "Ref": "BootScript" } } },……
![Page 43: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/43.jpg)
Creating the stack with CloudFormation
Name of the stack
Self configuration scripts (Invokes Puppet)
Create the stack
![Page 44: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/44.jpg)
Lets see how we’re doing
![Page 45: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/45.jpg)
Repeatable & Continuous
![Page 46: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/46.jpg)
![Page 47: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/47.jpg)
Puppet definition for our GO machine
Server Monitoring
![Page 48: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/48.jpg)
In Short
![Page 49: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/49.jpg)
Packaging for the target ( Using PMs)
Infrastructure as Code (Using )
Continuous Integration (Using )
Declarative Env. Conf. (Using )
![Page 50: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/50.jpg)
Ideas behind this workshop
Ideas in practice Continuous integration
System integration Production deployment
Summary
Questions
Agenda
![Page 51: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/51.jpg)
Everything works by itself
![Page 52: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/52.jpg)
But they need to work together
![Page 53: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/53.jpg)
=
Bring in the conductor
![Page 54: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/54.jpg)
Complex !
![Page 55: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/55.jpg)
How does this look in
![Page 56: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/56.jpg)
![Page 57: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/57.jpg)
AppServer
Cloud Formation
APIs
Behind the scenes
GOServer
Self Configured
![Page 58: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/58.jpg)
Create an AMI from the running instace
Creating the AMI
Save a reference to the Image IdDelete the running instance
![Page 59: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/59.jpg)
Lets see this on AWS
![Page 60: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/60.jpg)
Snapshot -> AMIsare awesome
![Page 61: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/61.jpg)
Boot Speed
Test=
Prod
QAInstances
![Page 62: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/62.jpg)
Ideas behind this workshop
Ideas in practice Continuous integration
System integration
Production deployment
Summary
Questions
Agenda
![Page 63: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/63.jpg)
To keep things moving, lets kick it off
![Page 64: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/64.jpg)
ELB
Autoscaling
APPV1.0
APPV1.0
APPV2.0
Terminate InstanceID-1
Remove ID-1
ID-1 ID-2ID-3
Terminate InstanceID-2
Remove ID-2
APPV2.0
ID-4
ZERO DOWNTIME !
![Page 65: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/65.jpg)
Lets see this working
![Page 66: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/66.jpg)
Ideas behind this workshop
Ideas in practice Continuous integration
System integration Production deployment
Summary
Questions
Agenda
![Page 67: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/67.jpg)
1 2 3
Automate DevOpsInfrastructureas codeContin
uous
Delivery !
![Page 68: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/68.jpg)
Thank you and …
![Page 69: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/69.jpg)
How? By fast, automated feedback on the production readiness of your applications every time there is a change whether code, infrastructure, configuration or database
Jez HumbleAuthor Continuous Delivery
”
“
![Page 70: Continuous Delivery in the AWS Cloud](https://reader033.vdocuments.site/reader033/viewer/2022061218/54b6aec54a79599f7b8b45cf/html5/thumbnails/70.jpg)
Ps. We’re hiring ;-)