carloscastilla - Fotolia
Spring creator Rod Johnson is at it again. This time around, he has a new project to simplify the process of implementing DevOps in the same way that the Spring Framework simplified Java development. His new project and company, called Atomist, essentially allows developers to manage all facets of the SDLC from within their integrated development environment of choice.
One of the biggest challenges in implementing DevOps lies in identifying and rolling out best practices in the communications flows across the systems development lifecycle (SDLC). Rather than forcing organizations to think through several choices, Atomist allows organizations to start with a template of best practices that they can customize along the way. This brings an opinionated starting point to Git culture in the same way that Spring Boot created an opinionated starting point to Java development. Developers are also free to customize these automations when their opinions differ.
How implementing DevOps is simplified
Atomist allows organizations to express the SDLC workflow in Java code, along with all the steps -- like builds, commits, configurations and deployments from within their integrated development environment (IDE) -- involved in moving apps into production. This allows everything to be managed and automated using Git and version control. Johnson said developers don't have to use another tool, such as writing bash scripts, that may be less familiar than Java.
It can also monitor all the steps involved in moving code into production. This makes it easier to identify places where organizations might want to automate the workflow. Developers can then customize these automations for their specific needs using Java code.
Code-parsing features in Atomist analyze code to provide better feedback. When problems emerge, Atomist can identify the troubled code segments and alert the appropriate developer, rather than sending spammy Slack alerts to the whole team. This speeds the feedback loop and makes it easier for developers to rectify the issue while the code is still fresh in their minds.
Implementing DevOps through Java
Johnson said that the Spring framework initially emerged by accident in the early 2000s when he felt frustrated by the complexity of creating enterprise apps using existing tools. He decided to take a break from enterprise development for family reasons and decided to write what became a 750-page book explaining some of the best practices in writing Java code. Along the way, he wrote a set of code examples, which ended up becoming Spring.
This sparked intense interest in the Java community as developers reached out with feedback and requests to use the code in their own projects. So Johnson worked with his publisher to release the code into SourceForge under an open source license and attracted an enthusiastic team to work on improvements. This grass-roots effort eventually evolved into SpringSource, which was ultimately acquired by VMware for $420 million and spun off into Pivotal Software.
Along the way, Johnson realized there were a lot of different ways to set up the framework. Spring Boot emerged as an opinionated version of Spring. It gave developers a quick starting point that encompassed many of the best practices Spring developers had observed along the way.
After moving on from SpringSource, Johnson found himself frustrated with many of the DevOps tools for managing the SDLC. While release automation tools certainly helped manage many of the processes required to move new code into production, they often required developers to learn new tools. He wanted to give developers the ability to manage every aspect of moving software into production using the language and IDE they already know and love. Johnson said there are no fancy graphic interfaces in Atomist. Everything can be done from within Java.
Johnson said he has no plans to write a 750-page book to explain the Atomist framework. He said that was a lot of work. However, developers are free to download the Atomist code from GitHub. That should help developers get started with automating and implementing DevOps lifecycle of their own.