Secure Your Jira Data: A Step-by-Step Guide to Secure Jira Server to Jira Cloud Migration
Tags: jira, cloud, devops, coding
Published: 2023-06-15 12:44:42

As organizations grow, so do their technology needs. At some point, companies may realize that the current configuration is no longer sufficient to meet their needs. What is the solution? Migration. Migration to the cloud! This is the modern way to go. However, this decision can be difficult for many organizations because of the potential risks and challenges associated with migrating to a new platform.

Let’s review the process of safely migrating from Jira Server to Jira Cloud, keeping in mind the security of our data. What are the key differences between Jira Server and Jira Cloud? What are the reasons organizations may choose to migrate from one to the other? What steps are required to plan and execute a successful migration, taking into account factors such as data protection and backup?

## Understanding Jira Server and Jira Cloud
Before migrating from Jira Server to Jira Cloud, let’s first clarify the key differences between one and the other. Jira Server is a self-hosted platform that gives organizations full control over their data and infrastructure. This means that we have to install, manage and maintain the platform on our own servers or cloud infrastructure. While this offers a high level of control, it also requires a significant amount of resources, time, and expertise to maintain.

On the other hand, Jira Cloud is a cloud-based platform that is managed and maintained by Atlassian. This means that we don’t have to manage any infrastructure or servers ourselves, as all maintenance and upgrades are handled by Atlassian. This can provide significant cost savings, as we don’t have to invest in infrastructure or resources for maintenance. What’s more, Jira Cloud provides automatic updates and seamless scalability, making it ideal for growing organizations.

Here are listed some other differences:

## Administrator roles
In Jira Server, there are two levels of permissions, Jira administrator, and System administrator. In Jira Cloud, people are assigned roles of User, Product admin (similar to Jira administrator), and Organization admin (similar to System administrator but with additional rights to manage user directories, security settings, billing details, and other configurations).

## Apps and integrations
Jira Data Center supports a wider range of third-party add-ons and integrations than Jira Cloud. We can only install apps from the Atlassian Marketplace. If we want to add our own app we can use the Forge or Connect platforms to build one and then upload to the Marketplace. It can be public or via a secret token there is a possibility to keep it private.

## Listeners / Webhooks
We are not able to configure listener interfaces in Jira Cloud. Instead, we can use webhooks as a better alternative for triggering an action in an external system based on an event that occurred in Jira.

## Auditing and governance
Jira Software Cloud and Jira Service Management Cloud plans (with all paid plans) offer an audit log similar to the one provided in Jira Server. However, the Cloud audit log cannot be configured with granular coverage areas and levels. Access may require an additional subscription. 

## Security and compliance
Jira Data Center offers more robust security and compliance features than Jira Cloud, as organizations have more control over their infrastructure and can implement their own security protocols. On the other hand, the Cloud creates automated backups of Amazon Relational Database Service for disaster recovery. With the Server version, this has to be done manually.

These are just some of the differences. Important, but not the only ones. Cloud versions also provide many other features like Single sign-on, automatic updates (as maintenance is on Atlassian’s hands), or some differences in projects and workflow administration.

