I wanted to take some time to write about my recent interactions with the DC App Performance Toolkit engineering team.
As you all know, I can be very critical of Atlassian. I was very critical of the move to Terraform/Kubernetes for the DC approval process, as this would increase complexity of the deployment process for Marketplace Partners who did not have any experience with Terraform or Kubernetes.
I became even more vocal when the new solution was introduced without a proper replacement of the old CloudFormation one-click deployment, even though this was promised by the team during a meeting on the subject. As a result I postponed our participation in the program, leading to our submission of our annual review being 233 days overdue.
In those 233 days, the DC team reached out to me and we had very open conversations. The team listened to my concerns and worked on a solution, which was made available to me from a DEV branch and eventually ended up in the 7.5.0 release of the DC App Performance Toolkit.
I used the solution the team provided to run the performance & scaling tests of 23 DC apps (!) last week, and I was genuinely impressed by the process.
The one-click docker container solution created by the team was well document, easy to follow and allowed me to provision the environment without any understanding of Terraform or Kubernetes. Although not officially supported, I even managed to run performance tests of 3 products (Jira, Confluence & Bitbucket) simultaneously on the same cluster
The main benefits of the current Terraform solution:
- Three simple CLI commands to install, uninstall and terminate the cluster (using Docker)
- No more manual steps: the Terraform solution provisions the cluster, the instance, the database, the shared storage, everything. All you need to do is change a few variables in a text file
- It scales both vertically as well as horizontally, allowing you to run multiple products on the same cluster, saving you time to test multiple products
- The solution is scriptable: for the next iteration I will be automating the entire process to run from CircleCI
The team was also very helpful in dealing with any troubles I ran into and I was able to provide feedback on the scripts.
So well done @OleksandrMetelytsia and team