The Customer – a software development firm producing enterprise ready cloud software for businesses around the globe – had been a long-time user of Jira Software Server and Confluence Server as integral parts of their development and DevOps toolchain for many years. Before contacting Automation Consultants, the customer’s Atlassian applications had been hosted and supported by an external outsourcing partner. Due to persistent performance issues with Jira that had been left unresolved, the customer decided to migrate to a new hosting environment based in AWS, managed and supported by Automation Consultants.
Following a period of discovery, Automation Consultants migrated the customer’s large-scale Jira and Confluence applications from the previous hosting platform to a new AWS platform, designed by Automation Consultants to follow both Atlassian best practice and AWS ‘Well-Architected’ design principles. The migration was fully tested, with a trial run in a non-production environment and subsequent UAT signed off by the customer’s key stakeholders. Once the trial migration had been performed successfully, the live migration was done over a weekend to eliminate any outage in business hours and minimise disruption to the customer.
After the migration, Automation Consultants’ support team began working on understanding the challenges faced by the customer’s Atlassian administrators. Many project and system administrators complained of general poor performance of Jira Software, with occasional slowdowns and crashes, which had historically had a widespread impact on productivity. One key component of the solution that Automation Consultants designed for the customer was the inclusion of comprehensive infrastructure and JVM monitoring. Amazon Cloudwatch was used for this, as it was determined to be the simplest and most cost-effective solution.
Over time, Automation Consultants worked with the application’s administrators to rectify the performance issues the customer faced, through investigating system settings, reviewing data from CloudWatch and performing analysis of thread dumps during slowdowns. Optimisations were made gradually to fine-tune the JVM configuration for the application’s workload. The configuration of installed apps (plugins) which were determined to have a high impact on performance were fine tuned to reduce the load on the system during peak usage hours. Time constraints were also introduced to ensure high impact operations such as scripts and REST API usage were limited to periods of low usage.
As these changes were implemented, the customer reported a marked improvement in application performance and stability. Since then, the application has been well maintained and is running steadily with good performance.