Article by Dynatrace vice president of A/NZ Hope Powers.
The use of DevSecOps practices is growing, as it is increasingly seen as the best way to produce high-quality and secure code. More than one-third (36%) of respondents to GitLab’s 2021 Global DevSecOps Survey reported developing software using DevSecOps, up from 27% in 2020.
This growth is driven by organisations realising that application quality and security are essential to their ability to streamline continuous integration and delivery (CI/CD) and accelerate innovation. They need to balance pressure to develop software rapidly with the need to ensure it remains secure and is optimised for today’s cloud environments. This can be quite a challenge.
GitLab’s Fifth Annual Global DevSecOps Survey (2020) found 60% of developers are releasing code twice as fast by using DevOps. However, speed often comes at the expense of security. A survey of CISO leaders last year found that 71% of CISOs admit they are not fully confident code is free of vulnerabilities before going live in production.
To enable software to be developed rapidly and securely, DevSecOps teams need to automate all stages of the lifecycle. They need shared solutions and platforms that converge observability—the ability to measure a system’s current state based on the data it generates, such as logs, metrics and traces—with security, so they can spot security gaps
and identify poor quality code and other software development issues.
In a survey of 250 enterprises in the US and UK with more USD $1 billion in revenue, 96% of respondents expected to benefit by automating their compliance and security processes, a fundamental goal of DevSecOps.
As DevSecOps continues to gather momentum, here are some key trends.
1. Infrastructure as code (IaC) uptake is rising
Infrastructure-as-Code (IaC), aka software-defined infrastructure, is the management of hardware using code. It enables IT hardware resources to be configured, managed, monitored and provisioned using software rather than manual processes.
According to Gartner, 60% of organisations will be using infrastructure automation tools as part of their DevOps strategy by 2023, improving application deployment efficiency by 25%. In addition, defining infrastructure as code enables greater automation throughout the delivery pipeline, making it easier to replicate the testing and deployment process for new code. This is essential for accelerated DevSecOps adoption.
The same code can be used every time a particular infrastructure configuration is needed, so the benefits in time and effort saved are greatly increased. IaC can also benefit DevSecOps by reducing human error. Processes enshrined in code are secure and repeatable, lending themselves to automation and ensuring the correct execution of
highly complex processes.
2. Attacks via vulnerable third-party code are growing
Many organisations make use of third-party code and software libraries in their development of new digital services. Any vulnerabilities in this code expose their applications to cyber attacks.
To guard against this, organisations must monitor their use of third-party code so they can patch any new vulnerabilities that are discovered. For example, in December 2021, a vulnerability known as Log4Shell was discovered in versions 2.0 and 2.14.1 of Log4j 2, a popular Java library. Log4Shell enables an attacker to use remote code execution to engage with software that uses Log4j and gain access to networks and sensitive data. Many organisations were forced to take devices and applications offline while they identified whether Log4j had been used in any stage of software production, from development to runtime.
In a blog, author and developer advocate Nicolas Fränkel wrote, “Wise developers don’t reinvent the wheel: they use existing libraries and/or frameworks. From a security point of view, it means users of such third-party code should carefully audit it. We should look for flaws: both bugs and vulnerabilities.”
Log4Shell certainly will not be the last such vulnerability, as the more recent discovery of Spring4Shell has already shown. To guard against the next one, organisations should deploy observability platforms that can provide deep and broad insights into their applications to quickly identify any code flagged as vulnerable.
3. Root-cause analysis using AIOps will be essential
Gartner defines artificial intelligence for IT operations (AIOps) as the combination of “big data and machine learning to automate IT operations processes, including event correlation, anomaly detection, and causality determination.”
Such automation is becoming essential to enable DevSecOps teams to manage cloud environments whose complexity is putting them beyond the capabilities of manual processes. AIOps can analyse data on activity in real-time, helping to prevent DevSecOps teams being overwhelmed by alert storms and providing precise answers that enable them to innovate more rapidly.
According to a Forbes article, AIOps is “moving from marketing hype to a useful tool being adopted across the enterprise.” It explains that the AI algorithms underpinning AIOps are becoming increasingly sophisticated. They enable AIOps tools to discover data relationships more rapidly, identify the root cause of IT issues in real-time and, in some cases, remediate them automatically. Such abilities are becoming essential to enable DevSecOps teams to test code while it is being developed and to identify new vulnerabilities during pre-production before code is deployed.
4. MLOps is no match for AIOps
Machine Learning Operations (MLOps) is a set of management practices designed to aid the effective and efficient deployment and maintenance of machine learning in production environments. It is often confused with AIOps but is quite different.
MLOps can only suggest a relationship between a problem and a possible solution. AIOps identifies problems precisely and provides actionable answers. MLOps systems must be trained to distinguish normal from abnormal behaviour. Data models must be verified, which requires time and effort from DevSecOps teams – time that could be spent on more strategic priorities.
In contrast, AIOps automates these tasks by combining AI algorithms with data analytics. It can accurately identify many common IT issues such as unexpected downtime or unauthorised data access and suggest appropriate remedies. These algorithms do not need to be trained, freeing IT teams from routine monitoring tasks and enabling them to focus on tasks that directly support business priorities and drive better outcomes.
Dynatrace vice president of A/NZ Hope Powers.
5. GitOps gains wide acceptance
GitOps is a set of practices for infrastructure management based on DevOps best practices for application development: version control, collaboration, compliance, CI/CD tooling. It is based on Git, an open-source tool developed for source code management in DevOps.
In GitOps, Git becomes a single source of truth and a control mechanism to support dynamic creation, including updating and deleting system architecture specifications.
It automates and centralises the deployment and verification of infrastructure modifications via pull requests, giving teams greater control over their environment and enabling them to deliver better digital services faster.
6. The role of Kubernetes grows
Kubernetes, the open-source platform built to orchestrate the management, deployment, and scaling of microservices architectures, underpins all these aspects of DevSecOps and digital transformation.
Kubernetes enables a microservices-based application to be moved quickly and reliably between environments, for example, from a development to a production environment. It also makes application developers more productive. With microservices-based deployments supported by Kubernetes, multiple teams can simultaneously deal with different aspects of a project, accelerating development and identifying and fixing problems faster.
Kubernetes has been a game-changer for application development. It has enabled developers to better accommodate customer requirements, share resources across cloud platforms, and accelerate the building, testing and deployment of DevSecOps pipelines.
7. Serverless uptake soars
Serverless computing is a cloud-based, on-demand execution model where customers consume resources solely based on their usage by applications. It greatly appeals to developers wanting to build and scale out applications without worrying about the underlying infrastructure. The cloud service providers take care of this and supply the tools that enable app developers to create their applications in modules according to the cloud infrastructure they require. Serverless computing can also reduce costs and improve disaster recovery and resilience because the resources used are supported by the cloud provider’s inbuilt redundancy and availability features.
8. DevSecOps comes of age
Ultimately, companies undertaking digital transformation will struggle to succeed without DevSecOps.
However, to successfully exploit DevSecOps, development teams need platforms that streamline the entire software development lifecycle, facilitate cross-team collaboration and automate processes wherever possible.