Scaling the Web - The Inception of CDN
The World Wide Web became publicly available in August of 1991. Within a few years, PCs became an essential household item and short after it was already clear that the existing infrastructure was not made to scale. Web pages featuring “404 error” codes were a common aggravating flaw in the user experience.
To help the web scale and ease user frustration, CDN (Content Delivery Networks) were launched. Websites with CDN support were now able to serve many more users simultaneously and over the years it became a mandatory part of the infrastructure.
CDN’s value proposition was simple: fast and more reliable content delivery translates to better business: more transactions, more ad impressions, and higher gamer retention. To accomplish this, vendors such as Akamai distributed servers in major Internet junctions and stored static content such as images and videos. Content delivery was priced based on the amount of content served.
While one could argue that since CDNs help increase revenue it should be relatively simple to verify their ROI. CDN vendors have consistently pushed back from setting this as a way to measure success. As a result, customers that wanted to validate the value of the solution started retaining a 3rd party monitoring/testing solution, and the first generation of performance monitoring technology was born.
Monitoring the Web: Synthetic vs. RUM
Performance Monitoring started with a naïve approach called Synthetic Monitoring, in which companies such as Keynote Systems and Gomes (now Dynatrace) distributed test servers and executed scripts on an ongoing basis from well-known data centers globally. Together with the customer they could perform A/B testing and tell what was the marginal contribution of a CDN to a website's performance/reliability.
The problem with Synthetic Monitoring was that by knowing the location of the test servers, CDNs have learned to optimize for these locations, making performance results inaccurate. Over the years, Synthetic Monitoring became more popular for assessing website or API availability as opposed to speed.
Real User Monitoring (RUM) was invented to fill a gap in performance testing. In RUM testing, tests are executed on the devices of real users, with performance results sent to a repository that the website owner has access to it. Though, using RUM required end-user permissions and collecting data only when the user is active is more accurate and representative for performance testing.
A Mobile Revolution With Web Monitoring Adaptation
This was all good until 2007 when the iPhone was launched and mobile data usage started to surge. At first, consumers mostly used browsers to access content on their smartphones, so mobile web usage traffic picked up nicely. Legacy Web monitoring technologies such as Synthetic and Real User Monitoring were adopted to test the Mobile Web by simply adding an HTTP User Agent String (UAS) to support these new devices.
But in 2008 the App store was launched, and Mobile App usage picked up. Thousands and then millions of apps were introduced, and in 2016 mobile app usage surpassed desktop web usage. At this point, traditional CDN and Application Performance Monitoring (APM) solutions that were built to support websites connected to the internet using a wire lost most of their value.
Unfortunately, most CDNs and APMs today are based on legacy solutions that do not accurately address the needs of the modern app developer. Today’s mobile app developers need:
A new implementation of RUM as an integral part of the application, allowing it to collect more information regarding the device and surrounding network conditions. Moreover, these RUM solutions should be free, or at least very inexpensive, in order to proliferate among app developers.
An enhancement to Web CDN designed to handle the last mobile mile, which often features a slower and flakier connection.
Monitoring Mobile Apps: The Need for a New Standard
Mobile app developers that care about performance and measurements are frustrated with the lack of solutions that can present consistent and measurable performance delivery data. They are seeking solutions to help them understand their app network behavior and pinpoint network issues in real-time while enabling them to control and adjust their app behavior at the same time. All the while, they want to easily test mobile-specific alternatives to content delivery.
The mobile app industry and ecosystem have evolved rapidly over the last ten years. Unfortunately, the CDN and performance monitoring industries have not kept pace. In order to usher in the new era of apps, with better performance and more utility, it is imperative that mobile app technologies demand, develop, and deliver better alternatives to the legacy CDN and APM solutions that exist today.
Until then, the mobile app performance industry will remain obsolete, using solutions that were never intended to handle the unique needs of mobile connectivity.