We are often asked - "Is it easy to migrate from Atlassian Server to Cloud?". The answer varies depending on many variables, including age, data volumes, and apps plus integrations. If the system is fairly vanilla, it is usually straightforward. However, if your system has many plugins, and has evolved over time, possibly using custom scripts hooked into workflows, a migration is a more complex process, that must be handled with care.
Jira and Confluence are large Java web applications, which connect to a database. They can be run on physical hardware, or on VMs in Cloud providers such as AWS or Azure.
Addons, or Apps, are highly integrated extensions. On Server, these are binary files which extend the core application, and which may include entirely new screens, add REST calls, and add tables to the underlying database. Great apps, such as Tempo or Insight, are very powerful in their own right, with their own configurations. Apps such as ScriptRunner may have custom written scripts which hook into workflows.
A "Jira cloud migration" can actually mean a "Jira migration, plus App A, plus App B, etc." This can result in a multi application and configuration migration.
So - the architecture of Server vs Cloud, is completely different. Generally speaking, Server addons reside in the Java VM and store their data in the local database, and this should be considered when doing Jira Cloud migrations.
Cloud addons exist as externally managed services, which are integrated into Atlassian's cloud architecture via REST APIs. As a result, they have usually been re-written, and existing Server apps which use techniques that are highly coupled to the Server implementation may have to adopt different approaches for the Cloud environment.
The diagram beneath shows the difference in architecture at a very high level.
In many cases, an equivalent Jira cloud app may not exist, or it may not have equivalent functionality or configuration. It may be better - but it is will be different. Often there is no migration path for the apps. In short - a Cloud migration is not equivalent to doing a Jira upgrade.
A "Jira cloud migration" can actually mean a "Jira migration, plus App A, plus App B, etc." This can result in a multi application and configuration migration.
If an instance has evolved over time, with lots of scripts and automations, it may even be best to review and reimplement some requirements with the different technology available in the Cloud.
The complexity of a Jira Cloud migration is directly linked to the number of apps involved, their sophistication, and their migration path availability in terms of both data and configuration.
Our Migration Analyst Addon helps us scope these efforts by generating relevant statistics that help us scope migrations, and which means we usually offer a fixed price. This app can be freely downloaded from the marketplace, so that you can see the statistics on your own instance. If you are planning to do a Jira Cloud migration yourself, we hope that you will find it useful.