Less-than-optimal software delivery pipelines can serve as stumbling blocks to deployments and deliveries of even the most stellar applications and underlying code. As an example of what can go wrong, DevOps teams may struggle with Jenkins configurations, spending more time than they would like configuring YAML files, integrating version control software (VCS) and just streamlining basic inter-team communication among developers.
The solutions is for every organization to have its own custom-created software delivery system — which is no easy task without the teams and resources in place to complete the framework. During a demonstration for The New Stack, Jessica Kerr, lead engineer with Atomist, showed how Atomist is about simpler software delivery without the need for an organization to create its own delivery process.
“Typically, [organizations] have automation in the space, but Atomist looks at this problem very differently,” Kerr said. “From Jenkins, Travis CI or [similar alternatives], Atomist looks at software delivery as a cross-cutting concern. This is something you should solve in a consistent fashion across your organization when you choose to. Atomist provides you the ability to do that.”
As mentioned above every organization with custom software really needs custom software delivery, while Netflix, which built Spinnaker in open source, and Yahoo’s Screwdriver, Kerr said.
“So, those organizations perfect software delivery solutions for you to use — that is if you are Netflix or Yahoo, as the case may be,” Kerr said. “You really need your own solution and Atomist is a platform, a framework and a service to give you the hard parts (actually, the common parts because it’s all hard), but the common parts of software delivery that you can’t build yourself if you are not Netflix with teams and teams of people.”
Even those organizations that do have the resources should not really be creating their own software delivery processes, Kerr said. “So, what should be the end of thinking of software delivery on Jenkins and Travis CI, Atomist really steps back. We come at this not from existing software pipelines, but from a perspective of delivery automation more generally,” Kerr said.
With the Atomist Event Hub, for example, Kerr showed how when events come to Atomist, unlike with Jenkins or Travis CI, “you do not do your delivery within Atomist, Kerr said. Instead, Atomist Service sends correlated events to something your organization builds, called a software delivery machine (SDM). “Software delivery machine is code that you write. When I want to make a new delivery process with atomist I start with creating a new software delivery machine, Kerr said.
The project generation process, which is one of the development activities that Atomist offers, consists of creating an Atomist software delivery machine (SDM) on a simple computer with the command line. “We do project generation differently. We do not start from a template. Are project generators start from real projects, not templates,” Kerr said. “This technology is not specific to any programming language that you might deployed.”
The events feed into the SDM so the Events Hub is the Atomist service. “But it is crucial that this software delivery machine belongs to me and runs on my infrastructure. The code under it is completely under my control,” Kerr said. “Some pipeline Solutions will let you interject bits of code in the middle of the process. Atomist believes software delivery should be done in code from the outside in — so, the code is yours all the way from the top.”
Another key feature is automation that was designed to allow for humans to remain in collaboration, as opposed to relinquishing too much control to the machine. The service, for example, includes chat options, such as a Slackbot to allow “automation to collaborate with humans,” Kerr said. “In the end, when it comes time to deploy, a human needs to make that decision. With chat we have a direct line between the computer and humans in both directions,” Kerr said. “We really need our automation to be more collaborative with humans, instead of trying to take work away from humans.”
Atomist is a sponsor of The New Stack.