Not so long ago, having a website to support your business was cutting-edge and gave you a significant advantage over your competition. Now eCommerce is the order of the day for a large percentage of enterprises and those who are not online may not be able to survive. This situation makes it critical that enterprises continue adding new features and functions to their websites and that those updates are well tested and working according to their design. Adding a level of complexity to application development and deployment testing is when those applications run on a hybrid setup with some of the supporting infrastructure maintained on site and some in the cloud, making a large portion of the execution path unable to be traced and measured by the usual APM techniques. One reason for this is that applications often rely on Application Programming Interfaces (APIs) to connect with partners, suppliers, and customers. Recent research had 95% of survey respondents reporting that their companies were actively utilising both provider and consumer APIs. At the same time, the vast majority are still monitoring API-connected transactions from a silo versus an end-to-end perspective. This post will look at testing API’s and how to go about it.
Growth of API Protocols
One reason for this is that the growth of standards-based API protocols (REST and SOAP) in recent years has created a challenge for incumbent APM providers. Without specific support for these protocols, it becomes difficult to trace the execution of APIs through the web and other complex architectures. This can become an issue for traditional APM solutions that were developed when application ecosystems were less dynamic.
Lacking the tools required to test and manage at the application layer makes it difficult to discern which infrastructure components are supporting particular applications and where problems are really located. That makes it all the more surprising to discover that over 50% of IT organizations don’t have the tools required to fully manage at the application layer. Even fewer have the toolsets able to trace how transactions are executing and identifying which components in the hybrid setup are executing specific portions of the transaction.
In order to capitalize on the new normal, website testing should encompass both Application Performance Monitoring (APM) and User Experience Monitoring (UEM). To do that you need to have access to well-designed APM/UEM testing solutions. Unfortunately, almost always UEM and APM solutions are separate products whose results have to be cross-checked and correlated before any conclusions can be drawn about test results.
Monitoring and testing capabilities such as those Apica offers, including transaction monitoring, load testing, and monitoring of APIs and non-standard “applications” such as streaming, are outside the scope of coverage of many traditional APM solutions. Apica can also “tag” transaction headers to provide visibility into application flows across on- and off-premises systems. Tags or labels can be sent to and, identified by, APM analytics as being part of a single transaction. This adds detailed execution information to standard APM analysis routines, supporting continuous testing versus periodic sampling.
You need to be able to follow transactions on an end-to-end basis to find the problem points in your application delivery and have to factor APIs and your hybrid deployment into the testing you’re doing. Testing API’s might be difficult but it is the future of testing.