Getting started with JIRA Data Center on Azure
JIRA Data Center is an excellent fit for the Microsoft Azure environment. Azure provides a number of managed services that work out of the box with JIRA Data Center instances, and handle all their configuration and maintenance automatically. You can also choose the number and size of your nodes to suit your organization's needs, and if you need to scale up or down, Azure allows you to do this.
We've set up a reference template that lets you deploy JIRA Software Data Center and JIRA Service Desk Data Center in Microsoft Azure, and you can then configure it depending on your organization's Azure best practices. We strongly recommend you set up user management, central logging storage, a backup strategy, and monitoring, just as you would for a JIRA Data Center installation running on your own hardware.
On this page:
How it works
Here's an architectural overview of what you'll get when deploying JIRA Data Center using the template:
The deployment consists of the following components:
- One or more Azure standard VM instances as cluster nodes, running JIRA Software or JIRA Service Desk, in a scale set
- Azure SQL server and database
- a storage account for the shared home directory, which contains attachments and other files accessible to all JIRA nodes
- an application gateway (two instances, by default, for high availability)
- a small Azure Linux VM to use as a bastion host (to access cluster nodes via SSH).
Azure SQL instances can't be created in a virtual private network/subnet. To ensure security, the SQL Server firewall has been configured to only allow traffic from the private network that the cluster nodes reside in. The SQL Server firewall rules require a public IP address upfront during deployment, and as the application gateway's public IP address isn't known at this stage of the deployment, we use the public IP address of NAT box (jumpbox). This network topology means that all traffic from the cluster to the SQL Server is routed through the NAT box, and all public traffic to the cluster is also routed through the NAT box, including all SSH traffic and L4 traffic to the application gateway.
The application gateway also acts as a load balancer for your scale set of JIRA Data Center nodes.
We use a storage account for JIRA's shared home directory. As with the Azure SQL Server, this service exists outside the virtual network. It's mounted on each JIRA Data Center node, and it's treated as any other file would be.
Migrating to an Azure deployment
You can also migrate your existing JIRA Data Center instance into Azure. To do this, you will need to set up a new JIRA Data Center instance in Azure, and then import data from your existing instance. This approach ensures that your new site is created with optimum settings for Azure.
Here’s a high-level overview of the steps.
Before you begin:
Back up your existing JIRA instance, including your database and home directories.
- Make a list of any Marketplace or other user-installed apps.
- Export the data into XML format. The attachments won't be exported, so you need to manually copy them from your current shared home directory.
- Deploy JIRA Data Center in Azure, and test that JIRA is working as expected.
- Import the XML backup that you created before.
- Copy the contents of your /attachments directory to the equivalent directory in your shared home directory in Azure.
- Install any apps that you used before.
- Test your new JIRA Data Center instance.
Securing your Azure deployment
We recommend deploying JIRA with SSL. Our template will prompt you for a certificate and password.
Good to know:
- HTTPS is terminated at the application gateway.
- Your certificate should be from a trusted Certificate Authority. You should avoid self-signed certificates.
Preparing for your deployment
1. Determining the size of your deployment
While deploying JIRA Data Center on Microsoft Azure, you’ll have an option to choose the size of your deployment—small, medium, large, or enterprise. This will determine the number of JIRA application nodes, and the size of VMs to be provisioned.
To help you estimate your instance’s size, we identified several JIRA Data Center size profiles that are based on the amount of data dimensions that you already have, or are planning to have, such as the number of issues, projects, custom fields, users, and so on. For more info, see JIRA Data Center size profiles.
2. Choosing the region
The region, or location, is where Azure will house your deployment. Some regions don’t provide all Azure features, like access to Application insights and analytics. The choice here depends on what features would you like to use for your deployment.
To browse regions and available features, see Products available by region.
3. Preparing additional information
During the deployment, you will also need:
- (Optional) SSL: A Base64 encoded PFX certificate from a trusted Certificate Authority.
- (Optional) CNAME: Details of your existing CNAME, if you don't want Azure to generate a random domain for you.
Deploying JIRA Data Center to Azure via Azure marketplace
This method uses the Azure Marketplace to deploy JIRA Software Data Center or JIRA Service Desk Data Center using our deployment templates as a reference.
To deploy JIRA Data Center to Azure using our Marketplace app:
- Log in to Azure Portal.
- Choose Create a resource to start a new deployment
- Search for Atlassian, then select JIRA Software Data Center or JIRA Service Desk Data Center from the list of Marketplace apps.
- Choose Create to start configuring the deployment.
- Follow the prompts in the wizard to configure your deployment. Refer to the parameters table below for more information.
- Confirm all the details are correct, then click Create to purchase the subscription. Deployment will take about 30 minutes.
- Once deployment is complete, go to the JIRA URL listed in the deployment outputs to complete onboarding and start using JIRA.
Here's a list of parameters that you can configure.
|Subscription||Your Microsoft Azure subscription type.|
|Resource group||If you have an existing resource group, you can use it, or create a new one.|
|Location||This is the region where Azure will house your deployment.|
Specify the version of JIRA you'd like to install in full. For example 7.13.0.
We'd recommend that you choose JIRA Software 7.13 or later, or JIRA Service Desk 3.16 or later. These versions have been thoroughly tested in Azure. Head to JIRA Software Release Notes or JIRA Service Desk Release Notes for a list of all releases.
|JIRA admin credentials||Provide a name and password for the initial JIRA administrator on your instance.|
|JIRA Cluster||Select the expected size of your site - trial, small, medium, large, enterprise. This will determine the number of JIRA application nodes, and the size of VMs to be provisioned. Choose Change Size to override the defaults.|
|Database type||Choose either an SQL Server or PostgreSQL database.|
Provide a username and password for the database admin user.
If you have an existing database in the same location and resource group, you can choose to use an existing database, and enter its details here.
Provide an SSH public key to be used to SSH into the instance that will act as bastion host, and a username and password for SSH access to the JIRA nodes.
See Create and use an SSH public-private key pair for Linux VMs in Azure in the Microsoft Azure documentation.
|CNAME||This is the Canonical Name record (CNAME) for your organization. If you don't provide one, Azure will generate a random sub domain for your instance.|
|HTTPS/SSL||Provide the certificate and password to be used for SSL termination on the Azure Application Gateway.|
|Monitoring||Choose the monitoring and analytics services that you would like to enable (subject to location).|
Deploying JIRA Data Center to Azure using the CLI
This method uses the Azure command line interface to deploy JIRA Data Center using our deployment templates as a reference. You'll need to install the Azure CLI to do this.
Using the deployment templates directly allows for greater configuration granularity. All hardware choices such as the number of cluster nodes, size, disk size, and OS type are configurable as parameters.
Head to https://bitbucket.org/atlassian/atlassian-azure-deployment and check out the README to find out how to to deploy using the CLI.
As a number of the resources we provision are managed by Azure, a number of options are available for monitoring. For example:
The application gateway will automatically monitor its backend pool (the JIRA application nodes), sending the alerts to the JIRA admin email address specified in the deployment. See Application Gateway health monitoring overview in the Microsoft Azure documentation.
Application Insights can be used to see the overall system health, and dig into particular areas of interest Application Insights in the Azure documentation.
- Azure SQL Analytics is available for more granular monitoring of your SQL Server database. Monitor Azure SQL Database using Azure SQL Analytics in the Microsoft Azure documentation.
Note that some of these resources are still in Preview, so may not be available in your region yet.