Current State and Trends in DevOps for 2022
March 25, 2022 / Katarina RudelaDevOps has firmly established itself as an indispensable methodology in modern software development. Its benefits include better quality, faster delivery and improved customer satisfaction. While the adoption of DevOps as the standard development methodology was already well underway in 2020, the COVID-19 pandemic further accelerated this process due to the routine separation of team members by geography. DevOps’ ability to streamline remote collaboration also facilitates agile practices and flexible infrastructure. Most enterprises have already implemented DevOps to some extent, as it continues to evolve rapidly. Upcoming trends in DevOps include new practices and technologies that make it an exciting part of software development for 2022.
Overview
DevOps is a set of culture, practices and tools that combines software development and IT operations, primarily for the purpose of reducing the software development life cycle while improving its quality. It complements the Agile methodology, as several aspects of DevOps derive from Agile. Practitioners haven’t developed a standard definition of DevOps beyond it being a combination of development and operations, although this concept is generally characterized by the key principles of rapid feedback, shared ownership and workflow automation. However, researchers from the Commonwealth Scientific and Industrial Research Organization (CSIRO) in Australia have proposed defining DevOps as "a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality."
History
The origins of DevOps date to 1993, when the Telecommunications Information Networking Architecture Consortium (TINA-C) defined a service lifecycle that combined software development with telecom service operations. Agile practitioner Patrick Debois hosted the first conference specifically about DevOps in Belgium during 2009, and Alanna Brown at Puppet published the first State of DevOps report in 2012. The book More Agile Testing, written by Lisa Crispin and Janet Gregory in 2016, contains a chapter specifically on DevOps. The Discover, Offer, Request, Acknowledge (DORA) metrics for throughput and stability were first published in the 2016 State of DevOps report.
Current State
DevOps has been a well-known methodology for the past decade, although it has only begun to enter mainstream use during the past few years. Aspects of the current state of DevOps include income, functions, deployment and tools.
Income
Almost half of all DevOps practitioners have at least 16 years of experience, according to Accelerate’s State of DevOps Report. 37.9 percent of the respondents in the Kobiton-Infostretch Test Automation 2020 Survey had annual revenues between of $10 million and $100 million. The 2020 PractiTest State of Testing Report shows that the average annual salary of practitioners in North America with at least 10 years of experience is over $100,000, according to the following chart:
Fig. 1: DevOps Income by Country and Experience
The difference between DevOps salaries in North America and the rest of the world is most apparent for beginning practitioners. Also note that Africa and the former Soviet state don’t have enough practitioners with more than 10 years of experience to draw any conclusions about their income.
Functions
Testers in the DevOps model typically spend most of their time performing Quality Assurance (QA), but they also manage test data and testing environments, write documentation and analyze test results. Almost 59 percent of DevOps testers aren’t concerned about job security, according to the 2020 SauceLabs Continuous Testing Benchmark Report. However, testers do tend to feel excluded from DevOps and want to play a larger role in this process, primarily by introducing test plans at the design stage. The pandemic has also affected testing, largely due to the increase in remote teams. The following chart from the Kobiton-Infostretch survey shows that 44 percent of respondents believe that embracing a remote culture should be the first priority of investment in a distributed team environment:
Fig. 2: DevOps Priorities
Additional investment priorities in the survey include tools to enable remote testing teams and strategies for maintaining the efficiency of remote testing.
Deployment
The 2020 Mabl Landscape Survey reports that 23 percent of surveyed DevOps teams deploy updates weekly, with 21 percent doing so monthly. Another 17 percent ship quarterly, and 14 percent ship every two weeks. The Kobiton-Infostretch survey shows that deployments are significantly more frequent for mobile apps. The chart below shows that 34.8 percent of surveyed mobile teams release weekly and another 33.9 percent release monthly:
Fig. 3: DevOps Deployment Frequency
The chart above shows the weekly or monthly deployments usually strike the right balance between keeping software current without inconveniencing customers, whether it’s for updates or bug fixes. The current trend in DevOps is towards more frequent release cycles, with daily releases becoming more common during 2022.
Tools
The PractiTest State of Testing Report provides details on the most popular DevOps tools. Selenium WebDriver is one of the most common tools that DevOps teams use for testing, despite its maintenance challenges. Top continuous integration (CI) tools include CircleC1, GitLab and Jenkins. Teams routinely track bugs, with Jira, Bugzilla and Redmine being the most popular choices. Surprisingly, 47 percent of DevOps teams don’t use any dedicated tools for tracking bugs, although they do use general tools like Excel, Word and email.
The following chart from the Kobiton-Infostretch survey shows that over a fourth of respondents consider finding the right tools to be the biggest barrier to test automation:
Fig. 4: Pain Points for Test Automation
Note that budget is comparatively unimportant for automating testing, with only scaling device coverage having a lower priority.
Trends
Dominant trends in DevOps for 2022 include the following:
Microservice architecture
GitLab
DevSecOps
Hybrid Cloud
Serverless Computing
Infrastructure Automation
Continuous Configuration Automation
Infrastructure as Code
Kubernetes
Artificial Intelligence and Machine Learning
Microservice architectures
A microservice architecture is a type of service-oriented architecture (SOA) that arranges applications into sets of loosely-coupled services. The services are fine-grained with lightweight protocols, allowing teams to develop them independently of the others. Loose coupling reduces dependencies, so developers don’t need to care as much about the users. As a result, microservices allow organizations to scale their operations quickly and use commercial off-the-shelf (COTS) software more easily. However, maintaining the decoupling also requires developers to treat the interfaces as public APIs, which increases the development time. Common techniques for meeting this requirement include implementing multiple interfaces for the same service or implementing multiple versions of the same service to avoid breaking existing code.
Allied Market Research predicts that the global microservices market will be worth over $8 billion by 2026. Microservice architecture as a design methodology for DevOps is growing in popularity because it provides the flexibility and scalability it requires. Furthermore, microservices can easily be matched to monolithic applications during implementation. In 2022, developers will be more likely to use microservices as a means of introducing small changes to software more efficiently.
The increasing need to implement software changes more quickly has increased the value of microservices for minor features and functionality. In addition, the rising use of DevOps consulting also supports this design approach. The scalability that microservices provide is also a driving factor for its increased use in 2022.
GitLab
GitLab is a DevOps application that allows users to develop, operate and secure software. It’s open source and was developed by Dmitriy Zaporozhets and Sytse Sijbrandij. GitLab has about 30 million registered users, of which 1 million have active licenses.
The ultimate goal of GitLab is to reduce development time, so team members are always able to change an application while providing a safe, secure environment for doing so. For example, it helps ensure that complex applications running under Kubernetes don’t face problems due to its vulnerabilities. Developers also like GitLab’s ability to perform multiple functions, allowing it to build both infrastructure and applications. For example, developers often use GitLab to implement automated CI/CD pipelines. GitLab also compares the versions of an application that’s under source control with its production version and alerts developers whenever there’s a divergence between them.
GitLab is quickly becoming a standard tool for performing continuous delivery (CD). This is largely due to the familiarity many developers already have with it, since GitLab has always focused on remote work. GitLab is especially useful for building cloud-native applications because new technologies are regularly added to it.
DevSecOps
DevSecOps is an augmentation of DevOps that allows teams to integrate security practices. They can thus factor security controls into their delivery, unlike tradition approaches to delivery that use a centralized security model. DevSecOps also tests security earlier in the development lifecycle, including static, dynamic and software composition testing.
DevSecOps is currently a developing trend in DevOps since it helps a system meet its security and auditing requirements. While it isn’t an entirely new concept, DevSecOps is receiving greater attention due to DevOps increasing emphasis on security. Recent high-profile data breaches of major systems clearly demonstrate that an agile network is the key to identifying vulnerabilities and incorporating the new technologies needed to remediate them. Furthermore, DevSecOps can cut costs by reducing deployment time. Verified Market Research reports that the global DevSecOps market was worth $2.18 billion in 2019 and will reach $17.16 billion by 2027, which is a compound annual growth rate (CAGR) of 30.76 percent.
Hybrid Clouds
A hybrid cloud is a combination of public and private clouds from different service providers, typically with the private cloud based on the user’s premises. The two cloud platforms remain distinct entities while offering the benefits of a multiple deployment model. Hybrid clouds may also be able to connect collocation and managed services with cloud resources. Hybrid clouds can’t be categorized as either type of cloud because they cross isolation and provider boundaries. Furthermore, they extend the capability or capacity of a cloud service, whether it’s through aggregation, customization or integration with another service.
Industries embraced hybrid clouds for multiple uses cases in 2021, especially their ability to effectively combine remote work with on-site collaboration between team members. Business models are also starting to adopt hybrid clouds as a means of conducting conferences, since they can merge virtualized capabilities with local networks. In addition, hybrid clouds are becoming the standard approach to deployment as organizations modernize their technology stacks to use cloud-native technologies.
Serverless Computing
Serverless computing is a cloud-computing model in which the provider allocates computing resources on demand and manages the customer's servers. The term "serverless" is a misnomer in this context because the provider still uses servers to execute code. However, the users of serverless applications don't perform any functions related to servers, including planning, configuration, management or maintenance. Furthermore, they don't have to worry about tasks like fault tolerance or container scaling. Serverless computing bases its pricing on the amount of resources the application consumes, making it a form of utility computing.
Serverless computing is a top trend in DevOps, as it’s a logical extension to deployment as organizations modernize their technology stacks to support cloud computing. The serverless architecture is proving to be an effective means of reducing the cost of building infrastructure. It also improves the efficiency of team members, since they no longer have to worry about maintenance issues. This trend will accelerate when the next generation of microservices become widely available.
Infrastructure Automation
Infrastructure Automation (IA) tools seek to limit the human interaction needed to manage the components of IT infrastructure. They use various technologies to perform installation, configuration and maintenance, including the deployment of hardware, software, operating systems, networks and data. IA increases the efficiency of IT operations by reducing the risk of human error.
DevOps teams are highly motivated to find the IA tools that can best automate their infrastructure management, especially when that infrastructure includes hybrid and multi-cloud platforms. Additional tasks in which IA is particularly beneficial include the design of on-premises delivery services and provisioning of resources. DevOps teams also use IA to plan and execute self-service platforms.
Most organizations today are seriously considering the implementation of automated delivery services in both on-premises and Infrastructure-as-a-Service (IaaS) environments if they haven’t already done so. The potential for providing their infrastructures with customer-focused agility is too great an advantage to ignore. Driving robust improvements in infrastructure is also a strong incentive to adopt IA in 2022.
Continuous Configuration Automation
Continuous configuration automation (CCA) is a methodology for automating the deployment and configuration of software, including both physical and virtual equipment. It embodies the concepts of agility and collaboration that are central to DevOps. CCA also addresses the challenges of managing infrastructure and application configuration with new levels of efficiency, flexibility and precision. Concepts like Application Release Automation (ARA) and IT Operations Analytics (ITOA) are closely related to CCA.
CCA tools are primarily used to manage data centers and applications. They use coding, planning and the incremental adoption of policies to develop a programmable framework that configures and orchestrates software, and are often included in DevOps tool chains. These tools grew out of the ongoing need to develop reliable software more quickly, especially in the delivery and management of configuration changes as code. An additional benefit of CCA is the ability to expand infrastructure components like containers, networks and security.
Infrastructure as Code
Infrastructure as code (IaC) is the use of machine-readable definition files to manage data centers, as opposed to more traditional approaches such as configuring physical hardware. This process can manage both physical and virtual machines, in addition to their associated resources. IaC can use both declarative definitions and scripts to automate these functions, although the declarative approach is more common.
DevOps has included IaC as one of its core tenets for maintaining cloud-based infrastructure, especially service networks and storage devices. IaC’s use will increase significantly in 2022 due to IaC’s ability to automate and simplify infrastructure management. DevOps teams also benefit from IaC’s ability to implement a version control system for infrastructure, ensuring they can easily roll back to the previous version. As a result, IaC will see greater use in reducing the downtime needed for disaster recovery (DR).
Kubernetes
Kubernetes, also known as K8s, is an open-source system for orchestrating containers, including deployment automation, management and scaling. Google originally designed Kubernetes, but the Cloud Native Computing Foundation currently maintains the project. Kubernetes defines a set of building blocks known as primitives that deploy, maintain and scale applications based on predefined metrics. It’s also extensible and loosely-coupled to serve a variety of workloads.
Kubernetes adoption should spread rapidly in 2022 due to its benefits for DevOps. Kubernetes allows developers to easily share applications associated with operations in real time, which helps eliminate bugs in the infrastructure. It also promotes collaboration between team members, often resulting in dramatic efficiency increases. In addition, Kubernetes also facilitates the building, testing and deployment of pipelines in DevOps.
Artificial Intelligence and Machine Learning
Artificial intelligence (AI) and machine learning (ML) are similar concepts that increase the automation of a particular task. DevOps teams often use AI and ML to facilitate workflows and optimize their operating environment. AI and ML also helps ensure data is seamlessly accessible to team members. These technologies are especially common for managing big data and obtaining useful insights from it. Gartner reports 40 percent of DevOps teams will use AI to monitor applications and infrastructure by 2023.
Summary
The increasing use of DevOps is an overarching trend in IT that will continue to shape the entire industry. The implementation of this methodology generally makes IT development and maintenance more efficient by increasing the collaboration between these two historically separate functions. DevOps professionals will need greater experience to support the next generation of DevOps services that will further bridge the gap between development and operations. These solutions will also further drive business growth in 2022.
About Baytech
Baytech is passionate about the technology we use to build custom business applications, especially enterprise solutions that optimize business processes. We’ve been delivering software solutions in a variety of technologies since 1997. Our success is due to the skill and efficiency of our senior staff, which includes software engineers, project managers, and DevOps experts. All of our engineers are onshore, salaried staff members.
We focus on the quality, usability, and scalability of our software and don’t believe in mitigating cost at the risk of quality. We manage project costs by implementing an efficient development process that’s completely transparent and uses the latest standards and practices to build software right the first time. Contact us today to learn more about how we can help your business. Find us online at https://www.baytechconsulting.com/contact.