Modern software development is often a complicated endeavor with a lot of moving parts, including people, processes and, of course, code that is always changing. It's a challenge that Atomist is looking to help solve with the addition of its new Drift Management feature to the Atomist Software Delivery Machine.
The Software Delivery Machine is the software development tools and services vendor’s primary platform, providing insight, tools and capabilities that improve software delivery. Atomist added Drift Management to the platform to help solve drift, a common problem that can slow development and lead to instability and risk.
"The notion of drift can be taken to mean configuration and code practices that have diverged from some known good target," Ryan Day, co-founder and chief operating officer of Atomist, told ITPro Today.
Drift is a cross-cutting concern that spans much of the code development life cycle, including code dependencies and scripts that define how builds get done as well as definitions for how software deployment infrastructure is created, he said.
How Drift Management Works
The Atomist platform can do code and configuration inspections that can recognize patterns, according to Day.
"There are not just simple, regular expressions, but actually some semantic patterns that might be complex, and so that allows us to identify some really interesting signatures," he said.
Those signatures don't have to be something in a regular file but could also be found in an API endpoint or configuration setting. Atomist captures that information pattern and saves it as a digital fingerprint.
"It's just our way of saying we can detect the state of this thing and we can detect any change to it," he said.
Drift Management analysis typically starts with static code that is in a code repository. The system also looks at the various byproducts of an event-driven architecture, whenever and wherever software artifacts and descriptors are created. Day said Drift Management can be used to identify if there has been a change, and that can be used to inform software approvals and deployments.
The basic concept for drift management policy is that any code that doesn't match a specific version number or known best practice can be flagged, Day said. Rather than a policy with a big sledgehammer that is forced on developer, the Atomist system is by default set to be a developer-friendly approach that notifies and enables an opportunity to opt in.
"We believe very strongly in the idea that teams should be controlling their own destiny with their code base," he said.