At Atlassian, you have a host of options for deploying our products in your company, one of them being as single server applications. Whether they are deployed on a physical server, in a virtual environment, or on AWS, these deployments consist of an application server running one of the Atlassian products like Jira, Bitbucket, or Confluence alongside a database.
This simplicity lets you get up and running fairly quickly. While the single server installation is great to get started with, we’ve heard that many of you experience challenges when trying to keep your systems ahead of your team’s growth. You can add resources to your current instance to help address performance concerns in the short-term, but at some point, you’ll have to create a strategy to handle this growth.
As your team’s use of Atlassian products grows, it is inevitable that you will experience an outage, degraded performance or downtime due to upgrades. In any of these cases, somebody somewhere on your team will feel the pain because they depend on the system to get their work done. Whether it’s end users who are trying to use the system or an administrator who is trying to bring the system back up – downtime is never ideal. Without a long-term plan, managing your infrastructure and administering your Atlassian products can become costly and time-consuming.
This is where the Data Center editions of Atlassian products come in. Data Center is a deployment option of Atlassian products built specifically for customers running in mission-critical environments. Data Center gives you the product functionality you’re already familiar with plus benefits like deployment flexibility, scalability, high availability, and improved authentication and control.
Here are the details on how Data Center can help your organization scale Atlassian’s products.
We made it easy for you to deploy Data Center on AWS by providing QuickStart guides and CloudFormation Templates that provide instant deployment and auto-scaling for our Data Center applications. For example, auto-scaling with AWS allows you to automatically add a fourth node in AWS when the first three nodes are getting close to threshold without intervention from an administrator. We are committed to supporting multiple deployment options because we want you to be able to choose the best option for your organization.
While clustering in Data Center gives you failover in the case of a single node failure, what happens when there is a site-wide failure? With Data Center’s disaster recovery, you have the ability to failover to a standby node with a replicated database and file store if your primary location power or network fails. In either scenario, Data Center makes sure that things continue running without impacting your team’s ability to work.
Performance at Scale
The single server architecture limits how inbound traffic is handled by your instance. Any request coming in, whether it’s a normal interaction through the UI or through an external integration, is funneled to the same server and processed along with every other activity – including administrative work like indexing or upgrading.
Many people try to perform some of this admin work during off-peak
With Data Center, you can increase throughput by adding more servers to your cluster to handle load. Rather than continuously trying to scale your single server further, you can add more and more nodes as your teams grow and then distribute load across multiple nodes to optimize performance. By distributing each type of activity to different nodes, you can separate and manage external integrations from normal internal usage activity, while also managing administrative tasks in parallel.
Authentication and Control
What our customers are doing with Data Center
1. Optimizing performance with Jira Software Data Center
One of our customers had three primary Jira Software Server instances serving thousands of their developers. They suffered from degraded performance because many people were using the system at any given time (i.e. hundreds of concurrent users) and some of these users also abused the system by making expensive REST API calls.
To alleviate some of the load issues they were experiencing, they looked to Jira Software Data Center. They set up their cluster to segment ‘abusive’ traffic from normal UI traffic by dedicating one of the nodes in the cluster to handle just external REST API traffic. In addition to performance improvements, they also wanted some administrative flexibility. To do this they added another node to the cluster to run indexes so they wouldn’t impact their team’s work. They could take this node out of the load balancer and re-index their system. After completing the re-index, the other nodes in the cluster would receive a copy of that updated index, optimizing their performance even further.
2. Accelerating work among distributed teams with Bitbucket Data Center
Another customer who had a large geographically distributed development team suffered from high latency and their developers competed for limited bandwidth with every operation they performed. Their developers had to wait a long time – often hours – to clone a large repository from across the globe. They also couldn’t pull changes on one of the mirror servers when the main instance was down because authentication happened at the primary Bitbucket instance. They needed to find a way to better serve their teams located across the globe.
With Bitbucket Data Center, they set up what we call Smart Mirrors, which are geographically distributed servers that are strictly used for fetching code. These mirror servers operate as read-only copies of repositories in remote locations that are automatically updated by the primary Bitbucket instance. This helped reduce the delays their end users experienced when executing CI builds or cloning a repository. The customer also took advantage of additional functionality we provided this year, smarter mirroring. This cached authentication on the mirror servers, allowing their users to pull changes to their machines even when the main server is down, further improving their remote team’s ability to work.
We will continue to invest in these four primary areas – deployment flexibility, scalability, high availability and authentication and control – as we continue to serve our customers whose Atlassian products are critical to their business. It’s sometimes assumed that Data Center is only for the largest deployments, but Data Center is not just about scale. We believe Data Center is for any customer where Atlassian’s products are mission-critical to their organization.