Migrations are never easy, but when Sri Viswanath joined Atlassian in 2016, he knew the collaboration and productivity software company was ready for a major one.
Jira and Confluence, Atlassian's oldest and largest products, weren't performing as well as they could for Atlassian's growing base of cloud customers. As CTO, Viswanath immediately set into motion the company's largest-ever infrastructure project, moving Jira and Confluence from Atlassian's own managed single-tenant hardware to a multi-tenant AWS infrastructure.
"We are a more cloud company than we have ever been," Viswanath told ZDNet, noting that 75 percent of all new customers are coming on the cloud.
However, Atlassian's old infrastructure simply couldn't scale for large customers -- companies with more than around 2,000 employees couldn't use Atlassian's cloud products.
"We spent a lot of time... figuring out all the plumbing to make it all work," Viswanath said, which meant time spent "not adding value to our customers."
The company spent about two years on the migration project, code named Vertigo, and pulled it off without any major customer disruptions. Viswanath talked to ZDNet about why they chose AWS, the best practices they developed for a seamless migration and the benefits they're now seeing.
Going all in with Amazon Web Services
Atlassian decided to go all in with Amazon, Viswanath said, largely because it was already running microservices on AWS and was familiar with it. For instance, Atlassian had created a media service running on AWS that enabled customers to upload and view attachments.
"We clearly wanted to speed up our execution," he said, without spending time "to figure out where to run what."
Furthermore, he said, Amazon "covers the breadth of services we need to focus on adding value to our customers."
Best Practice: Automation
"We spent a lot of time figuring out how to automate everything we did," Viswanath said, "including figuring out which customers should be migrated every night, the process of migration itself. Post-migration, all the tests we needed to run -- not just immediately after, but how do you make sure that beyond that... customer satisfaction is at the same level before and after."
To help with the process, Atlassian created its own dashboard to view all migrations effectively in real time.
Best Practice: Customer Support
"There are always going to be some customers who see something different because of the new environment," Viswanath said. "We wanted to be very proactive in responding to that... to move back any customers [with problems] and fix any issues moving forward. Staying close to the customer support team was definitely useful."
Best Practice: Mapping Out Migration Strategy
Atlassian dedicated a significant amount of time to determining the order in which to migrate customers, Viswanath said.
"We didn't say, 'Let's do all small and easy customers first and then go on to more complex ones,'" he said. "We knew that the larger customers would have a different profile and different usage dynamics once we migrated them."
Best Practice: Team-oriented Culture
"Culture matters a lot in these kinds of massive projects," Viswanath said. "You want to make sure when there's an issue that it's percolated up every single time."
If employees working on the migration are too concerned about taking the blame for problems, "you get the 'watermelon effect,'" he said, "green on the outside but red on the inside. If there were things that were red, we wanted to see it was red to fix it as soon as possible."
Best Practice: Consideration for Special Customers
While the migration didn't hugely impact customers, Atlassian handled some customers especially carefully, waiting to migrate them until the process was nearly complete. There will always be some customers, Viswanath said, with "special customizations that are unique compared to other customers."
Reaping the benefits
After finishing the project in December 2017, Atlassian is now reaping the rewards, Viswanath said. For starters, it's boosted developer speed and seen marked improvements in performance. The current architecture scales well beyond the 2,000-employee cap that previously limited Atlassian's cloud products, setting the company up for the next decade of growth. On top of that, running on AWS and with a multi-tenant architecture is proving to be less expensive.
With the migration wrapped up, Viswanath said Atlassian is looking ahead to other infrastructure projects, such as moving to Kubernetes to enable the company to potentially run on other public clouds as needed. Atlassian is also moving more toward microservices, he said, and investing heavily in automation and self-service.
Previous and related coverage
Mike Cannon-Brookes told a Senate inquiry that if action isn't taken by the Australian government to upskill and retrain people in the face of automation, the consequences are pretty grim for not only workers, but the future of the nation too.
The Stride API is Atlassian's effort to compete in the realm of so-called ChatOps.