DevOps—the amalgamation of development (Dev) and operations (Ops) teams—is an organizational approach that enables faster development of applications and easier maintenance of existing deployments. By enabling organizations to create stronger bonds between Dev, Ops and other stakeholders in the company, DevOps promotes shorter, more controllable iterations through the adoption of best practices, automation and new tools. DevOps is not a technology per se, but it covers everything from the organisation to culture, processes and tooling. Initial steps usually include Continuous integration and continuous delivery (CI/CD), real-time monitoring, incident response systems and collaboration platforms.
DevOps adoption is growing rapidly. IDC forecasts the worldwide DevOps software market to reach $6.6 billion in 2022, up from $2.9 billion in 2017. The forces driving DevOps adoption include enterprise investments in software-driven innovation, adoption of microservices-based architectures and associated development methodologies, and increased investment by CTOs and CEOs in collaborative and automated application development and operational processes, says IDC analyst Stephen Elliot.
The late DevOps authority Robert Stroud said DevOps is all about "fueling business transformation" that encompasses people, process and culture change. The most effective strategies for DevOps transformation focus on structural improvements that build community. A successful DevOps initiative requires a culture—or mindset—change that brings greater collaboration between multiple teams—product, engineering, security, IT, operations and so on—as well as automation to better achieve business goals.
What kind of tangible benefits can DevOps bring? By managing engineering processes end to end, DevOps emphasizes deploying software more often, in a reliable and secure way through automation.
Optimizes the Entire Business
System architect Patrick Debois, best known as the creator of the DevOps movement, says the biggest advantage of DevOps is the insight it provides. It forces organizations to "optimize for the whole system," not just IT siloes, to improve the business as a whole. In other words, be more adaptive and data-driven for alignment with customer and business needs.
Improves Speed and Stability of Software Development and Deployment
A multi-year analysis in the annual Accelerate State of DevOps Report has found that top-performing DevOps organizations do far better on software development/deployment speed and stability, and also achieve the key operational requirement of ensuring that their product or service is available to end users. But given the somewhat fuzzy definition of DevOps, how can an organization determine if its DevOps initiative is paying off? The 2019 Accelerate report also names five performance metrics—lead time (i.e., the time it takes to go from code committed to code successfully running in production), deployment frequency, change fail, time to restore and availability—that deliver a high-level view of software delivery and performance, and predict the likelihood of DevOps success.
Gets You to Focus on What Matters Most: People
People, not tools, are the most important component of a DevOps initiative. Key roleplayers (i.e., humans) can greatly increase your odds of success, such as a DevOps evangelist, a persuasive leader who can explain the business benefits brought by the greater agility of DevOps practices and eradicate misconceptions and fears. And since automated systems are crucial to DevOps success, an automation specialist can develop strategies for continuous integration and deployment, ensuring that production and pre-production systems are fully software-defined, flexible, adaptable and highly available.
There are many challenges in a DevOps initiative. Your organization must reimagine its structure to improve the way things get done. Companies often underestimate the amount of work required in a DevOps transformation, though. According to a recent Gartner study, 75% of DevOps initiatives through 2020 will fail to meet their goals due to issues around organizational learning and change.
“Organizational learning and change are key to allowing DevOps to flourish. In other words, people-related factors tend to be the greatest challenges — not technology, ” says Gartner senior analyst George Spafford.
Choosing the Right Metrics is Hard
Enterprises transitioning to DevOps practices need to use metrics to recognize progress, document success, and uncover areas that need improvement, Forrester notes. For example, an acceleration in deployment velocity without a corresponding improvement in quality is not a success. An effective DevOps effort needs metrics that drive smart automation decisions—and yet organizations often struggle with DevOps metrics.
So where to start? Find metrics that align with velocity and throughput success.
DevOps initiatives face other obstacles as well. Given the significant organizational and IT changes involved—with previously siloed teams joining forces, changing job roles, and encountering other transitions— adjustments will take time. According to a survey of IT executives from software company Pensa, the top challenges to DevOps success are:
Limited budgets (cited by 19.7% of respondents)
Legacy systems (17.2%)
Application complexity (12.8%)
Difficulty managing multiple environments (11.3%)
Company culture (9.4%)
DevOps efforts can be mired in complexity. IT leaders may have difficulty articulating the business value of their work to key executives. In terms of governance, will centralization and standardization lead to better results, or just more layers of innovation-killing bureaucracy? And then there's organizational change: Can your teams overcome resistance to change and inertia, unlearning many years of doing things a certain way, share their practices and learn from others, and integrate and orchestrate the right tools?
Unrealistic Goals, Bad Metrics Can Wreck DevOps
DevOps efforts can fail for many reasons, such as setting unrealistic expectations, tracking metrics that don't align with business goals, or implementing a half-baked DevOps effort that embraces agile methodologies while keeping IT ops and engineering/development teams in traditional silos.
The future of DevOps will likely bring changes in tooling and organizational strategies, but its core mission will remain the same
Automation Will Play a Major Role
Automation will continue to play a major role in DevOps transformation, and artificial intelligence for IT operations—AIOps—will help organizations achieve their DevOps goals. The core elements of AIOps—machine learning, performance baselining, anomaly detection, automated root cause analysis (RCA) and predictive insights—work together to accelerate routine operational tasks. This emerging technology, which can transform how IT operations teams manage alerts and resolve issues, will be a crucial component of the future of DevOps.
AIOps Will Make Service Uptime Easier to Achieve
In addition to using data science and computational techniques to automate mundane tasks, AIOps also ingests metrics and uses inference models to pull actionable insights from data, notes data science architect Jiayi Hoffman. AIOps' automation capabilities can make service uptime much easier to achieve, from monitoring to alerting to remediation. And AIOps is a boon for DevOps teams, who can use AIOps tools for real-time analysis of event streams, proactive detection to reduce downtime, improved collaboration, faster deployments, and more.
Will Sharpen Focus on Cloud Optimization
The future of DevOps will also bring a greater focus on optimizing the use of cloud technologies. The centralized nature of the cloud provides DevOps automation with a standard platform for testing, deployment, and production notes Deloitte Consulting analyst David Linthicum.
And regardless of what advanced technologies the future brings, organizations will need to realize that DevOps is all about the journey and that the organization's DevOps-related goals and expectations will evolve over time.