DevOps is now a well identified category with more and more tools that claim to make the life of DevOps easier. But it comes down to there are still only two set of tools needed in DevOps: a ticket/issue provider and a source code manager. So, as a result we see the popularity of three sets of tools — GitHub, Jira/Bitbucket and GitLab — which are more and more becoming defacto standards. And as is often the case, everyone will have a favorite, an opinion, which then leads to companies ending up with a patchwork of competing solutions, more or less synchronized.
But, I would argue that today we don’t have much choice. There are two main reasons: open source software is eating the world, and syncing is hard.
Let’s start by looking at open source, which is on GitHub — not GitLab, not Bitbucket. So to manage open source code, and we can assume that like 99% of the world, your platform is using an open source component, you will need a GitHub account, as you likely fork a few projects, hopefully provide patches with your fixes or enhancements.
But then why not use GitHub for open source projects and Bitbucket for proprietary code? This reason is simple. Because your code will have dependencies on open source projects, and this will require introducing dependencies between projects in GitHub and projects in Bitbucket. Therefore pull requests in Bitbucket will be blocked by changes in GitHub, issues in Jira will have dependencies on issues in GitHub, and you will have to maintain consistency between data hosted in different tools. One thing I learned the hard way in the long years since I started coding and managing projects is that syncing is hard, and will always break, most likely at the worst possible time.
So in an ideal world, you would want to use GitHub for everything, and there you hit a snag: issue management in GitHub is efficient but very limited. Several concepts are missing, such as no priority, no component, no relationship between tickets, and the list goes on. All the things we loved to hate in Jira are missing. Jira is the top dog when it comes to issue management for a reason, well in fact, all these reasons.
So what now? We could consider that all we need is a way to increase the feature set for GitHub issues, and live happily ever after. Not so fast. Most of us will also need to connect issues and code with crash logs, monitoring tools, and more. So this is almost a dead end.
But there is hope! There is a tool able to connect to GitHub (and enhance the way issues are managed) to Jira, Bitbucket, Sentry and more to come: you can find it here: Anaxi.
What Anaxi does is quite simple: it plugs into your data sources and provides an aggregated view for your projects. Data is not duplicated, it stays on GitHub, Jira, Bitbucket and Sentry, and you can use the cloud or the self-hosted versions.
Can you manage source code and issues using only GitHub? Sure. And you will get access to your open source and proprietary code, along with the ability to create your own components and priorities on Github as labels. This will provide the nice user interface you expect using the Anaxi app, while enabling other users, who are not using Anaxi, to apply labels with the GitHub user interface. You won’t have synch issues because no data is copied or created in only the Anaxi app. And, the Anaxi app provides a bridge to connect with other teams still using Jira or Bitbucket. Nice right, try it and use it for free! (If your team includes more than 10 users of the Anaxi app that requires moving to the premium plan, which is $19 per month per user.)