NeitherDevNorOps
Like vitamins they also come in
different variants. Generally anything expedited can be called DevOps and then
there is a lot of off-label usage. For those not aware of 'off-label' usage-Rogaine, the popular hair growth gel, was originally devised for treating acnes until some incidentally realized that it also grows hairs. I wonder how that realization dawned.
It might be accidental in case
of Rogaine, but its deliberate for DevOps as vendors look for bigger pie of budget. We take code as quickly as possible to test and production and then
report as quickly as possible from production. Then the team is quickly out of
business as well. DevOps runs out of ideas as it is built on narrow
use case of expediting code movement.
There is nothing wrong with
that goal, except that it ain't Development or Operation and by creating the
illusion that it is true blue DevOps, it distracts from hard goal of
integrating Development and Operations. Illusion begets illusion and more teams
join the DevOps bandwagon. You call your Performance test scenario from
Jenkins, then you are DevOps compliant. Jenkins or similar tool is made
all encompassing and the journey is treated as complete. Perhaps the epitome of that would be where everything is Jenkins
triggered. A facetious example is of a Jenkins batch that would open door for the office in morning, ring
alarms in office in case of build failure, stop build or deploy in case of fire
alarm trigger so on and so forth. So Mr.Gadfly has been automated out of the
organization by Mr.Jenkins. I have vivid memories of being a gadfly as a
build/install engineer where we had to be pretty ubiquitous to keep product
build moving.
We managed all that automation
from build to deployment those days without access to tools available now.
However apart from nice dashboards and euphoria of connecting everything to one
batch there is little progress of substance. For real progress this irrational
exuberance needs to end. Attention needs to move from attaining flow to correlation of discrete activities to acquire knowledge to influence activities that we are connecting in a flow. Say, correlating Maven to SonarQube to HP ALM data to derive quality index and insight. That
part is hard and there is no good solution as of now. General challenge is of building runtime predictions based on
static analysis. So a build that predicts deployment challenges or a static
code analysis that predicts quality and performance gotchas is challenging and
needs substantial industry research.
DevOps started with a System Administrator finding it very hard to
collaborate with development team. DevOps objectives would be complete when
System administrator and development team are subject to linked -requirements, information, constraints and access. Another
way to achieve that is SRE (Site Reliability Engineer) route where developer also owns operational activities
post-production. This model can be implemented by very few as it requires constant revenue stream based on product maintenance activities. Most places, once application gets to production and becomes business as usual, management interest and budget fall drastically.
Pay attention to this statement once again- linked-requirements, information, constraints and access. When there is similar ecosystem- common
tools, similar privileges, linked problems and similar pipeline and perimeter view
DevOps would be much easily achieved. However it will not be easy task and
would require a lot of heavy lifting with help of Artificial Intelligence that
runs through history of coding, build, deployment, testing, production usage,
data volumes of similar applications to influence and gate the code,
deployment, operations etc and provide visibility and predict release behavior
in production. That is manual activity right now and conclusions extremely anecdotal.
To visualize some use cases, Ops person will get to see risk predictions based on AI computations run on application development and test data.
Similarly, based on application profile developer would get to view likely
production behavior. Build, deployment and test gates could be influenced by
operations built rules with assistance from AI implements.
Thanks for reading!
Comments