Utilize este identificador para referenciar este registo: http://elartu.tntu.edu.ua/handle/lib/44839
Título: Дослідження процесів оптимізації розробки full-stack застосунків для підвищення характеристик ефективності та масштабованості
Outros títulos: Research on full-stack development optimization processes to increase efficiency and scalability characteristics
Autor: Болож, Олександр Васильович
Bolozh, Oleksandr
Affiliation: ТНТУ ім. І. Пулюя, Факультет комп’ютерно-інформаційних систем і програмної інженерії, Кафедра комп’ютерних наук, м. Тернопіль, Україна
Bibliographic description (Ukraine): Болож О.В. Дослідження процесів оптимізації розробки full-stack застосунків для підвищення характеристик ефективності та масштабованості: кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю “122 – комп’ютерні науки” / О.В. Болож – Тернопіль: ТНТУ, 2024. – 75 с.
Data: 29-Mai-2024
Submitted date: 15-Mai-2024
Date of entry: 31-Mai-2024
Country (code): UA
Place of the edition/event: ТНТУ ім. І.Пулюя, ФІС, м. Тернопіль, Україна
Supervisor: Боднарчук, Ігор Орестович
Committee members: Кульчицький, Тарас Русланович
UDC: 004.41
Palavras-chave: full-stack розробка
full-stack development
безсерверні обчислення
serverless computing
кешування
caching
ефективність
efficiency
масштабованість
scalability
CI/CD
Resumo: Кваліфікаційна робота присвячена дослідженню процесів оптимізації розробки 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.
Content: ВСТУП 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
Copyright owner: © Болож Олександр Васильович, 2024
References (Ukraine): 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
Content type: Master Thesis
Aparece nas colecções:122 — комп’ютерні науки

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Mag_2024_SNnm_61_Bolozh_O_V.pdf6,91 MBAdobe PDFVer/Abrir


Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.

Ferramentas administrativas