Case Study: How 729 Solutions Made Their APIs Resilient toLarge Bursts of Traffic

729 Solutions is one of the oldest development shops in the San Francisco Bay Area. The 729 Solutions team is made up of developers versed in every programming language from HTML and CSS to Java, Python and Ruby, and is entirely focused on Agile software development.
729 Solutions is engineering amazing technology every day. The ability to reliably measure and optimize performance proactively is very important for 729 Solutions, as is the speed of its development pipeline.

Challenge

One of 729 Solutions’ clients was about to bring a custom-built application to market when 729 Solutions partnered with Nouvola. It was a mobile application for video sharing/collaborating. They were expecting a surge of users after their launch, so proactively identifying any potential performance chokepoints was critical.
729 Solutions knew this launch was going to be big. They needed to find a system to rigorously test the backend of the application. They needed to be able to quickly determine if the system was prepared for a large influx of new users. They also needed a system that could access and test the API endpoints they’d established for the application.

Solution

Using Nouvola’s performance testing suite, the 729 Solutions team was able to quickly setup a Session (DiveCloud terminology) that accessed all of the endpoints used in the backend. They could then simulate traffic reflecting users accessing several different accounts, or with all users accessing a single account.
The first run involved several separate tests, run consecutively, with increasing numbers of virtual users. After the first run with only a few users, 729 Solutions was delighted. At that time there were no unexpected errors, or problems with the servers.Also, response time was pretty low and stable throughout the execution.However, they were in for some surprises. The second run increased the load and number of virtual users, and more errors started creeping into the results.
The third run showed that there were several errors that would need correction immediately. Errors usually indicate some suffering in the backend. 729 Solutions realized they needed to fine-tune and optimize the API endpoints.

Results

This first test only simulated a portion of the expected load, whereas the other runs included a full load. Thanks to Nouvola results data, not only was 729 Solutions able to pinpoint the ‘breakpoint’ traffic levels, but they are also able get right to work fixing the issues that were uncovered in an efficient manner. As they put it,

“Using Nouvola allowed us to eliminate hours of work in troubleshooting and determining the source of problems.“

Once 729 Solutions had completed the changes, they re-ran the tests. They started by running the same test, with as many users as we did at the end of the last batch of tests. This time the test produced no unexpected errors! Then optimization achieved the desired results.

“We were delighted.“

729 Solutions then decided to really stress the system, and doubled, then quadrupled the number of virtual users. In this case, the errors were limited to a few expected errors. No surprises!In 729 Solutions words:

“Nouvola not only allowed us to see that there were potential issues before they happened, but also helped us to identify these issues. Nouvola turned what is often a time-consuming and difficult process into one that took a fraction of the time, and accelerated testing and troubleshooting time by orders of magnitude. It also allowed us to demonstrate to our client that the new application was ready to be launched, and would perform well under real world situations.“