NeitherDevNorOps



DevOps is all over the town. It's like the vitamin supplement without which no food is complete. Be it CIO scorecard or request for proposal, lack of DevOps will debilitate you as much as lack of of Vitamins would do to your health.

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 accessWhen 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!
 Look forward to your feedback and critique.

Comments

Popular posts from this blog

Performance engineering, the Restaurant analogy

Redeeming reusable quotes

The power of questioning and observation