Earlier this year, Atlassian launched a LaunchDarkly integration for Compass, Atlassian’s developer portal that provides a unified, real-time representation of your distributed architecture in one place. The LaunchDarkly integration allows you to visualize feature flags and change history in the context of the components they relate to. You can also view what feature flags are currently active and see a timeline of when they were added, removed, or modified.
If you've been following along, we kick off this year's edition of our user conference, Galaxy, June 1 in San Francisco, where we focused on scaling software delivery with feature management. At the Bay Area-event, Dave Parrish, Sr. Product Manager of Atlassian Compass, took some time to share the motivation behind Compass and the new integration with LaunchDarkly.
We highly advise viewing the video of the event in its entirety so you don’t miss a second of all the great things we covered, which you can do below. In the meantime, in this post, you can catchup on some insights Dave shared during his talk.
Background on the goal of Compass
“Chaos is okay! Maybe even inspiring.”
That was Dave’s surprising opening slide in his presentation, and he went on to explain the challenge that his team built Compass to address.
As organizations decompose their monoliths into microservices, the resulting API and toolchain sprawl can be overwhelming and hard to keep track of. There are many benefits to a microservice architecture, but the resulting chaos is real. Here’s an engineering team lead at one of Atlassian’s customers: “In a distributed system, when you deploy a change, it can break a system you didn’t even know existed.” Compass was created to help tame the sprawl.
“Basically, Compass is a developer-experience platform that's designed to help teams master that complexity,” said Dave. “And not only have an insurance policy against that complexity and things breaking but maybe even enjoy working in that complicated environment, enjoy working in that distributed architecture.”
According to Dave, there were two specific things the Compass team considered important when building the platform:
- The platform serves as a single source of truth, so the components in your catalog are all in one place: no empty circles on the architecture diagram, and just one place for your team to go to find where your services live, view key metadata, understand their dependencies, and view metrics.
- Compass is more than a tool: it has practices that go along with it. “We have a concept of scorecards and rituals that teams do around their services,” said Dave. “A lot of this will be new to teams that are used to doing DevOps but don't necessarily have the rituals. So, we thought it was important to have both a tool-based and a behavioral-based component to this.”
Dave also emphasized that Compass is intended to be extensible both in terms of data and UI. Everything built in Compass is backed by their GraphQL API that powers their front end—and also their developer platform. “Every operation that you can do in Compass is possible through our GraphQL API and is possible through our dev platform,” said Dave. “Our developer platform built on top of that is called Forge.”
Forge is an Atlassian platform that allows you to plug UI and data connectivity into Atlassian products in a low-code way. Dave’s team uses it within Compass as their defined way of building integrations. Speaking of integrations:
Bring your LaunchDarkly dashboard directly into Compass
Let’s say you ship a release that seems like it should be green. If there’s an incident, wouldn’t it be nice to have all the information about what you just did, right in front of you? You can do that with LaunchDarkly's Compass integration.
Dave explains:
"What this [integration] lets us do is see the state of individual flags. We can also drill into individual flags and be able to filter them—such as the ones that are just active—and then go and view them in the LaunchDarkly console. … It’s a really nice way to just pull the developer out of LaunchDarkly into Compass... A lot of our developers never actually go into the LaunchDarkly console… We love building things that make our lives easier, so we're big users of the LaunchDarkly API. This is not the first time that we built a tool that basically lets us abstract what's happening in LaunchDarkly out into the world of our own applications."
Bringing LaunchDarkly into a consolidated dashboard view with the rest of your microservices is one way that Dave’s team wants to help you “embrace the chaos.”
This was just a taste of what Dave had to say. After his presentation, our own Doug Gould, Head of Ecosystem Partnerships here at LaunchDarkly joined Dave for an insightful fireside chat, in which the two dug into the motivation behind bringing an internal developer platform to the public. If you want to view the full event, you can do so here.