Recently, Atlassian announced their shift in focus to the cloud and the decommissioning of their server product. As a result, Atlassian customers are no longer asking "if" they're moving to the cloud, but instead "when" and "how can we get there?"
Anyone who's ever been through migration can tell you that it can be a painful process. No team wants to sift through years of accumulated data to try and identify what stays and what goes. The process is about as appealing as cleaning the attic out of your grandparents' house. And potentially with more surprises. So, teams are looking for ways to make the process as smooth and surprise-free as possible.
The Praecipio Consulting team has empowered our clients to make their transition to the cloud as smooth as possible. We are constantly exploring the ecosystem, searching for options and partners to assist in that effort.
We've had the opportunity to do beta testing for a Jira add-on developed by our good friends at Appfire, which is an evolution of their Configuration Manager for Jira product (CMJ for short). The CMJ Cloud Migration Tool is Appfire's answer to the "how" part of companies' question.
We'll review some of the tool's current features and functionalities, explore potential use cases, and finally, talk through some possible features we're excited to see in the future.
The Migration Process
Let's walk through what migration looks like using the CMJ Cloud migration tool. We won't get into the nitty-gritty details of the process, but it's essential to understand how the tool functions at a high level to provide context around the features we're covering.
The setup process is straightforward, but there are a couple of pieces.
- You'll first install the tool like any other add-on from the marketplace on your server instance. This app is free, so you can explore the features and functionality as much as you want.
- In addition to having the on-prem app, you'll need to install a cloud counterpart as well. You can get a trial license for this app, which can be installed in the same manner as any cloud add-on.
- Next, create an API token for your cloud site. This is what allows the on-prem add-on to talk to your cloud environment. A step-by-step process for setting up an API token can be found on Atlassian's Support site.
- Once you've created your token, you can create a connection between your on-prem site and your cloud environment.
Create a Migration
With your environments all set up to talk to each other, you can now plan your migration. Under the main page for CMJ, you get a dashboard that tracks the ratio of projects and issues you've migrated in your instance, as well as a list of reports around the migrations you've created. We really like the dashboard for this tool. It's sleek and clean and also provides some great information at a glance.
Creating your migration is easy and straightforward:
- Create your migration and name it.
- Attach your previously configured cloud connector (or create a new one).
- Select the projects you wish to migrate.
- Run the Analysis.
- Review and resolve any data conflicts.
There's some nuance to be worked through with this. The above example is a simplified representation, but we wanted to highlight the core capabilities' value.
Expanding a bit on our outlined process above, I'd like to emphasize that the CMJ Cloud Migration Tool does a couple of things well that I want to highlight, as these features would potentially bring a lot of value to a migration given the right situation.
Like its on-prem migration counterpart, the single best feature that this software has to offer is the ability to handle error correction against your data prior to migrating. Using the in-line correction tools, there's no chance of accidentally migrating broken data to your cloud environment, and you don't have to wait through the entire migration process to the end to receive errors. The analysis function checks the data before migrating to give you a clean and detailed overview. As a migration architect, one of my responsibilities is assessing the environments intended to be migrated, and sometimes that means telling clients that their baby is ugly. No migration is perfect, though, and usually, the older the instance, the more potential there is for issues. The CMJ Cloud Migration tool does a great job of helping you tackle these issues to make sure none of that erroneous data attempts to make its way into your cloud environment.
You can effortlessly get an overview of the projects and issues that exist on your instance and get an idea of how much of that data has been previously migrated. This can help you keep track of what's being migrated over a period of time to help facilitate phased migrations for those larger enterprise customers that just have way too much data to move in a single migration window. This can also be handy if you have specific teams that are ready to move to cloud while others still need more time or if there are some projects that are not intended to be brought over. Combined with the ability to choose all or a subset of projects in the migration creation phase, you get a lot of flexibility.
For combination migration/merges, this feature is handy. One of the main challenges around migrating to cloud comes up if you have both an existing cloud environment and an on-prem environment that you're looking to migrate and merge into one. With any merge migration, you will have data elements that may conflict from both sides. This could be custom fields, workflows, or any global Jira object.
We often see (especially with clients looking to do a merge migration) that some efforts have been to duplicate work in both environments. Either because one team decided to start over in cloud, or maybe the permissions were set up as such that a certain group couldn't access data that was in one environment or another. Whatever the reason, it's not uncommon to have duplicate or conflicting data.
The CMJ tool allows you to identify and resolve those conflicts in-line during your migration or as part of your testing, so you can get a full sense of what to expect, and make a plan to resolve them. This is something that normally has to be done in a painstaking manner prior to the migration, or results in a lot of man-hours utilized for cleanup in the target instance after the fact.
What's coming in the future
In its current state, the CMJ Cloud Migration Tool offers a lot of great features and functionality. It's a top contender for companies looking to do a migration from an on-prem Jira instance to the cloud. There's a lot to be excited about from Appfire's roadmap for the tool. In particular, there are several features that we're really excited to see come to fruition.
Cloud to Cloud Migration
Right now, cloud-to-cloud migrations are one of the most nebulous types of migration engagements that we perform, as there is currently no available solution for directly merging two cloud instances together. The process involves exporting and importing the cloud sites to an on-prem solution and re-importing the final product into cloud. This can be a complex and cumbersome endeavor, depending on how the cloud sites are configured, because of the feature differences between cloud and on-prem. Suppose the final evolution of the CMJ Cloud Migration tool allows users to have as smooth a merge/migration process in cloud as they do with merging server/data center instances. In that case, that's a massive win for everyone.
Jira Service Management
While the climate around migrating Jira Service Management (JSM) projects to the cloud is improving, it's still a bit of a wild west trying to get these projects migrated. JSM projects are currently a liability regarding cloud migrations and an immediate complexity increase if they're present. Having a fully fleshed-out solution for migrating these projects would be huge and provide some much-needed stability and reliability to the process.
One of our favorite features of the CMJ tool is the rollback functionality. If there is an error in the migration, the app immediately kicks off a rollback and provides an error log when complete.
There's nothing like this that currently exists for cloud migration.
Once the data is moved, it's still there. If something is wrong and you get only a partial migration, it can be a bit of a bear to restore the instance to a usable state. Having a rollback functionality built-in that will revert the target instance to its pre-migration state automatically is not only a time saver but grants peace of mind. This can also be useful in testing; sometimes, with migrations, it's hard to pinpoint what's going to work and what's not without just testing the migration. A rollback feature frees up the time it would take to restore a test environment if there are still adjustments to make.
Every migration is different, and it's essential to find the right tool for the job. The CMJ Cloud Migration Tool has a lot to offer out of the box, and the roadmap for future features looks incredibly promising. In fact, during beta testing, the Appfire team shared with us that the Cloud Migration Tool successfully performed a single migration of 100 projects, 200k issues, and over 2 million configuration changes — so it's built to handle those large, customized, and complex Jira instances.
If you're an enterprise customer with a large instance and a lot of history behind it, you're going to need a solution to match. We encourage you to consider CMJ for your migration project, and if you are looking for a partner to help guide your organization through the process of an Atlassian Cloud migration, reach out to Praecipio Consulting.