METHODS FOR OPTIMIZING THE LOADING AND UPDATING OF WEB PAGES USING CLOUD TECHNOLOGIES

Authors

DOI:

https://doi.org/10.32782/IT/2023-4-5

Keywords:

Cloud technologies, Server Side Rendering, Static Web Pages, Edge caching, Cache Proxy Server, Domain Driven Design.

Abstract

An essential component of modern systems built on cloud technologies, which determines the performance and efficiency of system operation, is caching methods and technologies. For systems that provide static information to end-users, technologies such as SSG (Static Site Generation) and SSR (Server-side Rendering) are applied in building the client side. SSG is typically used for pages with a very low frequency of content changes, as modifying the content on one page requires rebuilding the entire site. To cache SSR application pages, the use of a cache proxy server is recommended. An example of implementing such an approach is Next.js Serverless. However, because the Next.js Serverless technology employs a weak caching model, delivering up-to-date data to end users often takes a significant amount of time, which can negatively impact user interaction. This work is dedicated to addressing this problem. The paper proposes a flexible and efficient solution for generating and caching static pages using a cache proxy server and invalidation for data updates by the cache proxy server upon each change in the system's state. The integration of this solution into complex information systems is explored, and a performance comparison and evaluation of data delivery to end-users are conducted. The results of the conducted experiment demonstrate that the proposed approach solves the identified problem without compromising the performance compared to the Next.js Serverless approach.

References

Thakur N. Singh A. Sangal A.L. Cloud services selection: A systematic review and future research directions. Computer Science Review. Volume 46, 2022. Doi: 10.1016/j.cosrev.2022.100514.

Cloud computing services – Amazon Web Services. URL: https://aws.amazon.com.

Google Cloud console. URL: https://console.cloud.google.com.

Azure Cloud Services. URL: https://azure.microsoft.com/en-us/products/cloud-services.

Chockler G. Laden G. Vigfusson Y. Design and implementation of caching services in the cloud, 2011. Pages: 1 – 11. DOI:10.1147/JRD.2011.2171649.

Choi J. Gu Y. Kim J. Learning-based dynamic cache management in a cloud. Journal of Parallel and Distributed Computing. Volume 145, 2020. Pages: 98-110. DOI: 10.1016/j.jpdc.2020.06.013.

Berger D.S. Gland P. Singla S. Ciucu F. Exact analysis of TTL cache networks. Performance Evaluation. Volume 79, 2014. Pages 2-23. DOI: 10.1016/j.peva.2014.07.001.

Redis. URL: https://redis.io.

Fukuda E.S. Caching memcached at reconfigurable network interface. Conference: IEEE International Conference on Field Programmable Logic and Applications (FPL), 2014. DOI: 10.1109/FPL.2014.6927487.

Elasticache – AWS. URL: https://aws.amazon.com/elasticache.

Wu H. Fan Y. Wang Y. Ma H. Xing L. A Comprehensive Review on Edge Caching from the Perspective of Total Process: Placement, Policy and Delivery, 2021. Doi: 10.3390/s21155033.

Large D. What is a Static Site Generator? Cloud cannon, 2022. URL: https://cloudcannon.com/blog/what-is-a-static-site-generator/.

Yang K. An Introduction to Static Site Generators. Digital Ocean, 2022. URL: https://www.digitalocean.com/community/conceptual-articles/introduction-to-static-site-generators.

Jiang W.R. Yan J.H. Implementation of Static Web-Pages Generator Using JavaScript. Applied Mechanics and Materials, 2010. Pages. 588-591. DOI:10.4028/www.scientific.net/AMM.39.588.

Jekyll. Simple, blog-aware, static sites. URL: https://jekyllrb.com.

Eleventy. A simpler static site generator. URL: https://www.11ty.dev.

The Best React-Based Framework. Gatsby. URL: https://www.gatsbyjs.com.

Vepsäläinen J. Vuorimaa P. Bridging Static Site Generation with the Dynamic Web. In: Di Noia, T., Ko, IY., Schedl, M., Ardito, C. (eds) Web Engineering. ICWE 2022. Lecture Notes in Computer Science, vol 13362, 2022. DOI: 10.1007/978-3-031-09917-5_32. ISBN: 978-3-031-09916-8.

Fink G. Flatow I. Introducing Single Page Applications, 2014. DOI: 10.1007/978-1-4302-6674-7_1.

Gudivada V.N. Rao D. Paris J. Understanding Search Engine Optimization, 2015. Pages: 67-76. DOI: 10.1109/MC.2015.297.

Sun Y. Server-Side Rendering: Building Reliable, High-Performance Web Apps Using Elm-Inspired Architecture, Event Pub-Sub, and Components. Practical Application Development with AppRun, 2019. Pages:191-217. DOI:10.1007/978-1-4842-4069-4_9.

Handlebars. URL: https://handlebarsjs.com.

Pug. URL: https://pugjs.org/api/getting-started.html.

Vilas J.F. Pazos-Arias J.J. Vilas A.F. Optimizing Web Services Performance Using Cache. Journal

of Advanced Computational Intelligence and Intelligent Informatics, 2006. Pages: 713-720. DOI: 10.20965/jaciii.2006.p0713.

Wang J. A Scalable Efficient Robust Adaptive (SERA) Architecture for the Next Generation of Web Service, 1999.

Running Next.js applications with Serverless services on AWS. Serverlessland. URL: https://serverlessland.com/repos/nextjs-serverless-architecture.

Serverless Nextjs Plugin. URL: https://www.serverless.com/plugins/serverless-nextjs-plugin.

Pull-request with a description of how Next.js Serverless works inside. URL: https://github.com/serverless-nextjs/serverless-next.js/pull/1028.

Rajan A.P. Serverless Architecture – A Revolution in Cloud Computing, 2018. DOI: 10.1109/ICoAC44903.2018.8939081.

The React Framework for the Web. URL: https://nextjs.org.

DBB Software compare. Website URL: https://dbbsoftware.com/en.

Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software, 2004. ISBN: 978-0321125217.

Chamberlain N. Applying Domain Driven Design with CQRS and Event Sourcing, 2017.

CloudFront – How AWS Pricing Works. URL: https://docs.aws.amazon.com/whitepapers/latest/howaws-pricing-works/cloudfront.html.

Elasticbeanstalk – AWS. URL: https://aws.amazon.com/elasticbeanstalk.

Downloads

Published

2023-12-28