МЕТОДИ ОПТИМІЗАЦІЇ ЗАВАНТАЖЕННЯ ТА ОНОВЛЕННЯ ВЕБСТОРІНОК ЗА ДОПОМОГОЮ ХМАРНИХ ТЕХНОЛОГІЙ

Автор(и)

DOI:

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

Ключові слова:

хмарні технології, рендеринг на боці сервера, статичні вебсторінки, Едж Кешування, Кеш Проксі-сервер, Доменно-орієнтований Дизайн.

Анотація

Важливою складовою сучасних систем, побудованих на базі хмарних технологій, від якої залежить продуктивність та ефективність функціонування системи, є методи та технології кешування. Для ряду систем, які надають статичну інформацію кінцевому користувачеві, для побудови клієнтської частини застосовуються такі технології, як SSG (Static Site Generation), SSR (Server-side Rendering). SSG, як правило, застосовується для сторінок, частота зміни вмісту яких дуже низька, оскільки для зміни вмісту на одній сторінці потрібне перезбирання всього сайту. Для кешування сторінок SSR-додатків пропонується використовувати кеш-проксі-сервер. Прикладом реалізації такого підходу може служити Next.js Serverless. Проте через те, що технологія Next.js Serverless використовує слабку модель кешування, доставка актуальних даних кінцевим користувачам часто займає значну кількість часу, що може негативно вплинути на взаємодію з користувачем. Вирішенню цієї проблеми присвячена дана робота. У роботі пропонується гнучке та ефективне рішення для генерації та кешування статичних сторінок з використанням кеш-проксі-сервера та інвалідації для актуалізації даних кеш-проксі-сервера при кожній зміні стану системи. Досліджено інтеграцію цього рішення в складні інформаційні системи, проведено порівняння продуктивності та оцінку доставки даних кінцевому користувачеві. Результати проведеного експерименту показують, що запропонований підхід вирішує поставлену проблему, не уступаючи в продуктивності підходу Next.js Serverless.

Посилання

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.

##submission.downloads##

Опубліковано

2023-12-28