DevOps & Digital Transformation


DevOn (Prowernesss) conducted its first meetup with core theme of "DevOps and Digital Transformation". We noticed many buzzwords in Software Quality. It started with CMMI, then P-CMMI, then Agile, Scrum and now DevOps. The most important is, how any orgnisation tunes the latest trend with (like DevOps) with its business strategy, culture and customer expectation. Uber became successful with this approach. 

Hariharan Ganesan broke myths that Rolls-Royce is no longer making cars ! He himself does not posses any car by Rolls-Royce and neither he is getting any discount to buy one. :-) He talked more about Rolls-Royce, its business, product, strategy, market, people etc. In spite of being company based on metal, nut and bolts, DevOps is relevant for Rolls-Royce. 

We were amazed by less-known facts about aviation industry. The first IoT enable business was aircraft. Its engine is not sold, but offered on rental per hour basis. It is an intelligent engine and having engine to engine communication capability. Rolls Royce outsources 10mm size small robot (size of a bug) which goes inside of aircraft and takes inside engine photos. R2 (R square) Data Labs is sister concern of Rolls Royce. Key criteria are (1) availability : avoid flight delay and flight cancellation (2) safety and (3) fuel efficiency. At R2 lab, there is a 'digital twin' of each engine. Digital Twin is much more than Aut-CAD or CAM. It is mathematical model (relatively simple) and/or physical model based on CAD/CAM running on HPC. When aircraft is flying over Atlantic ocean, its engine talked with other engine about yesterday's weather condition over Atlantic ocean to compare. At R2 Labs, weather data is fedded to digital twin of the engine for to fine tune and make better engine performance 

Prashant Kumar talked about Docker and Kubernetes. As per definition : docker is combination of code, runtime, system tools, system libs etc. It is most popular container. Docker image is immutable. DockerHub is docker registry - something like git, github, big-bucket. Docker is popular container. Docker improves DevOps workflow by (1) environment consistency (2) Isolation (3) organizing applications and (4) portability. One must mention/use correction version of docker engine for portability. Prashant gave tips about 'dangling API' to clean manually all the unused objects, else the file system will be out of space. Kubernetes maintains containers at scale. A pod can have one or more than one containers. Sometimes, for state-full services we need to attached volume like EBS. 

Vinay Krishna talked about ' DevOps Success Recipe: One Team One Goal ' The process and tools are just means. They may not solve actual problem. Vinay explained few real life scenarios, without mentioning any organisation name. 

1. Developers re-designed a web page that was used by customer support team, without informing them. The team faced lots of issue while answering the customer call and at mid night the software needed to be rollback to previous version. 

2. The end-users were involved from beginning. Developers completed many modules, and then started GUI. The end-users raise concern about GUI and finally GUI was re-designed after many e-mail exchanges (to blame) . Involving the end-user may not help, if they attend the meeting just for shake of attending. 

3. All stack holders were involved. Code coverage was 80 percentage and above. CI/CD pipeline was green. All test cases passed. There was 100 % automation. No severity three bugs, yet customer was not happy. All bugs were moved as severity.  Many test cases for code coverage was not up to the mark and few does not have even needed assert statement. 

Yes all three amigos (as per agile) business, developers and testers must be involved as one team. Once someone commented that this task belongs to new DevOps team. There were already three teams, (1) Developers, (2) QA (3) Operation. DevOps team members were same people from operation team and after Docker + cloud training the team was re-branded as DevOps team! Operation people does not like development work. Developers does not like to do work , that is done by operation team. All needs to work as one team. 

4. Prashant also shared a positive example about valuable suggestions from operation team like : (1) Add human readable logs (2) add feature switch turn on/off etc. 

Prashant also talked about NetFlix tools like Chaos Monkey, Simian Army, Chaos Gorilla etc. They are resiliency tools that helps applications tolerate random instance failures on cloud. He suggested to read "Value Stream Mapping" and "Software Horror Stories"

Now let me share my views. This talk remind me about similar practical facts that I learnt during MBA. When SPC (statistical process control) introduced, the shop-floor people does not understand about 2 lines in chart recorder. They drew manually to keep chart withing two lines !! It reminded me the famous business novel 'The Goal' about ToC (theory of constraints). In the novel the people strongly rejected reporting so many numbers/statistics. Later on, new system of using green tag and rad tag itself caused another issue.  Now time changed. I also remember a famous joke when a US firm ordered something from Japan with 97% quality, the Japan team prepared 3% pieces separately with poor quality. 

In IT industry also, I observed that (1) sometimes, all the review process does not apply to 'system engineers team' even the clarity in requirement is the most crucial part. (2) Sometimes, quality people have un-realistic matrices about number comments within kLOC, to meet them, manager add dummy comments or remove genuine comments from the record. It defeats its purpose. 

So in summary, the human tendency, the culture, power politics cannot be ignored to bring the change. Quality must be everyone's responsibility. 

Shynish Meladath talked about Industrial IOT and DevOps. The key take away points were 

1. 'Particle Photon' It is an IoT kit 
2. Eclipse 4diac  provides an open source infrastructure for distributed industrial process measurement and control systems based on the IEC 61499 standard.
3. resion.io that brings Linux containers to IoT. 
4. Kaa is an open source IoT platform
5. Spanner CI is continuous integration for IoT
6. macchina is a versatile platform for car. 

I missed the last session "Data-Driven DevOps" by Ashwin Shankarananda, due to other priority. 

Disclaimer: I did my best to capture notes and key take away points from the event. However the content is as per my understanding and it may or may not reflect the original content/intention by the speaker. Any corrections are welcome. 

Reference https://www.meetup.com/Digital-DevOps-Bangalore/events/252154106/