Jira Software Data Center on AWS (Part One)
Atlassian recently provided a Quick Start Guide with instructions on how to set up Jira Software Data Center and Bitbucket Server Data Center on Amazon Web Services (AWS). The Jira Data Center deployment option is designed for high availability, performance at scale, and instant scalability. In this blog, I will discuss the benefits of having Jira Data Center on AWS and the steps needed to set up a Jira Data Center instance on AWS.
Amazon offers reliable, scalable, and inexpensive cloud computing services. Atlassian’s Data Center offerings, coupled with AWS, go hand in hand with large and enterprise grade customers that need scalable and highly available development and project management tools. One of the main benefits of installing Jira Service Desk and Bitbucket Server Data Center onto AWS is that the node scalability (up and down) is as simple as clicking a button and saving the configuration.
Enterprise level services and security are also readily available for users who move their instances onto AWS. Using AWS is also highly cost effective. For example, users can choose to pay only for the computing resources, bandwidth, and storage that they use, and can easily scale these services up and down as needed.
The implementation above relies on a CloudFormation Quick Start template. The Quick Start sets up the following items on AWS:
- An Amazon Virtual Private Cloud (VPC) configured with public and private subnets – this provides the network infrastructure for your Jira deployment
- An Internet gateway to provide access to the Internet
- In the public subnets, managed “network address translation” (NAT) gateways that allow outbound Internet access for resources in the private subnets – the Quick Start deploys NAT instances in regions where NAT gateways aren’t available
- In the private subnets, Amazon Relational Database Service (RDS) PostgreSQL is used as the external database for Jira
- In the private subnets, an Auto Scaling group with Jira instances based on Amazon Linux
- Amazon Elastic File System (EFS) as the shared file system for storage
- Your choice of creating a new VPC or deploying into your existing VPC on AWS – the template that deploys the Quick Start into an existing VPC skips the components above that are marked with asterisks
- Users who want to use the following guide/template should already be familiar with the basic functionalities of AWS mentioned above
Below is an example of the AWS architecture that will be set up:
Step 1: Getting the template
The next step is to obtain an AWS account by creating one at https://aws.amazon.com. By default, the template will deploy c3.xlarge instances for the application, and users might need to request a service limit increase (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html).
Step 2: Using the template in CloudFormation
To use the template, log in to your AWS account and go to CloudFormation:
Enter the URL to the template and click “Next”.
Step 3: Details, details, details
This step requires the user to pay full attention to the setup.
|Stack Name||The name of the CloudFormation Stack|
|Availability Zone||The list of Availability Zones to use for the subnets in the VPC|
|VPC CIDR||CIDR Block for the VPC|
|Private Subnet 1 & 2 CIDR||CIDR Block for private subnet 1 & 2 located in Availability Zones 1 & 2|
|Public Subnet 1 & 2 CIDR||CIDR Block for the public DMZ subnet 1 & 2 located in Availability Zones 1 & 2|
|SSL Certificate Name||The name of your server certificate to use for HTTPS|
|Assign public IP||Determines whether the EC2 instances are assigned a public IP address|
|Jira Product||Pick the flavor of Jira to install|
|Jira cluster node instance type||EC2 instance type for the Jira nodes. Here is a list of the instances (http://www.ec2instances.info/) .|
|Minimum number of cluster nodes||Minimum number of nodes in the Auto Scaling group|
|Maximum number of cluster nodes||Maximum number of nodes in the Auto Scaling group. This number can be changed later.|
|Database instance class||RDS instance type|
|Master password||Admin password for the database|
|Jira database password||User password for the database|
|Database storage||Size of the DB in GB|
|Database storage type||Storage type|
|HA Database across Availability Zones||Database high availability across Availability Zones|
|Catalina Options||Java options passed to Jira’s JVM|
|Start the collected service||Enable monitoring with the collectd.conf configuration file|
|Key Name||Public/private key pairs to access the instances|
Once the form has been filled, click Next.
Step 4: Options & Review
I won’t be diving into the Options section here, so you can just click “Next”.
The last section is the Review section.
In the Review section, you can review and confirm the template settings. Click “Create” to complete the form and create and deploy the Stack. Creating the Stack may take some time (creating the DB may take a considerable amount of time), so feel free to grab some coffee.
The following screenshots show the different items the Stack creates:
Side note: estimating pricing
As a side note, users should also take the opportunity to estimate the cost of their setup. AWS provides a simple Monthly Calculator (http://calculator.s3.amazonaws.com/index.html) that can provide a basic estimate.
I have just discussed the benefits of implementing Jira Data Center on AWS and walked you through the initial setup steps. In the next blog, I will discuss how to set up the Jira Data Center instance and manage this installation.