Deploy Data Center products with the Azure template
The Azure Resource Manager template as a method of deployment is no longer supported or maintained by Atlassian. You can still customize it for your own usage to deploy Data Center products on Azure though.
We recommend deploying your Data Center products on a Kubernetes cluster using our Helm charts for a more efficient and robust infrastructure and operational setup. Learn more about deploying on Kubernetes
If you decide to deploy your Data Center instance in a clustered environment, consider using Microsoft Azure. This platform allows you to scale your deployment elastically by resizing and quickly launching additional nodes, and provides a number of managed services that work out of the box with Data Center products. These services make it easier to configure, manage, and maintain your deployment's clustered infrastructure.
We strongly recommend you set up user management, central logging storage, a backup strategy, and monitoring, just as you would for your Data Center installation running on your own hardware.
Non-clustered VS clustered environment
A single node is adequate for most small or medium size deployments, unless you need specific features that require clustering (for example high availability or zero-downtime upgrades).
If you have an existing Server installation, you can still use its infrastructure when you upgrade to Data Center. Many features exclusive to Data Center (like SAML single sign-on, self-protection via rate limiting, and CDN support) don't require clustered infrastructure. You can start using these Data Center features by simply upgrading your Server installation’s license.
For more information on whether clustering is right for you, check out Data Center architecture and infrastructure options.
How it works
Standardized infrastructure
The Jira Data Center, Jira Service Management Data Center, Confluence Data Center, Bitbucket Data Center, and Crowd Data Center templates deploy the following infrastructure components identically:
Component | Configuration |
---|---|
Bastion host | This is a lightweight but highly secure Azure Linux VM that controls SSH access to the application cluster nodes. |
Application Gateway | By default, this gateway is composed of two instances for high availability. It acts as a HTTP/HTTPS load balancer for your scale set of application cluster nodes. |
Monitoring | The ARM templates configure Azure Monitoring to perform basic health and availability monitoring to cluster nodes and database. |
Database | You can choose between Azure SQL Database (MS SQL Server-compatible) or Azure PostgreSQL database. Either way, the database will be configured as service endpoints to only allow traffic from the private network that the cluster nodes are in. This restricted traffic setup helps enhance security. |
Migrating to an Azure deployment
You can also migrate your existing Data Center instance into Azure. To do this, you will need to set up a new 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 instance, including your database, and home directories.
Steps
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 your Data Center instance in Azure, and test if it's working as expected.
Import the XML backup that you created before. Make sure you know the administrator password for your existing site, as you'll be logged out during the import.
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 Data Center instance.
Tips for a successful migration:
Do a trial run first: export your existing site, and import it into Azure to iron out any issues.
Because you're setting up your new site in parallel, your current Data Center instance can remain accessible throughout the process. If you're already running your Data Center instance, use read-only mode to prevent people making changes after you've exported the site.
Unless your existing site is small, exporting the site without attachments will keep the export file smaller.
Securing your Azure deployment
We recommend deploying 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 your Data Center instance 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 and size of application nodes to be provisioned.
To help you estimate your instance’s size, we identified several Jira Data Center and Confluence 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.
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 or Azure SQL Analytics. Check out the Azure global infrastructure
3. Preparing additional information
During the deployment, you might also need:
Your database details, if you want to use an existing Azure database service. You'll need the database URL, port, username, and password.
A Base64 encoded PFX certificate from a trusted Certificate Authority.
Details of your existing CNAME, if you don't want Azure to generate a random domain for you.
Deploying your Data Center instance to Azure via Azure marketplace
This method uses the Azure Marketplace to deploy a Data Center instance using our deployment templates as a reference.
You will need Owner permissions on the resource group into which the deployment is planned. This means adding the RBAC role “Owner” to your Azure subscription.
For related information, see What is role-based access control (RBAC) for Azure resources?
To deploy your Data Center instance to Azure using our Marketplace app:
Log in to the Azure portal.
From the New menu select Create a resource to start a new deployment.
Search for Atlassian, then select your Data Center product from the list of Marketplace apps.
Select 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 select Create to purchase the subscription. Deployment will take about 30 minutes.
Once deployment is complete, go to your instance’s URL listed in the deployment outputs to complete onboarding.
Standardized infrastructure parameters
The Jira Data Center, Jira Service Management, Confluence Data Center, Bitbucket Data Center, and Crowd Data Center templates all share the same parameters:
Parameter | Description |
---|---|
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. |
SSH Access | 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 Bitbucket nodes. See Create and use an SSH public-private key pair for Linux VMs in Azure in the Microsoft Azure documentation. |
Database configuration | Choose between an Azure SQL Database, or Azure Database for PostgreSQL. Provide a username and password for the database admin user.
If you want to integrate with an existing database, you'll have to deploy to Azure using the CLI.
|
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. |
HTTP/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 availability in your location. See Monitoring for related information. |
Deploying your Data Center isntance to Azure using the CLI
This method uses the Azure command-line interface to deploy your Data Center instance 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 atlassian-azure-deployment in Bitbucket and check out the README to find out how to deploy using the CLI.
Monitoring
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 application nodes), sending the alerts to the 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.