fbpx
1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

The Ugly Side of Marketplace App Migrations for Jira and Confluence

windchill features best plm software
Written by Carlos Almeida
Published on August 16, 2024
Categories: Atlassian | Video

Introduction

Hello and welcome to “The Ugly Side of Marketplace App Migrations for Jira and Confluence.” My name is Michael Roberts, Vice President of Sales and Marketing at SPK Associates. I’m here today with Carlos Almeida. Carlos, feel free to introduce yourself.

Hey Mike, this is Carlos Almeida, VP of Engineering, responsible for all of the engineering, implementation, architecture, and process flow with SPK.

Atlassian Marketplace App Migrations

So, Carlos and his team have a lot of experience with Atlassian Marketplace app migrations, and we’re here today to talk a little bit about those migrations and maybe some of the challenges involved. In technology, when you hear “migration,” it often doesn’t mean “easy” in many cases. We wanted to share some background and context around some of the issues we’ve seen with Atlassian Marketplace apps and migrations from on-premise to cloud or from one on-premise instance to another.

On-premise vs Cloud

Carlos, can you give me a little background on the difference between the on-premise database versions and the Atlassian Cloud APIs, and how this impacts migrations and the migration process?

Absolutely. To give some context, as of my last query, there are over 5,700 Marketplace apps out there. These are third-party tools that add value to Confluence, Jira, Bitbucket. I’m not a fan of calling these “apps” or “plugins” because while some of these are utilities, some are full-blown products with significant functionality. It would be a disservice to call them just an app or a plugin.

Because of this added weight, I like to say that the Marketplace app’s tail can wag the Jira and Confluence dog with respect to migrations. In other words, you can spend a lot more time and effort than originally planned just on the apps, rather than on the Jira and Confluence core systems.

APIs

Regarding APIs, on-premise, your apps interact with Jira and Confluence using direct calls to the database, which you can access with your DBA. It’s quite powerful, giving you a lot more control as it’s contained behind your firewall. While there are RESTful APIs, they are tailored for the on-premise environments.

On the cloud side, direct database access is gone. You have no access to it, so all your app database interactions must go through Atlassian Cloud RESTful APIs, which may not be the same as the on-premise version of these APIs. First, you get past the fact that you can’t query your database or do the things you used to; you have to go through REST APIs. Once you get there, you find that the backend is often quite different because cloud vendors often create a separate branch for their product. Moving to the cloud is one thing, but the underlying code base is often a forked code base, which adds complexity.

Challenges of Marketplace App Migrations

Carlos, can you give us an idea of some of the most common challenges we face with these Marketplace app migrations from either server or data center to cloud?

Apps for Cloud

Absolutely. When we start, we first need to determine if the app vendor even has a cloud version of the app you need. If not, we work with you to find an alternative. Next, we dive into the app itself: is it cloud-fortified? This is an Atlassian term indicating that the app has enhanced security. Since you’re moving from behind your firewall to the cloud, your security team needs to be aware. Cloud-fortified apps must meet compliance standards like SOC 2 and GDPR and provide enhanced security practices and support. This means the app vendor has done extensive testing on their cloud platform.

Documentation

We then look at the migration documentation. With 5,700 apps, documentation can be sparse. Sometimes it’s lightweight, and you might need to create a help ticket to get more information. We find and evaluate all available documentation to determine if it will come over automatically or if we need to rebuild it from scratch. For example, if you’re using ScriptRunner, which is common for many customers, you may need to recreate your automation. In such cases, we often point them to out-of-the-box automation rules available with the cloud version.

Data

Another challenge is customer app data. For many apps, customers care about migrating all their test cases, runs, history, and workflow approvals, not just the configuration. This involves a lot of work, including CSV imports and exports.

Versions

Finally, there’s version creep. If your cloud app requires a different version than your current server or data center version, this can drag your entire server or data infrastructure into an upgrade. This is a non-trivial event, especially if you’re in production, as it adds a large project even before we start the actual migration.

Migration Best Practices

Given these challenges, have you developed some basic best practices for assessing an app’s ability to migrate to Atlassian Cloud?

Assess

Absolutely. If you work with us, we can help you with this, but essentially it involves rolling up your sleeves and doing the homework. First, assess whether you need the app. If you bring it over to the cloud, you’ll pay for it. Talk to key stakeholders to see if they are using it. We can help you get usage metrics, such as how often the app is used and by how many people. Remember, apps are paid per user, so if you have 500 people but only one person is using an app, you’re paying for 500 licenses.

After that, assess whether the app is cloud-certified and whether it will migrate well. Feature comparison is crucial because sometimes what’s available on the cloud doesn’t line up with the server or data center version and may behave differently. This may require user training and testing to ensure the new environment meets expectations.

How SPK Helps

At SPK, we start by assessing all available information and leveraging our experience with similar apps. We plan a series of sprints, beginning with migrating Jira and Confluence core functionalities. We then focus on the apps, budgeting additional sprints to manage these. We use a sandbox area to minimize impact on existing users, pulling data without changing anything on the server. This helps mitigate performance issues and allows us to resolve any problems before going live.

The goal is to make the go-live experience as smooth as possible, with minimal surprises. We measure ourselves weekly and work as a team to ensure a seamless migration.

Conclusion

Thanks, Carlos. I really appreciate it. There are indeed some challenging aspects to migrating from on-premise to the cloud, especially concerning app migrations. Thank you for detailing some of those challenges and how they can be mitigated. On behalf of Carlos Almeida, my name is Michael Roberts. Thank you for joining us today. If you’d like more content like this, please don’t forget to like and subscribe to SPK’s YouTube channel. We’ll see you next time. Thank you, everyone.

Latest White Papers

Guide to work management: Tools for teamwork

Guide to work management: Tools for teamwork

Ensuring collaboration between cross-functional teams can be challenging, especially when these teams are global. Fortunately, there are many tools on the market that mitigate these struggles. Atlassian’s suite of tools helps teams across the globe collaborate like...

Related Resources

Avoiding Common Goal-Setting Pitfalls with Best OKR Practices for 2025

Avoiding Common Goal-Setting Pitfalls with Best OKR Practices for 2025

Goal-setting is vital to business success, but it is not without its challenges. Objectives and Key Results (OKRs) are a popular framework for aligning teams and driving results. Despite knowing about OKR practices, companies still commonly fall into traps that derail...

The Revenue Risk of Poor Information Hand-offs

The Revenue Risk of Poor Information Hand-offs

Seamlessly and efficiently communicating information is an absolute necessity when working in product development. Understanding all the details of a product and its manufacturing processes can drive revenue and competitive advantage. Despite knowing this, many...