devops machine
TRANSCRIPT
The DevOps Machine
This is a hardware demonstration of some DevOps principles and how to predict outcomes.
(Hence the wizard outfit ! )
Inspired by my interest in Software Engineering, fascination in Rube Goldberg machines and the notion that physical models can serve as good teaching aids.
Undertaken in my spare time as fun personal hobby project.
Built in my garage between October 2015 and May 2016
By Marc Hornbeek“DevOps-the-gray”
Marc Hornbeek// Principal Consultant - DevOps, ETS
Marc is a consultant with over 37 years of experience architecting, designing,
developing and managing high-performance solutions for IT and engineering
infrastructures deployed in commercial and government applications globally.
Marc has served in senior roles including CEO, Board Member, founder,
corporate executive, CTO, VP, General Manager, Principal Consultant, Senior
Solutions Architect and Professional Engineer. Bell-Northern Research, Tekelec,
ECI Telecom, GSI Lumonics, Vpacket, EdenTree Technologies, Spirent
Communications and Trace3. Marc is an innovator who has lead many
successful automation, Lab-as-a-Service and DevOps projects for systems
manufacturers and operators. Marc is a regular speaker, blogger, author and
educator on topics including DevOps, Lab-as-a-Service and continuous test
automation.
Skills: Consulting – DevOps, LaaS, QA, Test Automation, Engineering Leadershiphttps://www.linkedin.com/in/marchornbeek Skype: mhexcaliburhttp://devops.com/author/marc-hornbeek/ Twitter: mhexcalibur
“DevOps-the-gray”
http://meetu.ps/306Lc3
Dev
DevOps Pipeline Model
Work Df Cf Pf RfBacklog rate Di/t
NewFailed changes to be reworked
CI Deliver DeployCi/t Pi/t Ri/t L/t
Dt Ct Pt Rt
Minimum pipeline transit time
Live
Lf
I was interested to know “How can you adjust input rates, stage durations and bug rate found during each process stages of the pipeline to achieve optimum agility, efficiency, quality and stability output to live production?”
Using a model it is feasible to simulate variations and predict outcomes of those variations. Here is my model of the DevOps pipeline.
So I decided to build a hardware model to determine the answers to this question.
The DevOps Machine Controls
“Backlog rate” controlled by motor speed
“Stage size” is adjusted by weights positioned on the stage buckets
“Pass rates” controlled by adjustable “Test” flippers that reject changes for each stage
Timer
Power and motor controls and indicators
Rejected changes collected here
Deploy minimum determined by weights in car
Counter
DeploymentComplete when car runs to end of track
Optimum DevOps Ratio (OR)
Highest Quality Delivery Rate
= (Failures Found/Units Delivered) Delivery time
To compare outcomes I decided to create a metric called “Optimum DevOps Ratio”.
This ratio is satisfying because DevOps is all about getting faster deliveries with high quality.
Results of simulation runs
Optimum agility, efficiency, quality and stability were achieved when input rates are highest, stage durations are short, most bugs are found during earlier stages of the pipeline, and the time between stages is equal so there is continuous flow.
Faster backlog rate is best
Finding more defects early and throughout pipeline is best
Smaller later stages is best
These results are satisfying because they confirm a number of DevOps tenets: “Deliver frequently”, “Fast Fast”, “Fail Early”, and “Fail Often”. The model demonstrated the basis of the business value of DevOps: accelerate of innovation with quality.
The DevOps Machine
I hope my DevOps machine inspires others to build machines to help demonstrate DevOps and other
software engineering principles.
If you like this idea or if you decide to build a machine of your own please let me know by
emailing me at [email protected]
I will respond with construction and circuit drawings for my machine.
Feel free to copy it or improve upon it!
Share !!
By Marc Hornbeek“DevOps-the-gray”