Continuous Delivery in the Cloud

2,275 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,275
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Continuous Delivery in the Cloud

  1. 1. @flessa github.com/flessa
  2. 2. @nigelfds github.com/nigelfds
  3. 3. BIG IDEAS
  4. 4. Real World Tested
  5. 5. What are we talking about?
  6. 6. AgendaIdeas behind this workshop Ideas in practice Continuous integration System integration Production deployment Summary Questions
  7. 7. Infrastructure as code
  8. 8. ApplicationEnvironmentInfrastructure
  9. 9. consistency from development to production accidental necessary >> inconsistencyinconsistency deployment process environment configuration testing tools
  10. 10. Automation
  11. 11. Rebuild from code + data
  12. 12. Disk CPUNetwork Memory
  13. 13. Dev OpsOps Dev
  14. 14. In short.
  15. 15. 1 2 3Infrastructure Automate DevOps as code
  16. 16. continuous delivery small feature chunks timesoftware always production ready releases tied to business needs, not IT constraintsminimize the lead time from idea to live concept to cash
  17. 17. AgendaIdeas behind this workshop Ideas in practice Continuous integration System integration Production deployment Summary Questions
  18. 18. Sample Application for #AWS TweetsSample App
  19. 19. github.com/nigelfds/aws-twitter-feed
  20. 20. WebApp Java/JVM Executable War ~ 30 lines of code Unix ServiceNative Packaging/RPM
  21. 21. Lets see this working
  22. 22. I win with Continuous Integration
  23. 23. while (true) { if (change checked into vcs) then build & test sleep 60}
  24. 24. aws-twitter-feed repositorywhile (true) { if (change checked into vcs) then build & test sleep 60} RPM
  25. 25. Building Useful Servers
  26. 26. ApplicationEnvironmentInfrastructure
  27. 27. Puppet is IT automation software that helps systemadministrators manage infrastructurethroughout its lifecycle, fromprovisioning and configurationto patch management and compliance.
  28. 28. Puppet definition for our GO machine
  29. 29. Puppet definition continued…
  30. 30. Don’t make the Version Control Sad
  31. 31. github.com/nigelfds/configuration- masterPuppet definitionsand AWS scripts
  32. 32. To keep things moving, lets kick it off
  33. 33. S3 Bucket Self Configured Puppet & AWS Build scripts Server Packaged Scripts Cloud Formation APIs Create MachineBehind the scenes Nigel’s Laptop
  34. 34. AWS CloudFormation gives developersand systems administrators an easy way tocreate and manage a collection ofrelated AWS resources.
  35. 35. Once deployed, you can modify and update the AWS resources in acontrolled and predictable way allowing you to versioncontrol your AWS infrastructure in the same wayas you version control your software
  36. 36. 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" } } },……
  37. 37. Creating the stack with CloudFormationName of the stack Create the stack Self configuration scripts (Invokes Puppet)
  38. 38. Lets see how we’re doing
  39. 39. Repeatable & Continuous
  40. 40. Puppet definition for our GO machine Server Monitoring
  41. 41. In Short
  42. 42. Packaging for the target ( Using PMs)Continuous Integration (Using )Declarative Env. Conf. (Using )Infrastructure as Code (Using )
  43. 43. AgendaIdeas behind this workshop Ideas in practice Continuous integrationSystem integration Production deployment Summary Questions
  44. 44. Everything works by itself
  45. 45. But they need to work together
  46. 46. Bring in the conductor =
  47. 47. Complex !
  48. 48. How does this look in
  49. 49. Self Configured GO Server App Server Cloud Formation APIsBehind the scenes
  50. 50. Creating the AMI Create an AMI from the running instace Save a reference to the Image IdDelete the running instance
  51. 51. Lets see this on AWS
  52. 52. Snapshot -> AMIs are awesome
  53. 53. Boot Test QA =Speed Prod Instances
  54. 54. Agenda Ideas behind this workshop Ideas in practice Continuous integration System integrationProduction deployment Summary Questions
  55. 55. To keep things moving, lets kick it off
  56. 56. ELB Remove ZERO DOWNTIME ! ID-1 ID-2 AutoscalingTerminateInstance APP APPID-1ID-2 V2.0 V1.0 V2.0 V1.0 ID-3 ID-1 ID-2 ID-4
  57. 57. Lets see this working
  58. 58. AgendaIdeas behind this workshop Ideas in practice Continuous integration System integration Production deployment Summary Questions
  59. 59. 1 2 3Infrastructure Automate DevOps as code
  60. 60. Thank you and …
  61. 61. “How? By fast, automated of your on the production readiness feedback applications every time there is a change whether code, infrastructure, configuration or database ” Jez Humble Author Continuous Delivery
  62. 62. Ps. We’re hiring ;-)

×