Strategies for Landing an Oracle DBA Job as a Fresher
5 Steps on the Way to Continuous Delivery
1. Andrew Phillips | XebiaLabs
5 Steps on the Way to
Continuous Delivery
2. A Bit About Me
• VP Products for XebiaLabs
• Lots of enterprise software development on high-
performance systems
• Been on both sides of the “Dev…Ops” fence
• Active open source contributor and committer:
jclouds, Akka, Gradle and others
• Cloud, PaaS & JVM language fan (mainly Scala, Clojure)
• Regular meetup, conference etc. presenter
3. Agenda
• Everybody’s Going CD
• Lightning CD Recap
• Enterprise Challenges
• 5 Steps on the Way to CD
• A CD Maturity Model
• Q&A
4. “Continuous delivery is a set of patterns
and best practices that can help software
teams dramatically improve the pace and
quality of their software delivery.”
10. Everybody’s Going CD
• Why?
• It’s fun
• It’s cool
• All the cool kids do it
• It accelerates time to market
11. Everybody’s Going CD
• Why?
• It’s fun
• It’s cool
• All the cool kids do it
• It accelerates time to market
• All of the above
12. Everybody’s Going CD
• Why?
• It’s fun
• It’s cool
• All the cool kids do it
• It accelerates time to market
• All of the above
13. Everybody’s Going CD
• Why?
• It’s fun
• It’s cool
• All the cool kids do it
• It accelerates time to market
• All of the above
14. Lightning Recap
“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
15. Lightning Recap
“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
16. Lightning Recap
“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
Principle #1 from the Agile Manifesto
27. 1. Complete Delivery Artifact
• We move one uniquely identified
deliverable through the pipeline
• Needs to contain all the items considered
part of the delivered version
– Application binaries
– Database changes
– Configuration files
– Server settings
– Dependencies
– …
28. 1. Complete Delivery Artifact
• This might sound self-evident, but…
• …it’s harder to do than it appears
– Environment-specific builds?
– Configuration settings requested via change
tickets?
– Smoke tests present only in the testers’
notes/heads?
29. 2. Pipeline Stage Checklist
• Break down your pipeline into tasks
• For each task, define
– Owner
– Input
– Output
– Triggers
– Prerequisites/gates
– Success/failure criteria
– Failure handling
30. 2. Pipeline Stage Checklist
• Checklists determine sequence and
parallelization of stages
• Knowledge/confidence level/quality
measurements are also output!
• Think about feedback cycles (“if this task
fails, how can I learn from that?”)
31. 3. Manageable Units of Work
• In general, smaller tasks = faster runtime
• Basic upper limit:
throughput ≤ 1 / (duration of longest task)
• Are your long-running tasks providing
“value for runtime”?
32. 4. Scalable Capacity
• To run pipeline jobs (= “workers”)
• To run applications (= “environments”)
33. 4. Scalable Capacity
• To run pipeline jobs (= “workers”)
• To run applications (= “environments”)
• Would like on-demand capacity quickly
• Investigate cloud-based services
34. 5. Automation, Automation, Automation
• Automation isn’t a prerequisite for CD…
• …but it’s pretty much essential
• Can you reliably execute your manual task
at the required frequency with the desired
level of throughput?
35. 5. Automation, Automation, Automation
• Automation isn’t a prerequisite for CD…
• …but it’s pretty much essential
• Can you reliably execute your manual task
at the required frequency with the desired
level of throughput?
36. 5. Automation, Automation, Automation
• Think about
– Build automation
– Unit Test automation
– Deployment automation
– Integration/Performance/UA Test automation
– Automated metrics gathering
– Automated feedback cycles
37. 6. “Side Effect” Overview
• Pipeline tasks and stages don’t just run
and produce log output…
• …they also have “side effects”
– Creating and destroying on-demand
environments
– Updating of versions of applications deployed
to (testing, mainly) envionments
– Updating the “confidence measure” of the
application version being tested
– …
38. 6. “Side Effect” Overview
• Don’t want to have to “re-engineer” the
state of your IT landscape based on the
progress of pipeline jobs
• More commonly-used domain model helps
present business-relevant information
39. 7. Release Control
• Later pipeline stages affect tightly-
controlled environments
• Release Management requirements must
be met
• Can link this to prerequisites/gates for
tasks
40. 7. Release Control
• How to automate gates to avoid a manual
bottleneck?
• How to ensure (automated) quality/security
etc. measurements fulfill release
requirements
• “Fine-tuning the dial between throughput
and control”
41. 8. Improvement Metrics
• You (or your boss) don’t just want to feel
things are getting better…
• …you need to know they are!
42. 8. Improvement Metrics
• Sample metrics:
– Throughput?
– Failure rate?
– Standardization coefficient
– Mean & stddev of duration per task/stage?
– Max/min duration per task/stage?
– # of manual tasks?
47. Summary
1. Complete Delivery Artifact
2. Pipeline Stage Checklist
3. Manageable Units of Work
4. Scalable Capacity
48. Summary
1. Complete Delivery Artifact
2. Pipeline Stage Checklist
3. Manageable Units of Work
4. Scalable Capacity
5. Automation, Automation, Automation
49. Summary
1. Complete Delivery Artifact
2. Pipeline Stage Checklist
3. Manageable Units of Work
4. Scalable Capacity
5. Automation, Automation, Automation
6. “Side Effect” Overview
50. Summary
1. Complete Delivery Artifact
2. Pipeline Stage Checklist
3. Manageable Units of Work
4. Scalable Capacity
5. Automation, Automation, Automation
6. “Side Effect” Overview
7. Release Control
51. Summary
1. Complete Delivery Artifact
2. Pipeline Stage Checklist
3. Manageable Units of Work
4. Scalable Capacity
5. Automation, Automation, Automation
6. “Side Effect” Overview
7. Release Control
8. Improvement Metrics
52. Maturity Model
• Metrics give indication of progress
• Define a maturity model based on your
business goals
• Will often spans more than “classic”
automation: from requirements gathering to
runtime application and quality analysis
• Feedback cycles essential to targeted
improvements
53. More Info
• Application Release Trends 2013 Survey
– go.xebialabs.com/Survey2013.htm
• Dzone Refcard: “Preparing for Continous Delivery”
– refcardz.dzone.com/refcardz/preparing-continuous-delivery
• “Introducing Continuous Delivery in the Enterprise”
– go.xebialabs.com/EBCDWhitepaper_Continuous_Delivery.html
• Continuous Delivery Automation
– www.xebialabs.com/continuous-delivery
• Drop by our booth #11!