Your SlideShare is downloading. ×
0
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Deployment is the new build
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Deployment is the new build

3,414

Published on

Slides for the "Deployment is the new build" presentation by Andrew Phillips (XebiaLabs) at the Devopsdays 2011 conference in Boston.

Slides for the "Deployment is the new build" presentation by Andrew Phillips (XebiaLabs) at the Devopsdays 2011 conference in Boston.

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

No Downloads
Views
Total Views
3,414
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Deployment is the new build Andrew Phillips
  • 2. Deployment is like the new build
  • 3. Deployment is like the new build Deployment is the new build
  • 4. Devops and Deployment Q: What does a talk like “Deployment is the new build”have to do with Devops* anyway? *yes, I know…
  • 5. Devops and DeploymentA: We’re here because of shared experience that delivering valuerequires a holistic view of software development and maintenance
  • 6. The Road to Value
  • 7. The Road to ValueWe have ideas…
  • 8. The Road to Value…think about how to implement them…
  • 9. The Road to Value…write source code…
  • 10. The Road to Value…test the source code…
  • 11. The Road to Value…convert source code into deliverables…
  • 12. The Road to Value…make those deliverables accessible to users…
  • 13. The Road to Value…test the deliverables some more…
  • 14. The Road to Value…make them available to end users…
  • 15. The Road to ValueGOTO TOP
  • 16. The red bit
  • 17. The red bit• We have ideas…• …think about how to implement them…• …write source code…• …test the source code…• …convert source code into deliverables…• …make those deliverables accessible to users…• …test the deliverables some more…• …make them available to end users…• GOTO TOP
  • 18. Why the red bit?Because our industry as a whole does this part really badly
  • 19. Why the red bit?Because, if we take a holistic approach to softwaredelivery, we often identify this as a key area to improve
  • 20. di-plȯi-mәnt• Deployment: taking the components that make up a release (typically a specific version of an application) and getting them correctly set up in an infrastructure environment so that the release is accessible to (end) users
  • 21. di-plȯi-mәnt• Deployment: taking the components that make up a release (typically a specific version of an application) and getting them correctly set up in an infrastructure environment so that the release is accessible to (end) users Let’s talk “on-demand” environments and virtual appliances later
  • 22. Deployment today Here be demons
  • 23. Deployment here today do now maybe this this this then then this that that again then then this this phew!
  • 24. The Road to Value
  • 25. Remember this? make
  • 26. Remember this?
  • 27. Remember this?Here be demons
  • 28. Build today GO!
  • 29. Build todayHow did this happen?
  • 30. How did this happen?1. Reusable commands2. Models3. Conventions++
  • 31. Reusable commands• Recognising recurring low-level building blocks• Replacing copy’n’paste snippets with reusable libraries• Chunking sequences of low-level commandsThinking Ant here
  • 32. Models• Common chunks work with common types of data• Formalise data chunks into a domain model• Formalise chunks of work into phases• Use language-/domain-specific defaultsThinking Maven here
  • 33. Conventions++• Modifying a rigid convention-based system is cumbersome• Domain-/language-specific defaults and flow works out-of-the-box• Hook in with full control where you need toThinking Gradle here
  • 34. How did this happen?• Not driven by industry standards! Just observation of common patterns• Changing out-of-the-box processes to match user expectation < user expectation changing to match out-of-the-box processes• “Mandatory” standards are quite flexible in practice
  • 35. Deployment todayIn here: “Reusable commands” or a bit beyond
  • 36. Deployment todayIn here: “Reusable commands” or a bit beyond Out there: make (if you’re lucky)
  • 37. Deployment tomorrow? GO!
  • 38. Getting to GO!• Develop a common model• (Re)discover vanilla• Support a “clean build”
  • 39. Common model• Packages• Environments• Deployments
  • 40. Common model• Version everything• Interoperability• “Something to work with”
  • 41. Re(discover) vanilla• It Just Works™• KISS, YAGNI & more alphabet soup• Grandmother’s secrets
  • 42. Re(discover) vanilla• Value reusability• Improve maintainability• Minimize “ripple” changes
  • 43. “clean build”• Incremental as the goal• Clean as the fallback
  • 44. “clean build”• Time To Rebuild < Time To Fix• Prerequisite: versioning• Prerequisite: known state for durable resources
  • 45. Deployment is like the new build Deployment is the new build
  • 46. Virtual appliances• Deliverable: ready-to-run system• “Press Play to start”• Model:  Package: virtual app  Environment: hypervisor/platform
  • 47. Making virtual appliances• Deployment “ahead of time”  TBD: dealing with customization• Deployment at build time
  • 48. Making working virtual appliances• Trust?• Eyeball?• Run and monitor?• ...?
  • 49. Spoiled by CI• Great expectations  Unit testing  Integration testing  Pattern, style, compliance etc. checkers  Docs, change logs, reports etc.  …
  • 50. The new CI? Unit testing ► file verification, ping Integration testing ► QA tests, application monitoring, DTrace Pattern, style, compliance etc. checkers ► policy engines, configuration checkers Docs, change logs, reports etc. …
  • 51. Test ≠ Test• Test the configuration, not the configurator• Test the variable, not the template• Test what, not how
  • 52. The new CI?• Food for thought  Quality builds  Dependent jobs  Platform agents  Virtual app repositories …
  • 53. Building source code…that’s so 2011
  • 54. Thank you!

×