Atomist is extending the reach of an automated approach to managing software delivery out to the local machines developers work on every day.
Company founder and CEO Rod Johnson said with its Software Delivery Machine (SDM) project, Atomist seeks to eliminate much of the complexity developers currently must navigate as they build code, including making changes that require updates to dependencies across projects.
That capability makes it easier to keep multiple development projects consistent and up to date automatically, Johnson said.
Atomist is applying many of the concepts Johnson used to create the widely employed Spring framework as an alternative to Java Enterprise Edition (J2EE), which is now being developed under the auspices of Pivotal Software, a unit of Dell Technologies. Atomist created a domain model for software delivery based on an API server and GraphQL, an open source data query and manipulation language.
This approach eliminates the need to work within the construct of more cumbersome framework based on, for example, YAML files, Johnson said. Rather, Atomist is making use of code to develop an alternative framework that is optimized around a more familiar API construct, which frees developers to extend the SDM in any direction that best reflects how they want to work.
Atomist currently provides a service based on SDM to large enterprises that have aggressively embraced DevOps. Johnson said that service enables organizations to allow developers a maximum amount of flexibility within the context of policies that can be defined by an IT operations team. The local instance of SDM is intended as an open source tool for increasing individual developer productivity.
Most organizations are becoming increasingly obsessesed with developer productivity at a time when companies recognize how dependent they are on software to differentiate themselves. The rate at which new and existing applications are being rolled out and updated has expanded considerably. For developers face to rise to that challenge, many of them embraced microservices that make it easier to add and replace new functionality using Docker containers. Those microservices, however, create a massive number of dependencies across different code bases that must be tracked. SDM can be employed to not only spin up containers images and Kubernetes clusters, but also update all the interdependent microservices spanning multiple clusters.
Asking developers to keep track of and manually update all those dependencies involving multiple projects is not the best use of their time, Johnson said. Real DevOps progress will be achieved only when organizations provide tools that make it easier for developers to do the right thing in a way that doesn’t try to impose an inflexible framework.
Most of the processes that organizations rely on to build code today are not nearly as automated as they should be. In fact, DevOps adoption arguably would be much further along than it is today if it didn’t require so much manual effort.