It’s been ten solid years of DevOps adoption in the IT world. So now it’s high time to take a close look at this software development methodology once again to draw some conclusions and plan for the year ahead.
2018 was the year when 7% more companies claimed they fully embraced DevOps as their primary software delivery approach. Looking at the graph below, it’s not difficult to see how 72% of all the surveyed companies are engaged into DevOps at least to some extent.
That scale of adoption is impressive, as in just under ten years DevOps has progressed from a novel Agile-based methodology to the primary approach to enterprise software delivery.
Rapidly changing markets and development needs that demanded enterprises to be efficient and agile were the challenges that brought DevOps to life back in 2009. The new approach was to make software products respond to fluctuating market demands, user expectations, and evolving business requirements. In order to achieve that, the traditionally conservative area of IT operations was to work cohesively with development teams for greater synergy. This marked a paradigm shift, whose ruptures we can feel till this day.
Now, let’s refresh the DevOps essentials to follow its journey and see what the future holds for it.
DevOps is a term clipped from two words—“development” and “operations.” This is the practice that puts extra emphasis on communication and collaboration between developers and IT operations to achieve faster releases of reliable, carefully implemented software products with the help of automation.
This can be illustrated with the concept of DevOps toolchain that connects all the dots across development and operations stage by stage during a software development life cycle:
The prerequisite for DevOps to appear in the first place was the functional silos between those developing and deploying software, and those looking into its operability and service after the release. The silos naturally resulted in cooperation gaps and lagging progress that hindered fail-free implementations.
The historical reasons for such gaps between developers and IT operations are manifold and can be distilled down to the following:
Attitude to change. There is a difference in how developers and IT operations approach change. Developers welcome change as they know the business needs it to respond to the constantly shifting market demands. On the contrary, IT operations try to avoid change and resist it because of the potential downtime such changes typically incur.
Different tools and language. Development and operations use different tools in their day-to-day work. And even when they use the same tools and sets, they are still likely to use them differently. This results in operational discrepancies and also misunderstanding at the level of working vocabulary.
Approach to implementation. Both parties understand software implementation in their unique ways. Bugs and errors may appear when IT operations and developers start implementing software in their respective environments, often incompatible, and change file locations, configurations, or other critical aspects.
Communication latency. Communication is not continuous—it happens with a constant lag. When bugs and errors pile up, what was planned as a simple implementation can turn into a chaotic training process between the teams. Why? Because hidden problems that have been developing for a long time need to be fixed on the spot.
Geographical distance. Development and operations are often separated geographically. They can be not only in different rooms and departments but also in different countries when we talk large enterprises or outsourcing models.
DevOps aims to solve these bottlenecks. It does so by bringing teams together to embrace change, adopt a unified approach to using tools, and implement together. It also helps to make all the involved parties communicate throughout the entire development cycle, not only when issues arise during the implementation or rollout. That way everyone is finally forced to face each other’s needs and points of view for a better result.
Even though bridging these gaps between development and operations is the main goal of DevOps projects, they also aim to achieve and guarantee maximum synergy, integration, and synchronization of workflows between all functional IT project departments, including QA engineers, security specialists, and even clients.
In a sense, it’s all about bringing everyone together for a dialogue—something that was learned the hard way out of years of playing Chinese whispers between different departments. Losing important aspects in translation would result in products that were brilliantly developed but could not be correctly implemented. In turn, this would lead to clients’ and users’ dissatisfaction, failed projects, extended deadlines, and stretched budgets.
At the foundation of DevOps, there is the idea of addressing key pain points in the development-operations system, enabling enterprises to innovate, change, and scale more effectively and with fewer risks.
This complex task can only be solved when DevOps engineers work to eliminate the difference in priorities and processes of different stakeholders involved. It requires making them as equal as possible in order to achieve maximum flexibility and align development with business needs.
There are other important DevOps goals, though:
On top of that, DevOps also aims to maximize predictability, efficiency, security, and maintainability of operational processes.
When achieved, these goals can support the four main principles at the core of this project management philosophy. All of them deal with continuity and allow for uninterrupted software delivery:
These staples of continuity are complemented with the focus on collaboration. In DevOps projects, each of the stages listed above goes together with collaborative development, feedback, and optimization.
To achieve its primary goals, DevOps uses automation. Standardizing development environments is also important. Better workflows can be built by more efficient tracking, keeping the documented process control, and resolving granular reporting issues. In return, this gives developers more control over their deployment environment while making the infrastructure more application-centric.
As practice shows, developers benefit from DevOps a lot: it saves them time, helps them guarantee software quality, and improves the reliability of both the infrastructure and the solutions. On the whole, this raises productivity and efficiency at enterprises, especially at those that run multiple on-demand deployments.
With DevOps in place, project stakeholders can watch the real-time evolution of the product or service, track its implementation and maintenance status, and evaluate its quality better. When it comes to project management, it becomes possible to clear up any misunderstanding between the teams when it appears. This way, teams can catch problems early and fix them before they spread like a virus across the entire organization and disrupt the workflow.
When it comes to defining the types of businesses that benefit from DevOps most, the standard answer would be enterprises in need of highly frequent releases. Why? Because DevOps facilitates continuous deployment and continuous delivery, especially in conjunction with the lean startup methodology.
Startups can benefit from DevOps as well, since it will most probably bring their costs down and speed up delivery, resulting in a quality product that lets them hit the market fast and keep up the competitive pace continuously.
However, almost any business can benefit from adopting the DevOps orientation and philosophy. If we are talking about complex projects, the more components you have to integrate and the more multi-model the system is, the more useful DevOps will become. For other projects, DevOps engineers can pitch in with just the right level of attention to detail to balance the focus between developing and delivering software to the stakeholders and end users.
Clearly, DevOps has much to offer to businesses. Now, let’s turn to a less conceptual and more technical side of things to see how exactly DevOps is going to keep up its good work next year.
With its tangible business value and project universality, DevOps has positioned itself firmly as a methodology of choice for enterprise-grade continuous deployments.
With ten years of its history behind us, now is the time to peek into the future and outline a few vivid DevOps trends coming in 2019.
We are likely to see the increased focus on automation everywhere, especially when it comes to continuous testing and continuous delivery, according to the research by DevOps Research & Assessment in cooperation with Google Cloud.
The same research shows that minimum manual work is crucial for software delivery performance. Elite performers, defined in the paper as an outstanding group of tech professionals performing multiple deploys a day at 0–15% change failure rates, automate up to 95% of their IT operations. This can serve as a guideline for those striving to get to higher levels of efficiency through DevOps optimization.
Medians reported because distributions are not normal
ᵃ ᵇ Not significantly different when testing for differences using Tukey’s post hoc analysis
At the more futuristic end of this prediction is AIOps—the term coined to describe AI applied in traditional DevOps tasks. Introduction of AI and machine learning can cut manual efforts to the minimum while helping across such disciplines as anomaly detection, root cause analysis, and intelligent monitoring. Additionally, AI tools for DevOps can run a predictive analysis for smart infrastructure management and help eliminate bottlenecks before they happen.
For low-latency elastic infrastructures capable of sustaining the up‑and‑down scalability, the cloud comes as the first solution. In 2019, it’s going to play even a bigger role in near-instant production environment setups. Microservices and containerization, now growing ever more popular in enterprise deployments, will only extend this general trend of marrying cloud and DevOps.
One notable example comes from Capital One, a $28-billion-revenue bank that adopted the DevOps culture. They were able to cut the time necessary for building application infrastructures by almost 100%—all thanks to combining DevOps and cloud computing.
Using Amazon Web Services as their cloud platform, the bank’s DevOps engineers can now speed up delivery of new banking and financial products, which ultimately brings its benefits in terms of customer experience. The company also admits that their cloud-first approach together with DevOps creates a collaborative environment between engineers, designers, and developers who now feel more ownership of the products and their uptime.
DevOps has matured enough to require dedicated resources. While previously such tasks were shared between developers themselves, now the sheer scale and frequency of deployments call for specialized experts. Otherwise, it becomes nearly impossible to capitalize on DevOps projects fully.
DevOps-as-a-service came up in response to this, and it is now driving the DevOps market growth, which is predicted to hit $10.31 billion by 2023 at a CAGR of 24.7%. Companies turning to specialized DevOps vendors are looking to relieve their teams of the workload, especially when it comes to grand enterprise projects. This way, businesses can delegate deployment automation, support, and optimization, as well as release management, completely to DevOps-as-a-service providers. At the same time, this approach ensures that only the latest best practices, technologies, and tools are applied.
By now, DevOps has successfully overcome initial adoption barriers, earning more and more adopters among enterprises and startups alike. It’s not surprising—this software delivery methodology helps businesses achieve their goals in record times and with minimized risks.
How? DevOps makes the traditional lack of collaboration between development, operations, and QA a thing of the past. It ensures that the principle of continuity is observed throughout all the aspects and stages of development. It also contributes to digital transformation with faster product releases that effectively incorporate real-time user feedback.
All these benefits will only be propelled further in 2019, yet at a completely different scale. Thanks to the innovations in the fields of automation, AI, and cloud computing, DevOps is poised to win an even larger share of its followers, not in the least because this growth is driven by dedicated DevOps-as-a-service models. Let’s watch this exciting progress together.