Information -- in this case, information about how an application is performing and why -- can be a powerful tool.
For CareGroup HealthCare System in Boston, the information obtained from its application performance management/monitoring (APM) software not only helped to improve application quality and performance, but opened up communication among various technology teams, according to Ayad Shammout, lead technical database administrator.
The use of an APM tool for the past six years has had "a great impact on the quality of applications and the design of the applications," Shammout said. "And it did open up good communication, not just between ops and apps, but infrastructure teams as well. When we experience a problem, it doesn't take us long to work together and troubleshoot it, and avoid it happening again in the future."
CareGroup originally purchased i3, its application performance management solution, from Redwood Shores, Calif.-based Precise Software Solutions Inc., which was subsequently acquired by Symantec. A year ago, Precise became independent again, and this week rolled out the latest version of its APM product, now called Precise 8.5.
Zohar Gilad, Precise's executive VP of products, marketing and channels, positions the tool as a transaction processing monitor (TPM), which he said is an evolution of APM.
"In APM end-to-end [monitoring], you're taking information from different silos and displaying it on the same screen," he explained. "In TPM, you're not only displaying but correlating this information in the transaction context. TPM can track the transaction through all the silos to the system of record; you can drill down in the context of the transaction to locate the problem and work on it with a specialist; and third, [you can] suggest corrective action."
To monitor performance, "you now need to tie together what's happening on the Web server, the application server, the database server," said Jasmine Noel, an analyst at Ptak, Noel & Associates LLC, IT operations and management consultants in New York, "You now have composites of things, and you've got integration architecture underneath. You have to follow the transaction. Once you know what it looks like you can figure out what is good performance for that transaction. You need tools to not only check functionality, but understand what the performance is in the testing phase before you kick it over. It's easier if you have some commonality between development/testers and the ops folks."
Gilad said a number of customers do transaction processing monitoring throughout the lifecycle to "clean up the application before it gets thrown into production," something Precise encourages.
At CareGroup, about 50% of the applications are internally developed, Shammout said, and his group works closely with those developers. "When we deploy new code we put it on a development server in staging and monitor [performance]. We don't have an exact apples-to-apples comparison," he acknowledged. Once the application is deployed into production and monitored, any further issues are communicated to the developers, who implement changes right away.
CareGroup has also used the information provided by the Precise product to identify application performance issues in third-party applications, and vendors have used the data to tune their products, Shammout said.
For example, he said, CareGroup has a clinical application with a Web front end and SQL on the back end, and the users were experiencing some problems. They used Precise to troubleshoot application performance.
"One issue with that application was when the user connected to the database it opened almost 35 connections concurrently for that user. With SQL there is a limited number of connections; the same thing on the Web server side. That application was exceeding [the connections] on both sides. We reported it back to the vendor. They rewrote the code and that totally solved that problem," Shammout said.
Another third-party application performance issue CareGroup solved by using information from Precise involved the way the vendor upgraded the application. "Every time they upgraded the application, they kept adding [database] indexes without paying attention to the old ones and [whether] we still needed them," Shammout explained. "Over time it affected the performance of the database, and the maintenance of those indexes increased a lot. Maybe we were only using 10 out of the 40 indexes, but we were maintaining all 40."
Using the TPM, CareGroup was able to show a list of unused indexes over the previous six months, the overhead and performance impact, and what the recommended list of indexes should be, he said. The vendor was "amazed" at the information, and addressed it in the next release.
Performance issues crop up with third-party applications for a number of reasons, Shammout said. For example, there may be "a junior developer who's not looking at performance as a priority, but just functionality." He added that "the other problem a lot of vendors have is developers keep coming and going, and they inherit code from the previous developer, and they don't bother tuning the code. They're not paying attention to potential performance issues. They just keep building on top, and we as customers suffer these issues."
While Shammout said most vendors will utilize the information gleaned from Precise and incorporate changes in the next service pack, clinical systems can't wait several months for performance improvements. He said they go ahead and tune the application themselves and inform the vendor so that the service pack doesn't override their fixes. "In the meantime," he said, "we see almost 100% performance improvement."