• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Deployment is the new build
 

Deployment is the new build

on

  • 3,524 views

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.

Statistics

Views

Total Views
3,524
Views on SlideShare
2,188
Embed Views
1,336

Actions

Likes
2
Downloads
0
Comments
0

3 Embeds 1,336

http://devopsdays.org 738
http://www.devopsdays.org 593
url_unknown 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Deployment is the new build Deployment is the new build Presentation Transcript

    • Deployment is the new build Andrew Phillips
    • Deployment is like the new build
    • Deployment is like the new build Deployment is the new build
    • Devops and Deployment Q: What does a talk like “Deployment is the new build”have to do with Devops* anyway? *yes, I know…
    • Devops and DeploymentA: We’re here because of shared experience that delivering valuerequires a holistic view of software development and maintenance
    • The Road to Value
    • The Road to ValueWe have ideas…
    • The Road to Value…think about how to implement them…
    • The Road to Value…write source code…
    • The Road to Value…test the source code…
    • The Road to Value…convert source code into deliverables…
    • The Road to Value…make those deliverables accessible to users…
    • The Road to Value…test the deliverables some more…
    • The Road to Value…make them available to end users…
    • The Road to ValueGOTO TOP
    • The red bit
    • 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
    • Why the red bit?Because our industry as a whole does this part really badly
    • Why the red bit?Because, if we take a holistic approach to softwaredelivery, we often identify this as a key area to improve
    • 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
    • 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
    • Deployment today Here be demons
    • Deployment here today do now maybe this this this then then this that that again then then this this phew!
    • The Road to Value
    • Remember this? make
    • Remember this?
    • Remember this?Here be demons
    • Build today GO!
    • Build todayHow did this happen?
    • How did this happen?1. Reusable commands2. Models3. Conventions++
    • Reusable commands• Recognising recurring low-level building blocks• Replacing copy’n’paste snippets with reusable libraries• Chunking sequences of low-level commandsThinking Ant here
    • 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
    • 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
    • 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
    • Deployment todayIn here: “Reusable commands” or a bit beyond
    • Deployment todayIn here: “Reusable commands” or a bit beyond Out there: make (if you’re lucky)
    • Deployment tomorrow? GO!
    • Getting to GO!• Develop a common model• (Re)discover vanilla• Support a “clean build”
    • Common model• Packages• Environments• Deployments
    • Common model• Version everything• Interoperability• “Something to work with”
    • Re(discover) vanilla• It Just Works™• KISS, YAGNI & more alphabet soup• Grandmother’s secrets
    • Re(discover) vanilla• Value reusability• Improve maintainability• Minimize “ripple” changes
    • “clean build”• Incremental as the goal• Clean as the fallback
    • “clean build”• Time To Rebuild < Time To Fix• Prerequisite: versioning• Prerequisite: known state for durable resources
    • Deployment is like the new build Deployment is the new build
    • Virtual appliances• Deliverable: ready-to-run system• “Press Play to start”• Model:  Package: virtual app  Environment: hypervisor/platform
    • Making virtual appliances• Deployment “ahead of time”  TBD: dealing with customization• Deployment at build time
    • Making working virtual appliances• Trust?• Eyeball?• Run and monitor?• ...?
    • Spoiled by CI• Great expectations  Unit testing  Integration testing  Pattern, style, compliance etc. checkers  Docs, change logs, reports etc.  …
    • 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. …
    • Test ≠ Test• Test the configuration, not the configurator• Test the variable, not the template• Test what, not how
    • The new CI?• Food for thought  Quality builds  Dependent jobs  Platform agents  Virtual app repositories …
    • Building source code…that’s so 2011
    • Thank you!