Leading Software Company
Tuning Up Performance Engineering
What if we could use performance engineering practices to achieve the ideal balance between cost and application performance?
Our client is a leading cross-industry provider of software integration platforms designed to connect SaaS and enterprise applications. Its platform allows customers to create a highly efficient network of applications to fully leverage the potential of different components and accelerate development.
Meeting Customer Needs Required a Performance Engineering Strategy
With so many companies and industries depending on the stability and speed from our client's platform, performance concerns are a top priority. Ensuring the product functions even under the most extreme conditions is essential.
When the company needed to build a team of highly skilled performance engineers, it turned to us to help structure and execute best practices. More specifically, it needed a robust team to optimize and achieve higher levels of platform speed and performance by building on existing practices.
Lastly, the client wanted to use performance testing to ensure that its many applications would perform flawlessly in high-load environments, efficiently analyze large amounts of data, and predict how applications will act in the future to start building more robust applications from the start.
Automating Performance Testing
To achieve more accurate predictions and in-depth insights without dedicating countless hours to running manual tests, we began by automating all performance tests using Hudson, and later migrated to Jenkins. We used Terraform to create environments in AWS, ElasticSearch as a database, and Kibana to display performance dashboards.
We went from running six tests a day to executing between 200 and 300 performance tests concurrently, and now the entire performance testing process takes less than a week to complete.
Fully automated testing makes results easier to track and code changes safer to deploy. In addition, our client’s technical and business teams have the metrics needed to set achievable goals and fix performance issues before production.
Testing to Save Time and Cut Costs
We developed a way for our client’s development team to test changes to code in safe, isolated environments. This was achieved by creating environments in AWS and performing load testing using JMeter.
This strategy allows only one change or factor to be altered at a time, so the client team can accurately identify effects on server runtime later, saving time and cutting costs in the long run.
Under the guidance of our transversal performance engineering team, critical use cases saw performance improvements of more than 200% in less than six months.
Results
Under the guidance of our transversal performance engineering team, critical use cases saw performance improvements of more than 200% in less than six months. The end product, which was improved and iterated on through performance testing and tuning, positions our client to secure more and larger contracts.