Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал:
http://elartu.tntu.edu.ua/handle/lib/44839
Назва: | Дослідження процесів оптимізації розробки full-stack застосунків для підвищення характеристик ефективності та масштабованості |
Інші назви: | Research on full-stack development optimization processes to increase efficiency and scalability characteristics |
Автори: | Болож, Олександр Васильович Bolozh, Oleksandr |
Приналежність: | ТНТУ ім. І. Пулюя, Факультет комп’ютерно-інформаційних систем і програмної інженерії, Кафедра комп’ютерних наук, м. Тернопіль, Україна |
Бібліографічний опис: | Болож О.В. Дослідження процесів оптимізації розробки full-stack застосунків для підвищення характеристик ефективності та масштабованості: кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю “122 – комп’ютерні науки” / О.В. Болож – Тернопіль: ТНТУ, 2024. – 75 с. |
Дата публікації: | 29-тра-2024 |
Дата подання: | 15-тра-2024 |
Дата внесення: | 31-тра-2024 |
Країна (код): | UA |
Місце видання, проведення: | ТНТУ ім. І.Пулюя, ФІС, м. Тернопіль, Україна |
Науковий керівник: | Боднарчук, Ігор Орестович |
Члени комітету: | Кульчицький, Тарас Русланович |
УДК: | 004.41 |
Теми: | full-stack розробка full-stack development безсерверні обчислення serverless computing кешування caching ефективність efficiency масштабованість scalability CI/CD |
Короткий огляд (реферат): | Кваліфікаційна робота присвячена дослідженню процесів оптимізації розробки full-stack застосунків для підвищення характеристик ефективності та масштабованості та їх впровадженню. У першому розділі кваліфікаційної роботи розглядається концепція full-stack розробки, аналізуються ключові аспекти ефективності та масштабованості full-stack застосунків, а також досліджуються сучасні підходи до оптимізації розробки задля підвищення зазначених характеристик. Другий розділ присвячений дослідженню безсерверної моделі обчислень як одного з методів оптимізації. Також розглядається методологія навантажувального тестування як метод оцінки ефективності та масштабованості full-stack застосунків та описується концепція конвеєрів безперервної інтеграції та безперервного розгортання (CI/CD). У третьому розділі здійснюється впровадження методів оптимізації, зокрема безсерверної моделі обчислень, кешування та CI/CD, проводиться навантажувальне тестування та здійснюється оцінка ефективності та масштабованості на основі результатів. В четвертому розділі кваліфікаційної роботи розглядаються питання охорони праці та безпеки в надзвичайних ситуаціях, зокрема фізіологічні та психологічні аспекти праці, вимоги до режимів праці та відпочинку під час роботи з комп'ютерними системами та підвищення стійкості функціонування підприємств приладобудівної галузі в умовах воєнного часу. The qualification work is devoted to the study of full-stack development optimization processes to increase efficiency and scalability characteristics and their implementation. The first chapter of the qualification work discusses the concept of full-stack development, analyzes the key aspects of efficiency and scalability of full-stack applications, and explores modern approaches to optimizing development to improve these characteristics. The second section is devoted to the study of the serverless computing model as one of the optimization methods. It also considers the load testing methodology as a method for evaluating the efficiency and scalability of full-stack applications and describes the concept of continuous integration and continuous deployment (CI/CD) pipelines. The third section introduces optimization methods, including serverless computing, caching, and CI/CD, conducts load testing, and evaluates the efficiency and scalability based on the results. The fourth section focuses on occupational health and safety in emergencies, including the physiological and psychological aspects of work, requirements for work and rest regimes when working with computer systems, and improving the resilience of the functioning of instrument-making enterprises in wartime. |
Зміст: | ВСТУП 9 1 АНАЛІТИЧНИЙ ОГЛЯД ІСНУЮЧИХ КОНЦЕПЦІЙ ТА МЕТОДОЛОГІЙ ОПТИМІЗАЦІЇ РОЗРОБКИ FULL-STACK ЗАСТОСУНКІВ 11 1.1 Огляд концепції full-stack розробки 11 1.2 Аналіз ефективності та масштабованості full-stack застосунків 12 1.3 Аналіз методів оптимізації розробки для підвищення ефективності та масштабованості 14 1.3.1 Мікросервісна архітектура 14 1.3.2 Кешування 15 1.3.3 Асинхронна обробка 16 1.3.4 Горизонтальне масштабування 17 1.3.5 Хмарні та безсерверні обчислення 19 1.3.6 DevOps 21 1.4 Висновок до першого розділу 23 2 ДОСЛІДЖЕННЯ МОДЕЛІ БЕЗСЕРВЕРНИХ ОБЧИСЛЕНЬ, КОНЦЕПЦІЇ CI/CD КОНВЕЄРІВ ТА МЕТОДОЛОГІЇ ТЕСТУВАННЯ ПРОДУКТИВНОСТІ 24 2.1 Безсерверні обчислення 24 2.1.1 Характеристика безсерверних обчислень 24 2.1.2 Безсерверна архітектура 26 2.1.3 Переваги та недоліки безсерверної архітектури 28 2.1.4 FaaS платформи 29 2.2 Тестування продуктивності 30 2.2.1 Характеристика тестування продуктивності 30 2.2.2 Інструменти тестування продуктивності 32 2.3 CI/CD конвеєри 33 2.3.1 Характеристика CI/CD конвеєрів 33 2.3.2 Ключові показники ефективного CI/CD конвеєру 35 2.3.3 Платформи для розгортання CI/CD конвеєрів 36 2.4 Висновок до другого розділу 38 3 ВПРОВАДЖЕННЯ ПРОЦЕСІВ ОПТИМІЗАЦІЇ НА ПРИКЛАДІ МУЗИЧНОЇ ПЛАТФОРМИ 39 3.1 Аналіз вимог до експериментальної системи 39 3.1.1 Зміни та покрашення вихідної системи 39 3.1.2 Функціональні вимоги 40 3.1.3 Нефункціональні вимоги 41 3.2 Принцип декомпозиції монолітної архітектури на безсерверні функції 42 3.3 Проєктування архітектури музичної платформи з впровадженням процесів оптимізації 44 3.4 Розгортання архітектури музичної платформи 46 3.5 Навантажувальне тестування системи 50 3.5.1 Проведення навантажувального тестування 50 3.5.2 Аналіз результатів тестування 56 3.6 Реалізація CI/CD конвеєру для мобільного застосунку музичної платформи 57 3.7 Висновок до третього розділу 61 4 ОХОРОНА ПРАЦІ ТА БЕЗПЕКА В НАДЗВИЧАЙНИХ СИТУАЦІЯХ 62 4.1 Праця та її фізіологічні і психологічні особливості 62 4.2 Вимоги до режимів праці і відпочинку при роботі з ПК 63 4.3 Підвищення стійкості роботи підприємств приладобудівної галузі у воєнний час 65 4.4 Висновок до четвертого розділу 68 ВИСНОВКИ 69 ПЕРЕЛІК ДЖЕРЕЛ 71 ДОДАТКИ |
URI (Уніфікований ідентифікатор ресурсу): | http://elartu.tntu.edu.ua/handle/lib/44839 |
Власник авторського права: | © Болож Олександр Васильович, 2024 |
Перелік літератури: | 1. Болож О. Розробка веб-сайту “Artise” засобами React, Node.js та MongoDB [Електронний ресурс] / Олександр Болож. – 2022. – Режим доступу до ресурсу: https://elartu.tntu.edu.ua/bitstream/lib/38366/1/2022_KRB_SN-41_Bolozh_O_V.pdf 2. Волович В. Задача проєктування програмної архітектури в процесах забезпечення якості [Електронний ресурс] / В. Волович, Б. Береженко, І. Боднарчук // ТНТУ. – 2022. – Режим доступу до ресурсу: https://elartu.tntu.edu.ua/bitstream/lib/40339/2/XNTK_2022_Volovych_V-The_problem_of_software_104-106.pdf 3. Гандзюк М. П. Основи охорони праці / М. П. Гандзюк, Є. П. Желібо, М. О. Халімовський. – Київ, 2005. – 407 с. 4. Проектування архітектури програмних систем в проектах з гнучкими методами управління [Електронний ресурс] / І.Боднарчук, О. Харченко, Б. Хоміцький, Г. Шимчук // ТНТУ. – 2019. – Режим доступу до ресурсу: https://elartu.tntu.edu.ua/bitstream/lib/28122/2/XXI_NK_2019_Bodnarchuk_I-Software_systems_architecture_46-48.pdf 5. Рогозін А. С. Підвищення стійкості роботи об’єктів господарювання в надзвичайних ситуаціях мирного та воєнного часів [Електронний ресурс] / А. С. Рогозін. – 2016. – Режим доступу до ресурсу: https://studfile.net/preview/5197475 6. Amazon API Gateway pricing [Електронний ресурс] – Режим доступу до ресурсу: https://aws.amazon.com/api-gateway/pricing/ 7. Amazon S3 [Електронний ресурс] // AWS – Режим доступу до ресурсу: https://aws.amazon.com/s3/ 8. Amazon SQS pricing [Електронний ресурс] – Режим доступу до ресурсу: https://aws.amazon.com/sqs/pricing/ 9. Apache JMeter [Електронний ресурс] – Режим доступу до ресурсу: https://jmeter.apache.org/ 10. Arokia Paul Rajan R. Serverless Architecture - A Revolution in Cloud Computing [Електронний ресурс] / Arokia Paul Rajan // IEEE. – 2018. – Режим доступу до ресурсу: https://ieeexplore.ieee.org/document/8939081 11. Artillery Docs [Електронний ресурс] – Режим доступу до ресурсу: https://www.artillery.io/ 12. Asynchronous Processing [Електронний ресурс] // Reintech – Режим доступу до ресурсу: https://reintech.io/term/asynchronous-processing 13. AWS Lambda Pricing [Електронний ресурс] – Режим доступу до ресурсу: https://aws.amazon.com/lambda/pricing/ 14. Choudary A. Performance Testing Life Cycle: A Comprehensive Guide To The Testing Phases [Електронний ресурс] / Archana Choudary. – 2019. – Режим доступу до ресурсу: https://medium.com/edureka/performance-testing-life-cycle-d4242d39a5aa 15. Content delivery networks (CDNs) for Content-Driven Web Apps [Електронний ресурс] // Google – Режим доступу до ресурсу: https://developers.google.com/solutions/content-driven/hosting/cdn 16. Dalmia A. The New Era of Full Stack Development Intoduction of Cloud and It\'s Impacts [Електронний ресурс] / A. Dalmia, A. Chowdary – Режим доступу до ресурсу: https://www.researchgate.net/publication/340460348_The_New_Era_of_Full_Stack_Development_Intoduction_of_Cloud_and_It\'s_Impacts 17. Deep M. D. Performance Testing: Methodology for Determining Scalability of Web Systems [Електронний ресурс] / Manishkumar Dave Deep. – 2024. – Режим доступу до ресурсу: https://www.researchgate.net/publication/377656310_Performance_Testing_Methodology_for_Determining_Scalability_of_Web_Systems 18. DevOps [Електронний ресурс] // Wikiversity – Режим доступу до ресурсу: https://en.wikiversity.org/wiki/DevOps/ 19. Economics of "Serverless" [Електронний ресурс] / [Á. Rodríguez, G. López, M. Evgeniev та ін.] // BBAV. – 2018. – Режим доступу до ресурсу: https://www.bbva.com/en/innovation/economics-of-serverless/ 20. Efficiency - Maximizing Software Performance [Електронний ресурс] // Reintech – Режим доступу до ресурсу: https://reintech.io/terms/category/efficiency-software-development/ 21. fastlane docs [Електронний ресурс] – Режим доступу до ресурсу: https://docs.fastlane.tools/ 22. Full Stack Development Explained [Електронний ресурс] – Режим доступу до ресурсу: https://www.mongodb.com/languages/full-stack-development 23. Grafana k6 documentation [Електронний ресурс] – Режим доступу до ресурсу: https://grafana.com/docs/k6/latest/ 24. Hassan B. H. Survey on serverless computing [Електронний ресурс] / B. H. Hassan, A. B. Saman, I. S. Qusay. – 2021. – Режим доступу до ресурсу: https://journalofcloudcomputing.springeropen.com/articles/10.1186/s13677-021-00253-7 25. Kharchenko A. The method of quality management software [Електронний ресурс] / A. Kharchenko, I. Galay, V. Yatcyshyn // IEEE. – 2011. – Режим доступу до ресурсу: https://ieeexplore.ieee.org/document/5960278 26. Kharchenko A. The Survey of Global Software Design Processes [Електронний ресурс] / A. Kharchenko, I. Raichev, I. Bodnarchuk // IEEE. – 2021. – Режим доступу до ресурсу: https://ieeexplore.ieee.org/document/9772205 27. Kuhlenkamp J. https://sci-hub.se/https://dl.acm.org/doi/10.1145/3341105.3373948 [Електронний ресурс] / J. Kuhlenkamp, S. Werner, M. Borges – Режим доступу до ресурсу: https://sci-hub.se/https://dl.acm.org/doi/10.1145/3341105.3373948 28. Martin F. Microservices [Електронний ресурс] / F. Martin, L. James – Режим доступу до ресурсу: https://martinfowler.com/articles/microservices.html 29. Migrating from Monolithic to Serverless: A FinTech Case Study [Електронний ресурс] // ResearchGate. – 2020. – Режим доступу до ресурсу: https://www.researchgate.net/publication/340681076_Migrating_from_Monolithic_to_Serverless_A_FinTech_Case_Study 30. Milić M. Development of a Quality-Based Model for Software Architecture Optimization: A Case Study of Monolith and Microservice Architectures [Електронний ресурс] / M. Milić, D. Makajić-Nikolić – Режим доступу до ресурсу: https://www.mdpi.com/2073-8994/14/9/1824 31. NestJS Documentation [Електронний ресурс] – Режим доступу до ресурсу: https://docs.nestjs.com/ 32. PaaS vs. IaaS vs. SaaS vs. CaaS: How are they different? [Електронний ресурс] // Google – Режим доступу до ресурсу: https://cloud.google.com/learn/paas-vs-iaas-vs-saas 33. Performance Testing - Software Testing [Електронний ресурс] // GeeksforGeeks. – 2023. – Режим доступу до ресурсу: https://www.geeksforgeeks.org/performance-testing-software-testing/ 34. Pogiatzis A. An Event-Driven Serverless ETL Pipeline on AWS [Електронний ресурс] / Antreas Pogiatzis. – 2021. – Режим доступу до ресурсу: https://www.mdpi.com/2076-3417/11/1/191 35. Richardson C. Microservice Architecture pattern [Електронний ресурс] / Chris Richardson – Режим доступу до ресурсу: https://microservices.io/patterns/microservices 36. Roberts M. What is Serverless? [Електронний ресурс] / M. Roberts, J. Chapin // O’Reilly Media. – 2017. – Режим доступу до ресурсу: https://www.symphonia.io/what-is-serverless.pdf 37. Scalability [Електронний ресурс] // Gartner – Режим доступу до ресурсу: https://www.gartner.com/en/information-technology/glossary/scalability 38. Serverless computing [Електронний ресурс] // Wikipedia – Режим доступу до ресурсу: https://en.wikipedia.org/wiki/Serverless_computing 39. Software Efficiency Matters [Електронний ресурс] // O’Reilly. – 2022. – Режим доступу до ресурсу: https://www.oreilly.com/library/view/efficient-go/9781098105709/ch01.html 40. Stephen B. CI/CD pipelines explained: Everything you need to know [Електронний ресурс] / Bigelow Stephen. – 2021. – Режим доступу до ресурсу: https://www.techtarget.com/searchsoftwarequality/CI-CD-pipelines-explained-Everything-you-need-to-know 41. The NIST Definition of Cloud Computing [Електронний ресурс] // NIST – Режим доступу до ресурсу: https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-145.pdf 42. Trade-off optimal decision of the problem of software system architecture choice [Електронний ресурс] / A.Kharchenko, I. Halay, N. Zagorodna, I. Bodnarchuk // IEEE. – 2015. – Режим доступу до ресурсу: https://ieeexplore.ieee.org/abstract/document/7325465 43. Understanding GitHub Actions [Електронний ресурс] // GitHub – Режим доступу до ресурсу: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions 44. Wen, J., Chen, Z., Jin, X., Liu, X. Rise of the Planet of Serverless Computing: A Systematic Review [Електронний ресурс] / Wen. – 2022. – Режим доступу до ресурсу: https://arxiv.org/abs/2206.12275 45. What is a CI/CD pipeline? [Електронний ресурс] // RedHat. – 2022. – Режим доступу до ресурсу: https://www.redhat.com/en/topics/devops/what-cicd-pipeline 46. What is a Tech Stack and How Do They Work? [Електронний ресурс] – Режим доступу до ресурсу: https://www.mongodb.com/resources/basics/technology-stack 47. What is Cloud Computing? [Електронний ресурс] // TechTarget – Режим доступу до ресурсу: https://www.techtarget.com/searchcloudcomputing/definition/cloud-computing 48. What Is Full Stack Development? [Електронний ресурс] – Режим доступу до ресурсу: https://aws.amazon.com/what-is/full-stack-development |
Тип вмісту: | Master Thesis |
Розташовується у зібраннях: | 122 — комп’ютерні науки |
Файли цього матеріалу:
Файл | Опис | Розмір | Формат | |
---|---|---|---|---|
Mag_2024_SNnm_61_Bolozh_O_V.pdf | 6,91 MB | Adobe PDF | Переглянути/відкрити |
Усі матеріали в архіві електронних ресурсів захищені авторським правом, всі права збережені.
Інструменти адміністратора