## Why should I migrate my Jira at all?
The choice between [Jira Server and Jira Cloud](https://gitprotect.io/blog/jira-migration-proscons-and-security-measures/) for sure depends on the specific needs and requirements of each organization. However, there are several reasons why organizations may choose to migrate from Jira Server to Jira Cloud. Full control of our instances and advanced configurations possibilities on the one side – lower cost, scalability, and easier setup on the other. 

Let’s consider the need for flexibility and accessibility. Jira Cloud allows easy access to projects and data from anywhere, as long as there is an internet connection. This can be highly beneficial in the modern remote world. Remote teams can collaborate seamlessly without being limited by their physical location. Jira Cloud also offers a range of integrations and add-ons, providing additional functionality and customization options that may not be available on Jira Server. What else? It eliminates the need to manage and maintain your own servers, reducing costs and freeing up resources that can be allocated to other business priorities.

Last but not least – security. Jira Cloud provides enterprise-level security that is maintained and monitored by Atlassian, which may be more secure than what we can provide with our Jira Server installation.

Whatever the reason, migrating from Jira Server to Jira Cloud comes with risks and challenges. One of the main challenges is the possibility of losing data during the migration. Therefore, it is important to plan the migration carefully and take steps to protect data during the migration process.

## Planning the Migration
Planning a Jira migration is a complex process that requires careful consideration and attention to detail. It is important to evaluate our current Jira Server installation to identify any customizations or plug-ins that may not be compatible with Jira Cloud, as was mentioned above. This will help us determine which features and functions will need to be modified or replaced during the migration process. Once we have identified these issues, we can create a migration plan that includes a timeline, a list of tasks, and a list of stakeholders who will be involved in the migration. The schedule should be realistic and take into account any potential roadblocks or delays that may arise during the migration.

Let’s go through an example step-by-step scenario of how to prepare for and execute Jira Cloud migration:

## Environment readiness
We need to make sure our environment is prepared. This seems like a trivial step, but it is crucial to check that the new instance is ready to go. We expect to have a fully working system right after the migration, so let’s check that first. It can be useful to check the version compatibility between the source and target environments.

## Cloud setup
Another “obvious” step, but we need to make sure we choose the right license plan. We may also want to use Atlassian Access (enterprise-grade security). We need to do the initial setup of our organization on the Cloud side and prepare the appropriate accounts needed for the migration. 

Atlassian also encourages us to verify the domain to manage the accounts. Here are instructions for doing so: Verify a domain to manage accounts | Atlassian Support. This can take up to 72 hours, so we need to be careful.

## Migration strategy
Atlassian proposes 4 types of strategies. Depending on our needs and the context of our company, we can choose one of them:

## Optimize and shift
Evaluate the data to be migrated to the Cloud and determine which data and/or inactive users should be left behind on the Server instance. Limit the migration to only essential data and users within a single downtime window.

## Lift and shift
Migrate all of your product data, users, and apps to Cloud during a single scheduled downtime window. This approach can be useful if we need to move quickly to the Cloud, without cleaning up data.

## Phased
Divide the data migration process into two to four stages, rather than doing it all at once. It is advisable to select these stages based on specific “groups,” such as separate servers, products, or active vs. archived/inactive data, based on their value. This way, we can work out any issues and train users in small, manageable chunks as each migration is completed. However, Atlassian does not recommend migrating multiple project-by-project, space-by-space, or team-by-team.

## Start fresh
Choosing a “start fresh” approach may be a viable option for organizations that are confident they won’t need most of their existing server project data in the future (such as old projects/spaces) or for those who want to start using the cloud immediately.

## Preparations 
Once we have a chosen strategy, we need to prepare to execute the migration. By this, I mean preparing a timeline, a plan, and a team. It is also advisable to clean up data on the Server instance. Atlassian has prepared a tool called Cloud Migration Toolkit, which can be helpful here. Among other things, it contains a so-called pre-migration checklist, which is worth studying before doing our own migration. 

[Jira Cloud Migration Assistant pre-migration checklist | Atlassian Support](https://support.atlassian.com/migration/docs/jira-pre-migration-checklist/)

## Tests
This is the step where we verify that everything we have established and planned so far makes sense and has no missteps. At this step, something often comes up that we missed before, so we can update our plan accordingly. This step should include taking a backup, performing a migration on a test environment, and performing UAT tests. 

It’s also a good idea to prepare training materials at this stage so that everyone in our organization can work efficiently using Jira Cloud.

## Migration
The final step is to run our production migration and move our users and data to the cloud. If possible, we can start by putting our server instance into a read-only mode to make sure there are no data discrepancies during the migration. 

If we have accurately performed the previous steps then now we just need to repeat them in the production environment. Once the process is done correctly, it is a good idea to perform verification and then migrate/install the necessary applications and plug-ins.

Of course, it is a big simplification, but these are all the necessary steps. Let’s remember to make training materials available and prepare introductions for our employees. Although it’s still Jira, there are some differences between the Server instance and the cloud. Proper preparation of the entire organization will allow us to avoid any problems or reduce efficiency in the initial period.

## Data Protection and Backup
Let me use a quote from the Atlassian website, where the authors share [5 Best Practices to Easily Migrate to the Atlassian Cloud](https://community.atlassian.com/t5/Atlassian-Migration-Program/5-Best-Practices-to-Easily-Migrate-to-the-Atlassian-Cloud/ba-p/1866789): 

> "Regardless of which migration strategy and method you’ve chosen, we recommend backing up your self-managed instance prior to migrating it. If there is data in your Cloud site already, ensure this is backed up as well."

Every migration should be planned and executed with security in mind. Jira’s migration is no different. Data protection and backups are crucial during such a process to ensure that all critical information is stored safely. We need to avoid several potential challenges during the migration process, such as data loss, data corruption, or security breaches. To minimize these risks, it is important to follow best practices, such as backing up all data before migration or testing the migration process in a staging environment before deployment to production. In addition, it is important to closely monitor the migration process and have a plan ready to address any issues that may arise.

To conclude, let me remind you yet once again how important it is to properly prepare a backup and be able to recover data in case of failure. The time invested in proper preparation and a plan that takes into account our needs and the context of our organization will pay off during the actual migration. With careful planning and attention to data protection and backup, we can smoothly and safely migrate from Jira Server to Jira Cloud.

✍️ Subscribe to [GitProtect DevSecOps X-Ray Newsletter](https://gitprotect.io/gitprotect-newsletter.html?utm_source=d&utm_medium=m) – your guide to the latest DevOps & security insights

🚀 Ensure compliant [DevOps backup and recovery with a 14-day free trial](https://gitprotect.io/sign-up.html?utm_source=d&utm_medium=m)

📅 Let’s discuss your needs and [see a live product tour](https://calendly.com/d/3s9-n9z-pgc/gitprotect-live-demo?month=2024-04&utm_source=d&utm_medium=m)