Getting started with Bitbucket Data Center in Azure

Bitbucket 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 Bitbucket 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 Bitbucket 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 Bitbucket Data Center installation running on your own hardware.

How it works

Here's an architectural overview of what you'll get when deploying Bitbucket Data Center using the template:


This deployment contains two different VM scale sets. One scale set runs Bitbucket, while the other runs ElasticSearch. Both consist of one or more Azure standard Linux VM instances as cluster nodes. 

The template also provisions an NFS server that will serve as the Bitbucket home directory. It'll be deployed on a Linux VM.

Standardized infrastructure

The  Jira Data CenterConfluence Data Center, and  Bitbucket 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.

Limitations

You can't use the deployment template to upgrade an existing Bitbucket deployment, or to provision new nodes running a different version to the rest of your cluster. 

Deploying Bitbucket Data Center to Azure via Azure marketplace

This method uses the Azure Marketplace to deploy Bitbucket Data Center 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? (from the Azure documentation).

To deploy Bitbucket Data Center to Azure using our Marketplace app:

  1. Log in to Azure Portal.
  2. Choose Create a resource to start a new deployment from the New menu.
  3. In New, search for Atlassian then select Bitbucket Data Center from the list of Marketplace apps.
  4. Choose Create to start configuring the deployment.
  5. Follow the prompts in the wizard to configure your deployment. Refer to the parameters table below for more information. 
  6. Confirm all the details are correct then click Create to purchase the subscription. Deployment will take about 30 minutes.  
  7. Once deployment is complete, go to the Bitbucket URL listed in the deployment outputs to start using Bitbucket Data Center.  

Bitbucket-specific parameters  

Parameters Description
Bitbucket Version Specify the version of Bitbucket you'd like to install in full (for example, 6.2.0). Head to Bitbucket Server release notes for a list of all releases.
Bitbucket admin credentials

Provide a name, email, and password for the initial Bitbucket administrator in your instance.

Bitbucket cluster Specify the initial number of Bitbucket application nodes, and the size of each node. This can be reconfigured at a later date.
File server Specify the size of the NFS file server and its disk size.
Elasticsearch details Specify the initial number of Elasticsearch nodes, along with the instance size and disk size of each one.

Standardized infrastructure parameters

The  Jira Data CenterConfluence Data Center, and  Bitbucket 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 have an existing database in the same location and resource group, you can choose to use your existing database, and enter its details here.

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 Bitbucket Data Center to Azure using the CLI

This method uses the Azure command line interface to deploy Bitbucket 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/src/master/ and check out the README to find out how to 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 Bitbucket application nodes), sending the alerts to the Bitbucket admin email address specified in the deployment. See Application Gateway health monitoring overview in the Microsoft Azure documentation. 

Note that some of these resources are still in Preview, so may not be available in your region yet. 

Last modified on Jun 7, 2019

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.