#15 Like data, change also has gravity!
Continuous delivery and continuous deployment are distinct stages in the DevOps pipeline. Using Kubernetes parlance, continuous delivery represents readiness for a change, while continuous deployment represents the liveness of a change. This distinction is beyond the comprehension of humans due to an unrelated reason that I call the "scourge of acronyms", as I have written in a previous blog.
How to measure a change
One of the constant challenges in the DevOps space has been the measurement of performance. DORA has so far done the best job by providing the following four metrics:
If change is like a fundamental particle, these four metrics are like its properties. It brings the question of how quantized can a change be. Like a fundamental particle, the less mass a change has (i.e., the smaller a change is), the faster it will move.
领英推荐
Production as a state machine
The best way to represent production is like a state machine. A change can be any mutation in the state of production but can mostly be divided into the following three categories:
Can a commit represent this mutation? Like an ideal gas, only an ideal commit can fully represent a change. It also needs to be done in ideal circumstances and by an ideal developer.
How about a pull request? Pull request overcomes the fundamental challenges of a commit. Sometimes a pull request may not exactly match with the business/functional behavior change.
For those special cases, we need a higher-level abstraction than a pull request to provide enough flexibility to represent this change. Roost is the only environments-as-a-service platform that enables it by allowing you to create dynamic & ephemeral pre-production environments for a pull request and across multiple pull requests if needed. Check out https://roost.ai to learn more.