Why you need to be thinking about the DevOps-AI mix
DevOps – a process that combines software development and IT operations – is poised to become a greater catalyst for speed in the field of systems development, with automation and tighter collaboration between development and operations’ teams making it easier to put new code into production and align it with business objectives.
DevOps, believes coder, author, and product development expert Jez Humble, means that the world will continue to move away from that ten-year-old solution everyone’s afraid to touch to evergreen applications that are updated multiple times a day. While there are certain growth roadblocks with DevOps that prevent low performers from advancing, Humble, the CTO and co-founder of DevOps Research and Assessment (DORA), believes that a business future with DevOps and AI is faster, more secure, and more resilient.
DevOps: The new normal for business
According to a new report issued by O’Reilly Media, the global median pay for DevOps professionals is now US$90,000 a year. That trend is echoed in the 2018 State of DevOps Report released by DORA, which shows that the use of DevOps is increasing and improving software delivery performance across every industry that was surveyed. The report benchmarks high-, medium- and low-performing DevOps teams, and the results are clear: DevOps is the new normal for organizations to rapidly deliver high-quality software consistently and at an industrial scale.
The upside to investing in DevOps capabilities is astounding. By implementing its principles, teams can deploy code 46 times more often and make changes to code 2,500 times faster. In terms of stability, the change failure rates of DevOps are seven times lower, while incident recovery is 2,600 times faster.
This isn’t news to Humble, who’s been a promoter of open collaboration and DevOps for years. “People are expecting models to pull in the latest data and be able to respond even more quickly,” he says. “You can’t have old models – old data isn’t useful. You have to collect and use the data quickly. This will become more important as the industry evolves into the era of AI.”
Challenges and payoffs
Despite the upside, integrating DevOps isn’t always smooth sailing, because it requires some tough choices. “For the last five years we’ve been studying the factors that predict high performance in software delivery and their impact on business,” says Humble. “We know that software delivery impacts business performance, and we know the capabilities that impact software delivery. Knowing these factors makes it possible to improve enterprise capabilities.”
However, every organization is different and has different constraints. Given this, what does Humble believe to be the first step? “Teams must feel some sense of urgency in addressing the problem. They must dedicate resources, capacity, and effort to continuously implement improvement work.”
Once DevOps is embraced and established, continuous testing and continuous release enables teams to consistently provide up-to-date and reliable software to customers. And that’s good for business.
Full-stack and open collaboration
Telecommunications is traditionally an industry with very long design and manufacturing cycle times. Then there’s the network itself. And you’re also delivering software to resellers and end users. Huawei’s approach to DevOps has broken free from the traditional approach, opting for openness and agility.
Huawei brings together people from all different parts of the industry, touching every different vertical, a fact that’s not lost on Humble, “Huawei is going all the way from hardware, basic parts of the stack, the network infrastructure, right through to developer tools and engineering, covering the whole value stream, which I think is really impressive.” Huawei’s DevOps solution is end-to-end across the stack, open, and very collaborative.
Huawei’s approach to DevOps is based on Huawei Cloud, which fully aligns with DevOps. Humble believes that development teams will have to learn how to create and manage production-ready systems and how to continuously deliver functionality, which he adds, “Requires excellent automated testing at all levels, and the application of patterns such as branch-by-abstraction, feature flags, and a production immune system.”
Fostering new capabilities and measuring performance
To successfully implement DevOps in the era of AI, organizations need to embrace new ways of thinking and working. Some software developers may think that going faster means more risk, but that’s not the case if it’s done properly. High performers do well in throughput, stability, and availability. How? Through careful measurement, automation, and analytics. The elite performers deploy multiple times per day, get changes into production, and restore interrupted services in less than an hour.
They’re seeing low-change fail rates – in other words, they’re doing exceptionally well in terms of both speed and stability. “You’ve got to train models,” explains Humble. “You’ve got to pull data in for model validation, making sure that instead of just scripts on people’s computers, you’ve got more industrialized reliable solutions.”
That means upskilling workers, measuring performance, and changing mindsets. Tracking software delivery performance is critical to ensuring that DevOps delivers full value to an organization.
Four metrics for managing DevOps teams
- Lead time for changes from check-in to final release.
- Deploy frequency of changes in production (throughput).
- Time to restore services if a fault occurs.
- Change fail rate after a change is deployed in production.
Tracking these metrics gives visibility into the performance of the DevOps process and forms the basis of wide-scale adoption. The right blend of metrics gives organizations the visibility to understand what’s working with tools and processes now and what needs to be realigned or rethought entirely. It’s not enough just to implement DevOps; you have to learn the impact of its implementation based on data.
Automation and AI in the DevOps universe
AI is changing the face of business for DevOps, with investment increasing in AI infrastructure such as toolchains and platforms. For developers, there’s a growing focus on training and validation models, data pipelines, deployment on the cloud and edge, and instrumentation. Demand is also growing for the comprehensive management of data and configurations.
“Lead times are a big problem,” says Humble. “If you’re training models, getting feedback, and getting those models trained and validated, it can take a really long time.” He believes the focus moving forward will be on boosting reliability and slashing lead times. “It’s all about really good configuration management, really good automation, and really good control on end-to-end solutions,” he says. Automating testing and deployment can predict the ability of continuous delivery, which in turn positively impacts software delivery performance and organizational culture.
However, it’s important for people to simplify as they go. Taking complex, fragile manual processes and automating them just creates complex, fragile automated processes.
DevOps in traditional software development has been about industrializing the process of getting changes into production, and making it reliable. Today, the tooling around AI and DevOps is still underway, with Huawei Cloud for AI laying the foundations for better industrialization of the process from change to implementation. “Right now, what we’re seeing on the ground is stuff just hacked together. Developers pull things together from all different sources. It’s difficult to replicate that and it’s difficult to industrialize it. What Huawei is doing will change that, regularize it, and help industrialize the process,” says Humble.
Automation is uniquely positioned to assist IT operations in particular. Automation and AI provide the speed and stability that ensure high-quality IT operations to manage configuration consistency and release.
Tools with advanced AI-powered analytics are now available that can better predict and address issues in IT ops. For example, monitoring tools will tell you when an app’s performance is not up to par. But the real value comes from embedded analytics, which gives an insight into why. These learnings can be fed back to development and test teams to get the issue addressed even faster.
An intelligent future
Since it was first coined in 2009 by Patrick Debois, DevOps has been in a constant state of iterative flux. From basic systems, to amplifying feedback loops, to building a culture of continual experimentation and learning, DevOps is truly the new norm, with AI giving the movement even broader influence and momentum.
There couldn’t be a better combination of capabilities than DevOps and AI. As we enter the era of AI, the focus in all industries is turning to delivering end-to-end solutions smarter, faster, and more efficiently than ever before. “DevOps is all about helping companies get faster in terms of their ability to deliver end-to-end solutions more quickly and more reliably,” says Humble.
As DevOps continues to shorten the systems development lifecycle, further breakthroughs can be expected in automation and event monitoring across all steps of the software build. That’s the power of openness and collaboration, as developers work to build more secure and more resilient systems at scale. And that’s smart done the DevOps way.