Transitioning from Hard DevOps to Soft DevOps
DevOps is multi-rooted. Not only it has its root in the paradigm of Information technology and computer science,but also it has strong roots in manufacturing or production engineering and philosophy and psychology.
DevOps appear differently to different people because of this multirootedness. Imagine you have a cup of colorless liquid like water and you mix different colors to make it the liquid colored, something that Indians do during their festival of colors also known as Holi.
You can imagine the picture below as DevOps in different organization. Every enterprise has their different flavors of DevOps and comparison cannot be done superficially.
Hard Automation and DevOps
The word "Hard Automation" is a manufacturing term. Hard Automation is a set of automated tasks fulfilled by a machine that is designed to perform a specific, highly repetitive task. The task is usually simple operation or a combination of simple operations.
Modifying hard automation is very difficult and costly and mostly the companies cannot afford the same. This is the reason why many old automobile companies failed in business as they could not come up with new models of cars. Example : Hindustan Motors and their only brand and model called ambassador. The ambassador is the most durable car ever produced in India and in the world, but it died due to inability to come up with new models.
Coming back to the world of DevOps - if the pipeline is too much hard coded - i.e the design of the pipeline is pretty much fixed. Further more if this pipeline and a set of few more pipelines end up supporting an application cluster - it is extremely hard to change the pipeline flow to incorporate new changes.
A good example of this hard coding can be found here
While this hard coded variant can sound pretty advanced to some users, the soft counterpart is even more powerful.
Soft Automation
Soft Automation is an automation that is flexible and programmable that can be changed easily to suite a purpose. Programmable automation is the first to get into our discussion where we see all activities as a programming task.
Programs can be created by human beings. Programs can be created by machines for machines. So we are getting into the era of "Machine Made Programs" some thing very similar to "Machine Made Clothing".
So the Machine has to learn and do the work. This involves the discipline of Machine learning. So the impact on DevOps is to us ML to make the pipeline more flexible and soft.
So essentially your general pipelines gets transformed into ML pipelines because the pipelines will be able to do a lot of thing on their own. A sample of an ML pipeline from Kubeflow is shown below
The architecture overview of Kubeflow is as shown below and you will be able to see a distinctive Machine learning component in the design.
You can explore Kubeflow at https://www.kubeflow.org.
Evaluating Soft Automation Readiness
To be able to perform a quantitative assessment of DevOps , you can refer to our book Assessing DevOps: Assess DevOps Quantitatively for your IT, Business and Industry Using the templates in the book you will be able to create a quantitative assessment for your DevOps needs. ML questions are available in this edition.
Associate Consultant at Tata Consultancy Services || Computational Engineering || Mehanical Engineering
5 年That is very good articulation.