Welcome!

@DevOpsSummit Authors: Yeshim Deniz, Pat Romanski, Elizabeth White, Liz McMillan, Zakia Bouachraoui

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Feed Post

The Impact of Web Caching | @DevOpsSummit #DevOps #Storage #WebPerf

Caching is a way of temporarily storing the contents of a webpage in locations near the user, similar to the way memory works

The Impact of Web Caching
By Alva Yashaswi

Try to remember something that happened on your last vacation. How long did it take you to recall? Now, try to remember it again. You were probably able to recall it faster the second time — but, why? This is because as soon as you recalled the event the first time, your brain saved the information to your recent memory.

The same concept applies to caching. Caching is a way of temporarily storing the contents of a webpage in locations near the user, similar to the way our memory works. There are several types of caching options available like database caching, application caching, and distributed caching. In this article, we’ll talk about web caching and how it affects user experience.

What is web caching?
Website developers use different techniques to optimize performance and improve speed. One such method is web caching, which involves downloading the shared page elements (JavaScript, CSS, images, etc.) and storing it closer to the user so the browser can retrieve this data from the stored location, rather than querying the web server again.

Web caching minimizes network traffic and improves the perceived performance of the web page. Caching can be implemented at different levels along the network path. The following are the possible caching entities between the origin server and the browser:

  • Local browser: Your browser maintains a place on your hard disk where it stores content that is being requested frequently.
  • ISPs or caching proxies: Servers along the network path can cache the content. These servers can belong to either ISPs or any other third party.
  • Content Delivery Network (CDN): CDNs make use of multiple networked servers to distribute the web content from locations closer to the users.
  • Proxy for your back-end server: You can have your infrastructure built on top of your backend servers, which can cache all your content and act as a focal point for reducing the load on your backend server.

How do the caching entities know what to cache?
Caching is implemented through an HTTP headers directive named “Cache-Control,” which is sent out in instances of HTTP response headers. If the request is allowed to cache, entities will keep a copy of the page for a specified period, which helps the content owner determine the caching behavior. Cache control lets the entities identify the response/request that can be cached and for how long.

Syntax Cache-Control: public

Here is an example of an HTTP Response with Cache-Control header

How does caching help in improving user experience?
User experience can have a direct impact on your brand; it can either build your online business or hinder its growth. There are several components that contribute to a satisfactory user experience. Caching is an important factor to consider when optimizing website performance. It has the following advantages:

1. Reduced latency
The load time of a website can be a cause for user frustration; pages that takes long time to load usually results in higher bounce rates, let us look at some of the stats:

  • 51% of online shoppers in the US say that site slowness is the top reason they’d abandon a purchase
  • A 2-second delay in load time during a transaction results in abandonment rates of up to 87%

The speed at which the webpage loads is crucial in ensuring a good digital experience and caching can reduce load time as it serves content from a location nearest to the users – either on the user’s hard disk or a nearby server.

The above image illustrates the impact of caching. As you can see, the page loads 50% faster when cached. Caching reduces latency in the roundtrip time by retrieving the content much faster. The time taken to retrieve the resource from the cache will be lower than the time it takes from the origin server and this speeds up the content delivery process.

2. Content availability
Content availability is a key component in user experience as users from across the globe can access the website. A site may not load for a user due to several reasons – the network may be prone to frequent interruptions or the site may be experiencing intermittent outages. In such cases, caching will save the day by serving end users the cached content, making the website robust.

3. Avoids network congestion
The internet handles huge amounts of data and manages heavy traffic through the day; as a result, bandwidth congestion can be an issue on major networks.

To understand this better, let’s use a restaurant as an example. Assume that there is only a single location for this restaurant in the city, making it a crowded spot with customers coming in every few minutes. If the restaurant ends up exhausting all of its resources trying to manage everyone, service could be delayed as they are working above their existing capacity, resulting in a long line of customers waiting to be served. The restaurant would be able to manage better if they had more than one location in the city to help distribute the customers and balance the load.

The same logic applies to the Internet as well. Network congestion can be greatly reduced with caching, as the path traveled in fetching the content is cut short when it’s cached. Since all the requests are not directed towards the origin, it frees up the network and reduces the load on the origin server, helping it serve non-cached content faster.

The image above demonstrates the difference in the number of requests with or without cache on the wire.

Disadvantages of Caching
The best practices for implementing a cache strategy are not strictly defined, so if caching is not set up correctly, then the browser will not be able to validate the cached content and the page may load outdated content, which can have a negative impact on the user experience.

Caching entities include third-party proxy servers shared by multiple users which are always at risk of being compromised. If caching servers are hacked then it impacts all users connected to this server.

Troubleshooting Caching Issues
A performance monitoring solution has proven to be a very effective way of mitigating issues associated with caching. One of our own customers reported an issue in which users from certain locations were unable to use the search feature on their website. In this instance, the search results were blank.

While troubleshooting the issue, we found that one of the CDN servers was fetching a zero-byte JavaScript from cache. The cache was not updated at the CDN level, which resulted in the search error. This incident taught us two vital lessons:

  • Continuous evaluation of caching policies is important
  • Always have CDN monitoring in place

Implementation of caching will help grow your business positively by being a vital cog in ensuring business sustenance. But at the same time, it is very important to ensure optimal caching policies are in place to suit your business. Tailored solutions are the way to go because there is no one-size-fits-all solution. Caching may not be the talisman, but it will ensure that your business stays afloat and affluent with minimal exertions.

The post The Impact of Web Caching appeared first on Catchpoint's Blog - Web Performance Monitoring.

Read the original blog entry...

More Stories By Mehdi Daoudi

Catchpoint radically transforms the way businesses manage, monitor, and test the performance of online applications. Truly understand and improve user experience with clear visibility into complex, distributed online systems.

Founded in 2008 by four DoubleClick / Google executives with a passion for speed, reliability and overall better online experiences, Catchpoint has now become the most innovative provider of web performance testing and monitoring solutions. We are a team with expertise in designing, building, operating, scaling and monitoring highly transactional Internet services used by thousands of companies and impacting the experience of millions of users. Catchpoint is funded by top-tier venture capital firm, Battery Ventures, which has invested in category leaders such as Akamai, Omniture (Adobe Systems), Optimizely, Tealium, BazaarVoice, Marketo and many more.

@DevOpsSummit Stories
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a member of the Society of Information Management (SIM) Atlanta Chapter. She received a Business and Economics degree with a minor in Computer Science from St. Andrews Presbyterian University (Laurinburg, North Carolina). She resides in metro-Atlanta (Georgia).
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, discussed how to use Kubernetes to set up a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace. His expertise is in automating deployment, management, and problem resolution in these environments, allowing his teams to run large transactional applications with high availability and the speed the consumer demands.
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will deployment. Storage, for instance, is more capable than where we read and write data. In his session at @DevOpsSummit at 20th Cloud Expo, Josh Atwell, a Developer Advocate for NetApp, will discuss the role and value extensible storage infrastructure has in accelerating software development activities, improve code quality, reveal multiple deployment options through automated testing, and support continuous integration efforts. All this will be described using tools common in DevOps organizations.
Andi Mann, Chief Technology Advocate at Splunk, is an accomplished digital business executive with extensive global expertise as a strategist, technologist, innovator, marketer, and communicator. For over 30 years across five continents, he has built success with Fortune 500 corporations, vendors, governments, and as a leading research analyst and consultant.