Performance Monitoring: Backend vs Front-end Solutions

 

APM. RUM. Data center monitoring, end-user monitoring; backend, front-end, and web performance monitoring.  These are just some of the terms used to describe forms of monitoring for websites and web applications.  Some terms are general, others are precise; some overlap in meaning, and some are synonymous.

Web performance monitoring can be difficult to navigate. The best way to begin to understand web application performance monitoring tools is to first learn the difference between the two major categories:  backend monitoring and front-end monitoring.

In this post, we break down the differences between backend and front-end monitoring to help you put it into action.

What Is Backend Monitoring?

Backend monitoring allows the user to view the performance of the infrastructure that is, the components that run a web application. These include the HTTP server, middleware, database, third-party API services, and more.  Each component may have multiple instances (such as multiple HTTP servers), and components can exist in the same data center or in multiple data centers.

Why Is Backend Monitoring Important?

Backend monitoring helps you find out when things go wrong — fast.  Each of the components powering a web app can run into a host of problems:

  • software performance issues
  • memory issues
  • code bugs
  • system-level software problems (OS issues, security problems)
  • hardware issues (out of memory, out of disk space, disk failure, network card failure).

Problems like these are facts of life on the web, but too often their effects are worse than they need to be because they go undetected.  By employing backend monitoring, site owners can be alerted to problems as soon as they happen.  That way they don’t have to find out their site has crashed hours later when they visit it themselves — or worse, by hearing about it from their customers.  Site outages are resolved faster when they’re identified faster.

Backend Monitoring & SLAs

Beyond the benefits listed above, backend monitoring allows site owners to set and follow up on service level agreements (SLAs) with their infrastructure providers.  With detailed data on what problems occurred, when, and where, site owners can ensure that they are getting the services they’re paying for.

What’s Front-End Monitoring?

Front-end monitoring provides a complete view of the performance of your web application from a user’s perspective, including all third-party content.  Front-end monitoring is synonymous with “user experience” or “end-user” monitoring: it paints a picture of what actual users are seeing when they request your website.  Based on a user’s location, browser, connection speed, and a host of other factors, the front-end experience on your site can be radically different.  Front-end monitoring provides visibility into those discrepancies.

Trending data from 5 locations around the world for the London 2012 Olympics site, via Yottaa Monitor

While backend monitoring alerts you of failures of your own components, front-end monitoring reveals performance problems that are not necessarily related to component failure.  These include:

  • Content problems (i.e., a new image on your site is too heavy, drags down performance; a script served by a site like Facebook is down, thereby slowing down your site)
  • Browser-compatibility problems (i.e., users on Firefox 13 are experiencing a much slower page load than users on other browsers)
  • Location-based problems (i.e., users in Asia are experiencing a much slower site than users elsewhere)
  • Network issues (?last mile? connectivity is a bottleneck, especially on mobile)

Simply put, front-end monitoring is important because the front-end is what users see, and the user’s experience is what ultimately matters.  If your site takes too long to load or provides a suboptimal user experience, you’ll lose site visitors and customers.

3 Front-end Monitoring Solutions

Solutions under the front-end monitoring umbrella operate through different means. Here are three main ways data is collected:

1. RUM: Real User Monitoring.  This type of solution takes performance data from actual user visits as they happen, via a JavaScript injected into the browser.  RUM is effective for gathering data to find trends and patterns in performance.  RUM is limited, however, when it comes to pinpointing the source of a problem on your site (no waterfall chart accompanies the data) or alerting you to problems quickly.

2. Simulated Browsers.  This type of front-end monitoring system uses simulated browsers to access a web page or web application.  This is the cheapest monitoring option but is limited because simulated browsers cannot offer as accurate a representation of user experience as a real browser visit.

3. Real-Browser Monitoring.  This type of front-end monitoring uses real browsers — rather than simulated browsers — to access a website or web application.  This means it gathers information on exactly what a user would see if he or she accessed the site with the given criteria of the browser, geographic location, and type of Internet connection.  This will allow you to fine-tune your site’s performance for certain criteria before any of your users run into problems.

So What Should You Implement?

Some solutions offer a front-to-back solution for performance monitoring.  Others excel at either the front end or backend.  In the end, though, choosing a monitoring solution comes down to budget.  Some are trivially cheap; others are thousands of dollars per month.  On the high end are Gomez and Keynote, and on the lower end, there’s a host of open-source and bare-bones solutions.

And then there’s our solution (we can’t help but mention it!).  Yottaa’s monitoring solution uses real-browsers run through a global hybrid-cloud network.  The solution includes alerts by email and SMS for issues that you define.

 

Search