Atlassian Powers over 35 Million Customer Searches per Day Using Amazon OpenSearch Service
Global enterprise-software company Atlassian wanted to maximize scalability and minimize latency for its customer search platforms embedded in popular products such as Confluence and Jira. Having previously housed some Elasticsearch operations on premises, the team at Atlassian made the decision to migrate to and build new search platforms on Amazon Web Services (AWS) using Amazon OpenSearch Service—a fully managed service that makes it simple to deploy, secure, and run Elasticsearch cost effectively at scale.
“Building a service and maintaining the service are two different things,” says Deepak Kandepet, engineering manager of search platforms at Atlassian. “We wanted to concentrate on making sure that we could operate at cloud speed and cloud scale and not get bogged down by everything that comes with maintaining our own instances.” Amazon OpenSearch Service enabled the Atlassian cloud team to focus on innovation instead of managing computing needs at scale, helping it realize an up to 40 percent reduction in latency, increase user search efficiency, and optimize scalability.
We’ve never needed to have any major downtime after we moved to this new [Amazon OpenSearch Service] architecture.”
Engineering Manager of Search Platforms, Atlassian
Moving Search Optimization to AWS
Founded in 2002 in Sydney, Australia, Atlassian now has over 5,000 employees across offices in seven countries and more than 170,000 customers. A leader in collaboration software for teams, Atlassian offers products that include Jira, Confluence, Trello, Statuspage, Opsgenie, Bitbucket, and Bamboo. The focus of Kandepet’s team at Atlassian is to optimize search capabilities. “What our division does is take all the services or software that Atlassian has built over the years, and we power them by providing cloud search capabilities,” says Kandepet. “The infrastructure that we represent is responsible for powering all kinds of user lookup or user search, assigning tasks in Jira, or performing a search for any of the content in Confluence.”
Atlassian as a company has used over a hundred services from AWS over the years. “Many of the other AWS services have scaled really well for us,” says Kandepet. “And the support as part of the collaboration that we’ve had on AWS has been really good.” For this particular project of optimizing cloud-based search capabilities, Kandepet’s team chose Amazon OpenSearch Service because of positive past experience and because the service satisfied the cloud team’s criteria of being ready to scale.
The company made use of a few more AWS services within its new search platforms, including Amazon Elastic Compute Cloud (Amazon EC2)—a service providing secure, resizable compute capacity in the cloud—and Amazon Simple Queue Service (Amazon SQS)—a fully managed message queuing service for microservices, distributed systems, and serverless applications. “Amazon EC2 is where we run a service that sits in front of [Amazon OpenSearch Service], where we expose our representational state transfer API to do searches from,” says Willy du Preez, senior software engineer of user search for Atlassian. “And that will take an incoming representational state transfer request, translate it to an Elasticsearch query, perform that query, and then transform the response again for searching.” The team also uses Amazon SQS to manage the replication of data and to ingest data into Amazon OpenSearch Service from external services.
The fact that Amazon OpenSearch Service is fully managed meant that the Atlassian cloud team could direct its efforts to optimization of search platforms for performance and reliability. Atlassian’s customers submit 35 million user searches per day on more than 500 million documents, making such optimizations both necessary and potentially challenging. Trying to maintain Elasticsearch in house would have come with additional costs and responsibilities. “Would we have been able to manage it?” asks Kandepet. “Considering that we wanted to build this as efficiently as possible, I think [Amazon OpenSearch Service] has really been what we’re looking for.”
Savings in Time and Cost alongside Decreased Latency and Increased Scalability
Since implementing a new indexing architecture in Amazon OpenSearch Service, Atlassian has seen significant increases in reliability. “We are now running two [Amazon OpenSearch Service] clusters per region,” says du Preez. “We run two smaller clusters and still index the same data but just load balance the traffic across them. So that means if something happens on the one cluster, we can just direct all the traffic to the other one.” The result is 99.99 percent uptime. “We’ve never needed to have any major downtime after we moved to this new [Amazon OpenSearch Service] architecture,” says Kandepet.
The solution also helped reduce latency. “We were closer to 250 ms at the beginning of the year,” says Kandepet, referring to Jira. “And with all the performance and optimization, we have brought that down to close to 70–80 ms.” That’s a latency reduction of at least 40 percent. “Customers don’t have to wait 2 seconds to get a search result,” continues Kandepet. “Today our complete latency for Confluence searches is 650 ms. We expect to bring it down to about 250 ms, which we are working on right now, but latency reduction to 650 ms was an immediate benefit without us even actually having to do anything.”
The Atlassian team has also seen increased flexibility, scalability, and ease of use. “Within a week, we were able to place five or six different cluster configurations with different load types and different numbers of instances in the cluster and so on,” says du Preez. “We wouldn’t have been able to do that before.” Atlassian now uses Amazon OpenSearch Service in five different regions and 10 different clusters, giving it the freedom to change instances depending upon variations in traffic with just a few clicks. “Previously we would have needed to manually manage these things, which would have been a significant effort in itself,” says Kandepet. “The change has been a big benefit, especially when it comes to cost reduction.”
Atlassian anticipates further significant cost savings from the move due to scalability options. Its previous architecture often resulted in exponential cost increases anytime it onboarded a large customer. “On AWS, that becomes close to zero because we are able to maintain the cost in this infrastructure and we are able to scale linearly with the incoming customer base,” says Kandepet.
Future Migration of Additional Atlassian Services to AWS
Looking ahead, Atlassian plans on migrating Jira, Bitbucket, and other products to Amazon OpenSearch Service. “Building on AWS gives us the ability to scale linearly at minimal cost,” says Kandepet. “As Atlassian cloud services grow in scope and our customer base increases, we expect to be scaling up quite significantly in the future.” The team anticipates additional decreases in latency and gains in reliability, security, search relevancy, and search features—including cross-product search capabilities.
By enabling the Atlassian cloud team to focus on innovation over management, Amazon OpenSearch Service has not only saved Atlassian time and money but also paved the way for better search performance and much simpler growth and evolution. Because of AWS, says Kandepet, “We just know that we can scale, and having the ability to scale has been a great outcome of this initiative.”
Atlassian is an enterprise-software company that provides products that project managers, software developers, and content managers use to work more effectively in teams.
Benefits of AWS
- Reduced latency by 40% or more
- Achieved 99.99% uptime
- Increased scalability
- Decreased costs associated with adding large customers
- Increased optimization capabilities
- Improved search relevancy
AWS Services Used
Amazon OpenSearch Service
Amazon OpenSearch Service makes it easy for you to perform interactive log analytics, real-time application monitoring, website search, and more. OpenSearch is an open source, distributed search and analytics suite derived from Elasticsearch. Amazon OpenSearch Service offers the latest versions of OpenSearch, support for 19 versions of Elasticsearch (1.5 to 7.10 versions), and visualization capabilities powered by OpenSearch Dashboards and Kibana (1.5 to 7.10 versions).
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.