devops machine

12
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”

Upload: marc-hornbeek

Post on 27-Jan-2017

417 views

Category:

Engineering


1 download

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

The DevOps Pipeline

The DevOps pipeline can be considered a sequence of process stages.

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

The DevOps MachineChanges represented by balls

Deployed changes

Rejected changes

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

https://youtu.be/SIS5-yVnw_w

Watch a sample run on Youtube

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.

I ran the machine a bunch of timesand simulated data sets in a spreadsheet

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”