A Qualitative Study of Application-level Caching

by   Jhonny Mertz, et al.

Latency and cost of Internet-based services are encouraging the use of application-level caching to continue satisfying users' demands, and improve the scalability and availability of origin servers. Despite its popularity, this level of caching involves the manual implementation by developers and is typically addressed in an ad-hoc way, given that it depends on specific details of the application. As a result, application-level caching is a time-consuming and error-prone task, becoming a common source of bugs. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. In this paper, we present the results of a qualitative study of how developers handle caching logic in their web applications, which involved the investigation of ten software projects with different characteristics. The study we designed is based on comparative and interactive principles of grounded theory, and the analysis of our data allowed us to extract and understand how developers address cache-related concerns to improve performance and scalability of their web applications. Based on our analysis, we derived guidelines and patterns, which guide developers while designing, implementing and maintaining application-level caching, thus supporting developers in this challenging task that is crucial for enterprise web applications.



There are no comments yet.


page 10


Automation of application-level caching in a seamless way

Meeting performance and scalability requirements while delivering servic...

Understanding Application-Level Caching in Web Applications: A Comprehensive Introduction and Survey of State-of-the-Art

A new form of caching, namely application-level caching, has been recent...

Satisfying Increasing Performance Requirements with Caching at the Application Level

Application-level caching is a form of caching that has been increasingl...

FaaT: A Transparent Auto-Scaling Cache for Serverless Applications

Function-as-a-Service (FaaS) has become an increasingly popular way for ...

InfiniCache: Exploiting Ephemeral Serverless Functions to Build a Cost-Effective Memory Cache

Internet-scale web applications are becoming increasingly storage-intens...

A Systematic Literature Review of Automated Query Reformulations in Source Code Search

Software developers often fix critical bugs to ensure the reliability of...

Actor Database Systems: A Manifesto

Interactive data-intensive applications are becoming ever more pervasive...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.