Better collaboration between teams, faster time to market, improved overall productivity and enhanced customer satisfaction are just some of the benefits you can reap from successful DevSecOps.
However, it’s not just a matter of wrapping a few security tool APIs into your favourite CI tool and calling it a day. DevSecOps programs and tooling grow and mature, as new tools are added, teams come onboard and processes update. You don’t want to clog up and confuse your CI/CD pipelines with constant changes to accommodate DevSecOps.
There’s no ‘one-size-fits-all’ process for DevSecOps and we recognise every company will be at different stages. Here are some essential considerations to start with.
DevSecOps unites developers and security professionals, cultivating an environment of collaboration. But it’s hard to ignore that a certain level of friction has always existed.
Besides time, there are lots of things that naturally place pressure on the CI/CD pipeline when it comes to security:
In one corner you have the development team and in the other, security. Both sometimes think what the other team does creates nothing but work for each other. This perspective results in both teams working in silos, which defeats the main principle of DevSecOps.
Making security part of the workflow simply starts with a mindset change, which is easier said than done. DevOps teams spend their time improving and refining their pipelines based on the needs of the teams around them. Now, with DevSecOps, security teams are joining the party with requirements that aren’t as straightforward.
Security controls and tests need to be embedded early and often in the development lifecycle. With organisations potentially pushing new versions of code into production 60+ times per day, automated security is the answer.
If you’re with the notion that increased security slows things down and creates a barrier to innovation, we’re here to dispel that. We understand your reluctance, but it’s just not the case when you have automation on your side paired with a platform that eases the job of adding DevSecOps to the CI/CD pipeline.
It’s not news to anybody that automation is a key characteristic in DevSecOps. For security to keep pace with code delivery in a CI/CD environment, automation of security is a given.
Organisations where developers push code to production multiple times a day will feel this more than anybody. Rapid and secure code delivery may sound like an oxymoron to most businesses. But DevSecOps aspires to change that.
Trying to run automated scans on your entire application source code each day can be time consuming and hinder your ability to keep up with daily changes. So, before delving into a tool stack head first, tread carefully.
Teams responsible for application security can now use pioneering platforms to set the tool and test configuration as well as collect and consolidate reporting data to various other tools - all without changing the DevOps pipeline. This gives security maximum flexibility to make the changes they need to, without needing permissions for DevOps.
For added simplicity, we can use the Uleska Platform as an example for ease. The short API logic Uleska uses to run security testing is consistent for every project. This means regardless of the project logic or the CI/CD system being used, the same template can be used. Not only does it ease the job of adding DevSecOps to the CI/CD pipeline but it makes it quicker and easier for security changes to be made since they’re configured outside the main CI/CD logic.
Doing DevSecOps right is a fine balance. If it’s approached as a simple automation task, it’s likely to result in clunky connections to an ever growing list of security tools, as well as large lists of security issues being thrown back at developers - and more delays to code being released. As if everybody didn’t already have enough on their plate?
DevSecOps processes in many companies are immature, but maturing. This means the tech, tools and processes are continually evolving as improvements are being made.
However if this logic is based within the CI/CD pipeline, this results in continual requests to update the pipeline logic. Given there’s already lots of pipeline requests and changes going on for other reasons, this means security has to compete for time, resources and capacity.
Although there’s a good case for saying the CI/CD pipeline isn’t the place to hold the logic or code to do DevSecOps, but if not there, where would it live? This is the reason the Uleska Platform has separated the setup and configuration of DevSecOps away from the core CI/CD pipeline, whilst still being driven by it.
At the heart of it all, security products need to integrate into the development pipeline and enable both the development and security team to work together instead of just throwing things over the fence to each other.
Many of the tools required to insert security into agile DevOps are still emerging. As the methodology matures, you need a reliable platform that can scale with you, making it easy for you to adopt new tools, ways of working and to onboard new teams and applications.
Want to continue to stay up to date with the latest DevSecOps features and news? Subscribe to our newsletter - we'll also provide great cyber security resources to keep you at the forefront of the industry. Click the button below to sign up and start receiving insights today.
This article is one of a series of challenges Uleska are discussing during the summer of 2021. We're publishing one a week, so check back for more information or follow us on LinkedIn. Other articles published so far include:
Challenge 1: How to approach DevSecOps security automation
Challenge 2: Fitting DevSecOps into CI/CD Pipelines
Challenge 3: Doing DevSecOps without constant CI/CD changes
Challenge 4: Using DevSecOps to reduce and focus issues raised