The move from a monolithic software architecture to microservices means not only more moving pieces in the code base, but also tools, according to a recent survey by Atlassian. The company’s Atlassian State of Developer Survey recently found that a majority of developers polled said that the number of tools required was increasing, and with them the complexity of their position was increasing as well.
In response to these growing trends, Atlassian is launching a new product called Compass into alpha to help developers keep track of and manage their increasingly complex work environment and software architecture. Taylor Pechacek, a product manager with Atlassian, described the current state of affairs for software developers and how Atlassian hopes to solve their problems.
“The complexity of modern software itself has had a dramatic increase in the number of tools and the way that people build things. That has come from all the distributed-ness, breaking down their monoliths into microservices, shared libraries, ML models, mobile apps, APIs behind that. That complexity really kind of starts to move towards not just writing code, but a lot of things around that code,” said Pechacek. “Developers are getting access to be able to spin up their own infrastructure to run their own applications on, all on microservices, and that then puts them into a mode where they have a ‘you build it, you run it’ model, and so they’re not only thinking about ‘How do I build and design and ship this thing?’ but ‘I’m responsible and on the hook for operating it.'”
Taming the Sprawl
Compass works to provide developers with better clarity and organization in three primary ways, explained Pechacek. First, Compass organizes the various parts of a piece of software into a components catalog, which offers a singular place where developers can access shared components, documentation, and other bits of information related to their codebase and processes. Second, Compass analyzes the software and provides scorecards based on customizable, user-defined criteria. Third, Compass offers an extensibility engine to integrate with other tools and bring in information about the project from other places outside of Compass, whether Atlassian tools or otherwise.
“It’s essentially a developer collaboration portal that aims to help teams tame the software sprawl and really think about the experience of how they navigate across these things,” explained Pechacek. “They’re going to be able to get a real-time view of the changes that are made to their software architecture, its impact, and the current health of all those components in a single place. This is going to make them a lot more agile, it’s going to help them balance the innovation that they’re doing in JIRA Software, in Bitbucket, in GitHub, and build with the stability that they need to have around operations and incident management.”
Compass users will be able to import software directly from their repositories and connect them with the teams responsible in the components catalog, which will be able to provide some of that incident management that Pechacek mentioned. The components catalog is also able to determine dependencies and other related components, which will then be displayed in this singular location.
At the same time, when those repositories are imported, Compass will immediately begin analyzing the software to update the applicable DevOps scorecards and give developers an overall view of their health, which Pechacek offered some examples of.
“What does it mean to be healthy? Is my PR cycle time below three days? Am I even deploying frequently? Think classic DORA metrics, but then going a lot further and combining things across security, compliance, availability, MTTR. You’re kind of getting a model of health and saying, is our architecture healthy? Are we running this thing in a stable, healthy way?” said Pechacek.
Customizable and Extensible
While Compass will start out with some preset configurations for scorecard metrics, they are also completely customizable and can be used to determine things like data retention requirements or simple processes within the team.
The final aspect of Compass, the ability to extend it, means that teams will be able to create custom applications within Compass — Pechacek offered the example of an AWS cost optimization app that could provide customization recommendations right next to individual microservice components — and further unify that increasingly distributed experience of tool and code sprawl.
Currently, Compass is being released into Alpha, with the Beta coming soon, and Pechecek offered some insights as to where the product will be going next.
“A lot of different companies are really thinking about this problem as they decompose and become more distributed generally. What’s next for us is that as we move to beta, that’s definitely a signal that we have a lot more conviction about the product and finishing out some of those key functions,” said Pechacek. “But for us, it’s really around continuing to co-create and narrow down those clear use cases around scorecards, giving more flexibility to the catalog to map the data model the way that they want, layer in some of those DevOps tools with notifications, some automations, around that, and some better search so that you can identify, you know, ‘where’s my architecture going wrong?'”
Featured image via Pixabay.