Video: DevOps is the hot topic in 2018: Five reasons why
CA is one of the oldest, most traditional enterprise software companies around. As such, it has not exactly been synonymous with innovation. But Ashok Reddy, its DevOps general manager, says this is changing, and CA is reinventing how DevOps is used to develop and deploy software throughout its lifecycle, based on data, machine learning, and AI.
If everyone is using the same software as a service, differentiation comes through dynamically adapting to data
CA has come a long way since 1976. This multi-billion dollar organization, with presence all over the world and thousands of people in its payroll, has made a name for itself mostly as a provider of enterprise software. Just looking at the evolution of the product line of organizations like CA tells the story of the evolution of IT itself.
From mainframes and client-server architecture to multi-tier applications, moving to the cloud era, and now the data-driven era, though a lot has changed through the years for CA, its stated mission of (using technology) to eliminate the barriers between ideas and business outcomes has not changed all that much.
The technology and the approaches, however, have, and Reddy used an analogy between self-driving cars and self-driving applications to refer to this in his CA AgileOps Summit keynote. Many of the things involved in this are mostly seen as unexciting housekeeping chores. Things such as testing and deploying applications, security, integration, and everything that DevOps touches upon.
Reddy, however, says CA has found a way to take as much of these tedious tasks off the shoulders of people, and offload them to automation powered by data, machine learning, and AI, in what he calls continuous AIOps.
Traditionally, Reddy says, organizations have been adopting software solutions to become digital and to innovate. With the advent of the SaaS model, however, what happens to differentiation, if everyone is using the same SaaS?
His answer is that the advent of data-driven approaches also applies to software. Instead of people defining rules encoded in software that is deployed and then operates based on those rules, software is now becoming much more dynamic, adapting its behavior based on the data it consumes.
"Software used to be deterministic -- you developed it, deployed it, focused on quality, and made sure it satisfies user requirements, and that was it. Now, with data-driven approaches, software needs to incorporate what can be learned from the environment," Reddy says.
This is a fundamental shift -- going from deterministic to non-deterministic behavior. There is great opportunity for creating more adaptive software by applying this approach, but there also is great risk in terms of uncertainty. How comfortable would you feel knowing that the software you are running in production has non-deterministic behavior?
"Non-deterministic means you have to ensure that data used to inform the software is the right data. It must not be biased, you have to look at issues like security and privacy. And what kind of actions will the software take? Will the actions be fully automated, or will there be human involvement? Those are the types of things for which we think there's a lifecycle for everything," says Reddy.
That may seem exciting, or scary, depending on how you look at it. But if adding non-deterministic behavior to all the moving parts that make for the complexity that enterprise software has evolved into was not enough, Reddy takes things further.
Reddy says that, in CA, it is applying this approach to its DevOps, the software used to build software. He notes that when you have continuous integration or testing, different test cases exist for different aspects of the software:
"Do tests reach all paths? Which test cases fail, and which ones pass? Which deployments work, and which ones need to be rolled back? All these are things we can learn, and based on this, we can change our DevOps approach. Companies can use data to make better decisions, but software itself can also learn what to deploy and when.
With AI, we can move to risk-based testing. We can apply lookup patterns: If something changes in the code, why not look at the test cases affected by that to identify the potential risk for the business? We are already applying this approach to testing, deployment, automation, looking at the full lifecycle to learn from new patterns."
This is where the analogy between DevOps and cars comes into play. Reddy argues that there is a progression between no automation and full automation that applies to both -- and beyond, we might add. But the idea at this point is not to make human involvement in the DevOps process obsolete, but rather to automate as much of the process as possible, Reddy says:
"I talk about self-driving operations. The reality is that operations needs to focus on more added-value things rather than getting lost in the day-to-day chores -- things like what is that data job, what data is in it, how long is it going to be running etc.
We want to give them a way to predict things before they happen and to automate, so they can focus on the big picture. This is more important now than ever, compared to just looking at the software. This is what we see, and what we are focusing on for our roadmap."
Where is this coming from, where it's going, and who else is doing it
You may be wondering how does a vendor with the legacy of CA get to learn new tricks like that. Looking at its acquisition track may give some answers. In the past few years, CA has acquired companies doing API management and monitoring, application release automation, test data management, automated test design and optimization, and business automation among others.
When discussing its legacy and future directions, Reddy emphasized how CA's portfolio has evolved from its on-premise roots to a SaaS first philosophy, leveraging data along the way.
"Our goal, announced to our investors, is to make at least 50 percent of our offering subscription-based. We have products that are top in their class, like Blazemeter for testing and Veracode for security, that are SaaS. We also have a mainframe as a service product with IBM
All our products are going SaaS by the end of the year, on AWS, Azure, and IBM cloud, even though we will retain on-premise versions for companies that want this. We provide the same offering across clouds and on the data center.
We have been leveraging data, putting telemetry in our applications. That data is used to train the software and make it better for testing and development."
That is an interesting approach, and it's worth keeping an eye on how it will play out for CA and its clients, if nothing else for the sheer size of CA's footprint. We have to note though, that we have seen at least parts of this approach elsewhere, too.
Having data driven IT-operations, using analytics to connect Devs and Ops, and analyzing code and tuning clusters in production, for example, are all things we've seen, and covered, before. And just yesterday, Splunk announced a related acquisition of its own, apparently looking to move into the DevOps automation domain as well.
The multi-billion dollar question of course is: How comprehensive is each approach -- and whether all the bits and pieces really work seamlessly? If CA has managed to integrate the approaches it brought onboard through its acquisitions, this could amount to something quite comprehensive. In any case, automating DevOps seems like something many organizations are putting their hopes and money on.
- Yes, DevOps is all about business growth
- DevOps success is about culture, culture culture
- DevOps, machine learning dominate technology opportunities
- 5 reasons DevOps will be a big deal in the year ahead
- DevOps: The smart person's guide (TechRepublic)
- 10 steps to DevOps success in the enterprise (TechRepublic)