Inside Atlassian

Browse How We Build

Article in How We Build

Update on the Atlassian outage affecting some customers

As of Apr 18, 2022, 23:57 UTC, all customers impacted by the outage have been restored. On Monday, April 4th, 2022 PT approximately 400 Atlassian Cloud customers experienced a full outage across their Atlassian products. As of April 18th, 2022, we have now restored our customers impacted by the outage and have reached out to […]

Article in How We Build

Life of a Growth experiment

A while back, we spoke about What does a Product Growth engineer work on? This was a great introduction to the world of Growth engineering and what we, engineers, do. This blog is going to look more into the details of how we do an experiment, using a real production example. We introduce the flow […]

Article in How We Build

Atlassian’s five-alarm fire: How we evolved our cloud reliability practices

Over the last five years, Atlassian has gone through an incredible transformation. We began as a company that built on-premise software and grew to a cloud-first business with 15 million monthly active users hosted on our cloud products. Our cloud customers include enterprises with increasingly high expectations for reliability. Our tools have helped NASA teams […]

Article in How We Build

How we build Data Residency for Atlassian Cloud

The beginning of multi-region in cloud We have written before about our journey from our own data centres to utilising AWS. This migration of Jira and Confluence into AWS was only the start of our journey of evolving our architecture to a more cloud-native approach. In this blog, we want to talk about one of […]

Article in How We Build

Revamping Confluence Cloud Search

We are happy to announce that Confluence Cloud Search is now powered by a new, scalable, and improved platform since August 2020. This has played an integral role in achieving our 10K goal (10k users per tenant), which went live on August 17, 2020. This blog describes more reasons for moving to the new platform. […]

Article in How We Build

Unlocking reliability with Splunk SmartStore

Atlassian developers use Splunk as the primary tool to search for and analyze logs from applications, appliances, and platforms. As Atlassian grows and introduces new features and services to our customers, the volume of telemetry data, including logs shipped to our Observability data sinks like Splunk, has also increased. Here’s a chart that shows a […]

Article in How We Build

Continuous profiling of JVM

Atlassian’s mission is to unleash the potential in every team. Our products help teams organize, discuss, and complete their work.​ Atlassian offers products and services such as Jira, Confluence, Trello, and Bitbucket. The products we build at Atlassian have hundreds of developers working on them, composed of a mixture of monolithic applications and microservices. When […]

Article in How We Build

Atlassian Engineering’s handbook: a guide for autonomous teams

At Atlassian, we’ve found that the key ingredients to empower autonomous teams are ownership, trust, and a common language. We want every team to own our customers’ success. As opposed to a static command and control model, we start from a position of trust in every team and continually work together to verify the quality, […]

Article in How We Build

Atlassian’s Cloud Engineering Overview

People. That is my leadership strategy – pure and simple. Find amazing people. Give them tools, frameworks, teammates, autonomy, and a mission. Do everything in my power to help them do their best work. Over the last five years, we’ve done just that – created an amazing engineering team to help propel us forward on […]

Article in How We Build

Caching JQL search in Jira Cloud

Jira Cloud poses some unique database scaling challenges, due to high query complexity causing high database load and slow queries. Queries run against the database are often highly repetitive and on the surface very cachable, but are not currently being cached. Horizontal scaling is the main technique being applied to services within Jira Cloud to […]

Article in How We Build

Performance in Jira front-end: solving bundle duplicates with Webpack and yarn

This is the third and final blog in our series on our recent work reducing the amount of JavaScript downloaded from the Jira cloud front-end (Read part 1 and part 2). This blog describes the work that was done to create a Webpack plugin to de-duplicate transitive dependencies. We found that this plugin delivers about […]

Article in How We Build

Performance in Jira front-end: using modern bundles to improve load time

This is the second blog in our three-part series covering some recent work in Jira cloud front-end to reduce the amount of JavaScript that’s downloaded when loading pages. Part 1 focused on the process of discovering and implementing a relatively small performance fix with a significant impact. In this blog, we will discuss the results […]

Article in How We Build

Performance in Jira front-end: the story of a single line of code

At Atlassian, we are continuously working to improve the performance of Jira Cloud. This is something we’ve mentioned a number of times in the past: backend improvements found through profiling, changing serialization formats, introducing server-side rendering, and improving our React architecture. This is the first in a series of three blogs focusing on the front-end […]

Article in How We Build

Scaling, rearchitecting, and decomposing Confluence Cloud

This blog covers the journey of Confluence Cloud – the team workspace for collaboration and knowledge sharing used by thousands of companies – and how we aim to take it to the next level, with scale, performance, and resilience as the key motivators. Moving Confluence to a stateless multi-tenant architecture In 2015, Atlassian started a […]

Article in How We Build

Scaling Bitbucket’s Database

Bitbucket’s usage is growing Two services at the core of Bitbucket are gu-bb and gu-api, responsible for serving the Bitbucket website and our public REST API. These services are built on the Django web framework, serving millions of requests every hour. On average, each of these requests represents over 10 database queries, putting significant load […]