How to Optimize Atlassian Data Center After Migration

In our last post, we discussed the in’s and out’s of planning a migration from Atlassian Server to Data Center. Now, let’s move on to a closer examination of the features, tools, and best practices available to help you maximize the potential of your Atlassian products. 

To get the most out of your Data Center investment, we’re going to introduce you to the techniques that Atlassian customers should use to optimize Data Center to make it as reliable and scalable as it can be. 

You will need to monitor your new implementation to get an idea of usage, performance, and any red flags that should be addressed for peak performance and optimal user experience.

But before we begin–have you migrated to Data Center? If you haven’t, take a deeper dive into why and when you might need to upgrade, and the differences between Data Center vs. Server vs. Cloud and more–check out our whitepaper.

Now let’s begin!

Monitor Your Data Center Infrastructure

To be clear, monitoring should always be a part of your on-going administration efforts for your Atlassian Data Center instance. Without this critical effort, there is no way to identify and rectify performance issues before degradation occurs. 

Your monitoring requirements will vary based on the size of your organization and the number of use-cases you have for your Data Center environment. Here are a few scenarios that we’ve seen in our experience planning, executing, and optimizing Data Center migrations. 

Server-level (Good)

You can perform Server-level monitoring of your active application nodes to get a basic idea of your usage. While you will get a fair idea of load, insights will be mainly limited to RAM, storage, and CPU usage. Capturing data on how your server nodes are performing is useful to enable you to see trends on the servers and help you determine when to add new nodes to your Data Center cluster. 

If you manage your database or database cluster, it’s a good idea to add the same level of monitoring on those servers as well. Many Cloud Service Providers offer “appliance” type database services, so you will not have a traditional server to monitor if you use one of those technologies.  You may need to pull performance data from the Cloud Service Provider’s monitoring service to capture trends on your database.

At a minimum, you should perform an “up/down” monitor on each component in your Data Center Cluster. 

Application Monitoring (Better)

In addition to Server-level monitoring, we highly recommend monitoring Java Virtual Machine (JVM) and Tomcat applications on your Atlassian applications. This can be done in several ways, and many commonly used monitoring systems have agents that know how to monitor Java and Tomcat. 

JMeter is an industry-standard tool that can help you understand both the load on your system and give you insight into which aspects of the JVM are impacting your system negatively. If you’re not already using an application monitoring tool, it is a great option.

Depending on your database choice, there are many tools available to monitor the health of the database application. Most enterprise-level monitoring systems have agents for all of the database technologies supported by Atlassian.  There are many open-source tools available for free, as well.  For example, Open PostgreSQL Monitoring, or OPM is a good free option for monitoring Postgres.

It’s also a good idea to perform health checks that exercise the important elements of the Atlassian application.  Your monitoring system may be able to log in to Jira and access a page, for example.  By doing so, you exercise the load balancer, SSL, the database, and the application server node that is logged in to.  Capturing the time it takes to read the page allows you to generate graphs and see trends over time.

With this insight, you’ll quickly learn when to add or modify your infrastructure and stay ahead of your growth requirements.

Logs (Best)

While Server-level and Application monitoring are great, they don’t necessarily indicate nuances of usage like who’s making requests and the result those requests have on performance. Log monitoring, however, will. Monitoring your logs also captures the details of what your applications are doing overtime.

Proactively monitoring your logs for errors will alert you to issues that don’t constitute an outage, but might be seriously impeding a small number of users. For example, when 3rd party App provided functionality is not available, the main application still runs and would pass your other monitoring tests, but users relying on those features will feel as though the application is down. Errors from all aspects of what the application is doing will be logged.  By capturing them in a log monitoring system, you can alert based on the log event type and severity.

Ultimately, a combination of these three monitoring strategies will yield the best understanding of your system’s health and performance. 

Scaling Your Cluster

There will come a time when you’ll need to increase the capacity of your Data Center environment. By monitoring all aspects of the cluster, you will be able to see trends and address the specific area of growth that is required. In most cases, clients that we work with have an ever-increasing number of users on their Data Center instances.  They’re continuing to hire or expanding new use cases within their organization.

In this case, the best way to scale your Data Center instance to support growth is to add additional nodes to your cluster.  Atlassian supports the assumption that doubling one’s nodes will double the capacity for concurrent end users on your infrastructure, so you’re safe to use that as a frame of reference when the time comes to grow your cluster. 

You can add additional nodes to your cluster at any time without sacrificing Data Center’s high-availability. You will simply need to provision a new machine that has the same version of the application installed elsewhere in the cluster, and add it to your cluster. We recommend sizing all of your application server nodes with the same CPU and memory capability to ensure that you don’t overload a “weak” node.

When you introduce a new node to your cluster, all Atlassian Marketplace Apps will automatically be indexed to that new node so that it performs as well as existing nodes. If your virtual technology supports it, you can simplify this process further by using an “image” or “clone” of an existing node with the application already installed. Using images allows you to provision new nodes almost instantly.

Furthermore, you may not need to worry about manually introducing new nodes at all, depending on your hosting service. Many offer a service that automates scaling and spins up new nodes based on usage without you ever having to lift a finger. 

It can also save on cost if your service only introduces new nodes on an as-needed basis. 

Consistently Analyze and Adapt

It bears repeating that your DevOps team should be consistently monitoring your Data Center environment, not just after implementation. 

To truly develop an agile environment, you should refine your deployment and business processes throughout your Data Center life cycle and use your analysis to make data-driven changes. 

Data Center was designed to be scaled without the worry of rising costs or downtime. License cost is tied to the number of users, not the number of application nodes.

Now What?

If you need a guiding hand during either planning and executing a Data Center deployment or optimizing your new environment for best practices, Coyote Creek can help.

We are a team of veteran IT consultants and Atlassian Platinum Solution Partners that can survey your existing Server instance and help you to plan and execute a successful migration process of all your existing data to your new Data Center products. 

We can also custom-build the functionality you need from your Atlassian tools and provide premier support along the way.

In addition to On-Premises Data Center installations, we have experience with Atlassian Cloud and Server as well as hybrid environments on AWS and Azure. We are well-versed in all Atlassian applications like Jira Software, Jira Service Desk, Confluence, Bitbucket.

Please reach out today if we can be of further assistance or if you have any questions about our service offerings.