Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6478
Title: Дослідження автоматизованих безсерверних систем обробки великих даних
Authors: Міценко, Сергій Анатолійович
Борзєнков, Артем Едуардович
Issue Date: Jan-2025
Abstract: У рамках цієї магістерської роботи було проведено всебічне дослідження автоматизованих безсерверних систем для обробки великих даних, що дозволило досягти визначених цілей і успішно виконати поставлені завдання. Розпочавши з вивчення основних характеристик великих даних, таких як обсяг, швидкість, різноманітність і достовірність, ми змогли детально окреслити ключові проблеми, що виникають при їх обробці, зокрема питання зберігання, швидкості обробки та забезпечення точності результатів. Далі було проведено аналіз традиційних підходів до обробки даних, що дозволило виявити як переваги, так і обмеження цих методів у контексті сучасних вимог до обробки великих обсягів інформації. Особлива увага була приділена можливостям хмарних обчислень та безсерверних архітектур, які набувають все більшого значення у сучасних інформаційних системах, завдяки своїй гнучкості, масштабованості та економічній ефективності. У результаті дослідження були сформульовані основні висновки, що підтвердили ефективність безсерверних систем для обробки великих даних у різних галузях, таких як наука, промисловість та комерція. На основі отриманих результатів надано рекомендації щодо застосування безсерверних рішень у реальних проектах, особливо для задач, що характеризуються змінним або піковим навантаженням. Також були визначені напрями для подальших досліджень, які включають оптимізацію холодного старту безсерверних функцій та можливість інтеграції безсерверних архітектур з іншими моделями обчислень, зокрема з контейнеризацією та гібридними хмарними рішеннями.
URI: https://er.chdtu.edu.ua/handle/ChSTU/6478
Appears in Collections:174 Автоматизація, комп'ютерно-інтегровані технології та робототехніка (Автоматизація та комп'ютерно-інтегровані системи та компоненти)

Files in This Item:
File Description SizeFormat 
М_174_2024_Борзєнков.pdf
  Restricted Access
1.08 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
 1 
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ 
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ СИСТЕМ 
 
 
 
Пояснювальна записка 
до кваліфікаційної роботи 
освітнього ступеню «магістр» 
 
 
на тему: ДОСЛІДЖЕННЯ АВТОМАТИЗОВАНИХ БЕЗСЕРВЕРНИХ 
СИСТЕМ ОБРОБКИ ВЕЛИКИХ ДАНИХ 
 
 
Виконав: здобувач 2 курсу, групи МАКІТ-2309 
 спеціальності 174 Автоматизація та 
комп’ютерно-інтегровані технології, 
освітня програма «Автоматизація 
комп’ютерно-інтегровані системи та 
компоненти» 
                      Борзєнков А.Е.    
(Прізвище ім’я по-батькові) 
 
Керівник             Міценко С.А.     
(Прізвище ім’я по-батькові)   
Рецензент        
    (Прізвище ім’я по-батькові) 
 
 
 
Черкаси 2024 року
 2 
ЗМІСТ 
 
ВСТУП................................................................................................................................ 4 
РОЗДІЛ 1 .......................................................................................................................... 10 
АНАЛІЗ СУЧАСНИХ ТЕХНОЛОГІЙ ОБРОБКИ ВЕЛИКИХ ДАНИХ ................... 10 
1.1.Цифровізація .......................................................................................................... 10 
1.2.Визначення великих даних: поняття, характеристики та основні виклики .... 12 
1.3.Традиційні підходи до обробки великих даних: переваги та обмеження ....... 15 
1.4 Хмарні технології та обчислення ......................................................................... 16 
1.5.Огляд хмарних технологій для обробки даних .................................................. 20 
1.6.Безсерверна архітектура: принципи, переваги та перспективи застосування . 25 
РОЗДІЛ 2 .......................................................................................................................... 26 
АРХІТЕКТУРА ТА ІНТЕГРАЦІЯ БЕЗСЕРВЕРНИХ СИСТЕМ ................................ 28 
2.1. Принципи побудови безсерверних систем обробки даних .............................. 28 
2.2.Популярні платформи: AWS Lambda, Google Cloud Functions, Azure Functions
 .................................................................................................................................. 30 
2.3 Маштабування(scallability) ................................................................................... 34 
2.4.Використання безсерверних рішень для масштабування обчислювальних 
ресурсів ................................................................................................................... 38 
2.5. Кібербезпека в безсерверних технологіях .......................................................... 42 
РОЗДІЛ 3 .......................................................................................................................... 46 
ДОСЛІДЖЕННЯ ПРОДУКТИВНОСТІ ТА ОПТИМІЗАЦІЇ БЕЗСЕРВЕРНИХ 
СИСТЕМ .................................................................................................................... 48 
3.1. Критерії оцінки продуктивності безсерверних систем ..................................... 48 
 3 
3.2. Експериментальна розробка безсерверного прототипу з вибором AWS ....... 51 
РОЗДІЛ 4 .......................................................................................................................... 58 
РЕКОМЕНДАЦІЇ ТА ПРАКТИЧНЕ ЗАСТОСУВАННЯ БЕЗСЕРВЕРНИХ 
СИСТЕМ .................................................................................................................... 58 
4.1. Рекомендації щодо впровадження безсерверних рішень для різних галузей 58 
4.2. Оптимізація витрат у безсерверних системах ................................................... 60 
4.3. Майбутні тенденції та перспективи розвитку безсерверних технологій ........ 63 
ВИСНОВКИ ..................................................................................................................... 68 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ....................................................................... 70 
 
  
 4 
ВСТУП 
 
 
Актуальність теми дослідження. 
У сучасному світі обсяги даних зростають експоненційно, що зумовлено 
розвитком цифрових технологій, інтернету речей (IoT), соціальних мереж, 
електронної комерції та інших сфер. За даними міжнародних досліджень, до 2025 
року загальний обсяг створюваних і оброблюваних даних сягне кількох сотень 
зетабайт. Ця тенденція вимагає впровадження інноваційних підходів до обробки 
великих даних, які забезпечують швидкість, масштабованість, економічну 
ефективність і надійність. 
Безсерверні обчислювальні системи стали однією з ключових технологій у 
цій галузі, пропонуючи рішення, які знімають потребу в управлінні фізичною або 
віртуальною інфраструктурою, дозволяють автоматично масштабувати ресурси 
відповідно до навантаження та оптимізують витрати завдяки моделі “pay-as-you-
go”, коли оплата відбувається лише за фактично використані ресурси. 
Безсерверні архітектури, такі як AWS Lambda, Google Cloud Functions та 
Azure Functions, набули широкого розповсюдження завдяки своїй здатності 
обробляти великі обсяги даних у режимі реального часу, інтегруватися з іншими 
хмарними сервісами та підтримувати сучасні підходи до розробки, такі як 
мікросервіси та подієво-орієнтовані системи. 
Водночас використання безсерверних систем має свої виклики, серед яких: 
• Оптимізація продуктивності та часу відгуку. 
• Інтеграція з великими обсягами потокових даних. 
• Гарантування безпеки та відповідність нормативним вимогам. 
 
Актуальність теми полягає у необхідності вивчення можливостей і 
обмежень безсерверних рішень для обробки великих даних, аналізу їхньої 
продуктивності та розробки рекомендацій щодо впровадження таких систем у 
різних галузях. Результати цього дослідження сприятимуть оптимізації обробки 
 5 
даних, зниженню витрат і підвищенню ефективності процесів у різних сферах, 
включаючи бізнес, науку, медицину та державне управління. 
Мета та завдання дослідження. 
Розробка та експериментальна перевірка автоматизованої безсерверної 
системи обробки великих даних з метою визначення її продуктивності, 
масштабованості, економічної ефективності та практичного застосування для 
вирішення сучасних завдань у різних галузях. 
Аналіз наукових і технічних підходів до обробки великих даних. Вивчити 
сучасні технології та інструменти для роботи з великими даними. 
Проаналізувати можливості та обмеження безсерверних рішень у порівнянні з 
традиційними підходами. 
Огляд і порівняння платформ безсерверних обчислень. Дослідити 
особливості провідних платформ, таких як AWS Lambda, Google Cloud Functions 
і Azure Functions. Визначити сценарії використання кожної платформи для 
обробки великих даних. 
Розробка прототипу безсерверної системи обробки великих даних. 
Створити прототип автоматизованої системи на основі однієї з безсерверних 
платформ. Інтегрувати прототип із потоковими сервісами та системами 
зберігання даних. 
Тестування продуктивності прототипу. Провести експерименти для оцінки 
продуктивності системи за різних умов навантаження. Виміряти параметри, такі 
як час обробки, масштабованість та стабільність роботи. 
Аналіз результатів дослідження. Провести порівняння з традиційними 
підходами до обробки великих даних за ключовими параметрами: вартість, 
продуктивність, масштабованість. Визначити переваги та недоліки використання 
безсерверних систем у реальних умовах. 
 
Розробка рекомендацій щодо впровадження - сформулювати рекомендації для 
організацій щодо впровадження безсерверних рішень залежно від їхніх 
 6 
потреб і вимог та окреслити перспективи розвитку безсерверних технологій 
для обробки великих даних. 
Досягнення поставленої мети та виконання зазначених завдань дозволить 
отримати нові знання про ефективність і можливості безсерверних систем, що 
сприятиме їхньому ширшому застосуванню у практиці. 
Об’єкт і предмет дослідження. 
Об’єкт дослідження: Сучасні безсерверні архітектури обробки великих 
даних, які використовуються для автоматизації та оптимізації процесів обробки 
інформації в різних галузях, включаючи хмарні обчислення, потокову аналітику 
та системи підтримки прийняття рішень. 
Предмет дослідження: Механізми роботи, принципи функціонування, 
продуктивність і масштабованість безсерверних систем для обробки великих 
даних, а також їхня інтеграція з іншими технологіями, такими як хмарні сервіси, 
системи потокової обробки даних (наприклад, Apache Kafka, Amazon Kinesis) та 
сховища даних. 
Обґрунтування вибору об’єкта та предмета: З огляду на стрімкий 
розвиток технологій великих даних та їх важливість для сучасного світу, 
безсерверні архітектури набули значної популярності через свою здатність 
вирішувати основні виклики, такі як: 
1. Потреба у високопродуктивних і масштабованих рішеннях для 
обробки великих обсягів інформації. 
2. Мінімізація витрат на управління інфраструктурою завдяки 
використанню моделі “pay-as-you-go”. 
3. Автоматизація та адаптивність до динамічного навантаження. 
Дослідження об’єкта та предмета дозволяє краще зрозуміти, як 
безсерверні архітектури можуть бути використані для ефективної 
обробки великих даних, та визначити перспективи їхньої подальшої 
інтеграції у різні галузі. 
 
 
 7 
Методи дослідження. 
Для досягнення поставленої мети та виконання завдань у рамках роботи 
використовуються наступні методи дослідження.  
Аналіз літературних джерел та інформаційних ресурсів, а саме вивчення 
наукових статей, технічної документації, звітів і практичних кейсів, присвячених 
безсерверним архітектурам та технологіям обробки великих даних та 
систематизація інформації про сучасні платформи (AWS Lambda, Google Cloud 
Functions, Azure Functions) та їхні можливості. 
Наступним важливим аспектом є метод порівняльного аналізу, а саме 
порівняння безсерверних платформ за ключовими параметрами: продуктивність, 
масштабованість, зручність використання, вартість і можливості інтеграції та 
аналіз переваг і недоліків безсерверних систем у порівнянні з традиційними 
підходами до обробки великих даних. 
Також на менш важливим є експериментальні дослідження, а саме 
розробка прототипу автоматизованої безсерверної системи для обробки великих 
даних та проведення експериментів для оцінки продуктивності, часу відгуку, 
масштабованості та стабільності роботи системи за різних умов навантаження. 
Теж наступним є методи моделювання та симуляції, а саме мітація потоків 
великих даних для тестування розробленого прототипу і моделювання сценаріїв 
різного навантаження для оцінки ефективності системи. 
Варто відназначити методи статистичної обробки даних – це аналіз 
результатів тестування прототипу, обчислення середніх, максимальних і 
мінімальних показників продуктивності і побудова графіків і діаграм для 
візуалізації результатів дослідження. 
Фінальним пунктом є методи оптимізації - аналіз параметрів конфігурації 
системи для досягнення максимальної ефективності роботи і виявлення точок 
оптимізації у використанні обчислювальних ресурсів та витрат та метод 
практичного впровадження - розробка рекомендацій для впровадження 
безсерверних систем у реальних умовах і тестування інтеграції прототипу з 
іншими технологіями, такими як потокові сервіси або хмарні сховища даних. 
 8 
Застосування цих методів дозволяє отримати глибокий аналіз 
можливостей безсерверних систем, оцінити їхню ефективність у контексті 
обробки великих даних та надати рекомендації для їхнього практичного 
використання. 
Наукова новизна та практичне значення роботи. 
 
Наукова новизна: 
У рамках дослідження здійснено систематизацію знань про безсерверні 
системи обробки великих даних, визначено їхні ключові переваги та обмеження 
у порівнянні з традиційними архітектурами. Розроблено експериментальний 
прототип автоматизованої безсерверної системи, здатної обробляти великі 
обсяги даних у реальному часі з використанням потокових технологій. 
Проведено комплексне тестування продуктивності розробленого рішення, яке 
включає оцінку часу відгуку, масштабованості та економічної ефективності за 
умов різного навантаження. Запропоновано нові підходи до оптимізації витрат 
та підвищення ефективності роботи безсерверних систем, включаючи інтеграцію 
з потоковими сервісами та хмарними сховищами даних. Виявлено перспективні 
напрямки розвитку безсерверних технологій у контексті обробки великих даних, 
які можуть стати основою для подальших наукових досліджень. 
 
Практичне значення: 
Розроблений прототип безсерверної системи може бути використаний як 
основа для створення масштабованих і економічно ефективних рішень у бізнесі, 
науці, медицині, фінансах та інших сферах, що потребують обробки великих 
обсягів даних. Результати дослідження можуть бути впроваджені в організаціях 
для оптимізації процесів обробки інформації, зниження витрат на 
інфраструктуру та підвищення продуктивності. Запропоновані рекомендації 
щодо впровадження безсерверних рішень допоможуть організаціям вибрати 
оптимальну платформу та підходи до побудови систем, залежно від їхніх потреб 
та ресурсів. Отримані дані та проведений аналіз можуть бути використані в 
 9 
освітніх програмах та тренінгах для навчання фахівців, які працюють у сфері 
великих даних та хмарних технологій. Дослідження сприяє популяризації 
безсерверних технологій і підвищує розуміння їхніх можливостей серед 
розробників, інженерів та управлінців. 
Загалом, робота має як науковий внесок у розвиток сучасних технологій 
обробки даних, так і практичну цінність для впровадження інновацій у різних 
галузях.
 10 
РОЗДІЛ 1 
АНАЛІЗ СУЧАСНИХ ТЕХНОЛОГІЙ ОБРОБКИ ВЕЛИКИХ ДАНИХ 
 
 
1.1.Цифровізація 
Цифровізація — це процес впровадження цифрових технологій у різні 
сфери життя, бізнесу, промисловості та управління з метою автоматизації, 
оптимізації та покращення процесів. Це включає перетворення традиційних 
(аналогових) процесів, документів та даних у цифрову форму, а також 
використання цифрових інструментів для створення нових можливостей і 
підвищення ефективності. 
 
Рис.1.1 Цифровізація 
 
 
 
 
 11 
Цифровізація характеризується переходом до використання цифрових 
даних, що включає оцифрування паперових документів, застосування баз даних, 
сенсорів, технологій IoT та інших засобів для збору, обробки та зберігання 
інформації. Вона також сприяє автоматизації процесів, зменшуючи потребу в 
ручній праці за допомогою цифрових рішень, таких як автоматичний аналіз 
даних і програмне управління процесами. Завдяки цифровим каналам 
комунікації, зокрема онлайн-платформам, соціальним мережам, чат-ботам і 
CRM-системам, поліпшується взаємодія між користувачами. Крім того, 
цифровізація сприяє інноваціям, що виражається у створенні нових цифрових 
продуктів і послуг, як-от мобільні додатки, хмарні сервіси чи онлайн-магазини. 
Приклади цифровізації можна знайти в різних сферах. У бізнесі це 
впровадження ERP-систем для управління ресурсами підприємства та 
використання аналітики великих даних для ухвалення рішень. У медицині – 
електронні медичні картки, телемедицина та моніторинг здоров’я за допомогою 
носимих пристроїв, таких як фітнес-браслети чи смарт-годинники. Освітня 
галузь активно використовує онлайн-курси, платформи для дистанційного 
навчання та інтерактивні програми. У міському управлінні (Smart City) 
цифровізація включає інтелектуальні транспортні системи, автоматизоване 
освітлення та екологічний моніторинг. У фінансах це мобільний банкінг, цифрові 
платежі, криптовалюти та аналітика ризиків. 
 
Відмінність між термінами: 
• Оцифрування (digitization) — це процес переведення інформації з 
аналогового у цифровий формат (наприклад, сканування документів). 
• Цифровізація (digitalization) — це використання цифрових технологій 
для покращення процесів. 
• Цифрова трансформація (digital transformation) — це глобальні зміни 
в організації чи галузі, що базуються на цифрових технологіях і 
впливають на всі аспекти діяльності. 
 12 
Цифровізація є важливим етапом на шляху до повної цифрової 
трансформації. 
 
1.2.Визначення великих даних: поняття, характеристики та основні 
виклики 
Великі дані (Big Data) — це набори даних, які мають таку велику кількість 
інформації, що традиційні методи обробки, зберігання та аналізу даних не 
можуть ефективно з ними впоратися. Вони характеризуються високою 
швидкістю надходження, різноманітністю форматів і обсягів, що вимагає 
використання спеціальних технологій для їх обробки, зберігання та аналізу. 
Великі дані — це не тільки великі обсяги інформації, а й різноманіття 
джерел, типів та форматів даних, що створюються в результаті різних процесів і 
подій. Зазвичай, до великих даних відносять інформацію, що перевищує 
можливості обробки стандартними програмами або базами даних. Однак, 
завдяки розвитку нових технологій, таких як Hadoop, Spark та інших, стало 
можливим ефективно працювати з великими обсягами даних, розподіляючи 
обчислення і зберігання на численні сервери. 
 
 
 13 
 
Рис.1.2 Великі дані (Big Data) 
 
Великі дані характеризуються кількома ключовими аспектами. Обсяг 
даних, що генеруються за певний період, може досягати величезних масштабів, 
як-от петабайти чи ексабайти, і потребує значних ресурсів для їх обробки та 
зберігання. Джерелами таких даних можуть бути соціальні мережі, пристрої IoT, 
фінансові транзакції або медичні дослідження. 
Швидкість створення та обробки є ще однією важливою характеристикою. 
Дані часто генеруються в реальному часі або з дуже високою інтенсивністю, 
наприклад, інформація із соціальних мереж, дані фінансових ринків або сенсори 
автомобілів, які вимагають миттєвого аналізу для своєчасного прийняття рішень. 
Різноманітність також відіграє значну роль, оскільки дані можуть бути 
представлені у структурованому, напівструктурованому чи неструктурованому 
форматах. Це можуть бути текст, зображення, відео, аудіо, дані з сенсорів, лог-
файли тощо, що потребує застосування різних методів обробки та аналізу. 
Не менш важливим є питання цінності даних. Важливо не лише збирати 
інформацію, а й витягувати з неї корисну аналітику. Дані використовуються для 
 14 
виявлення трендів, патернів або аномалій, що сприяє прийняттю обґрунтованих 
рішень у бізнесі чи наукових дослідженнях. 
Нарешті, якість даних є критичним фактором. Через можливі неточності, 
дублікати, помилки чи спотворення аналіз великих даних стає складнішим. 
Забезпечення надійності та високої якості інформації є важливою умовою для її 
ефективного використання. 
 
Обробка великих даних пов’язана з низкою викликів. Ефективне 
зберігання та обробка значних обсягів інформації вимагає спеціалізованих 
систем, здатних працювати на кількох серверних вузлах або в хмарному 
середовищі. Для цього використовують потужні обчислювальні ресурси та 
складні архітектури, такі як Hadoop або Apache Spark, які забезпечують 
паралельну обробку даних. 
Інтеграція даних з різних джерел також є складним завданням, оскільки ці 
дані можуть мати різні формати. Необхідно застосовувати механізми для їх 
узгодження та приведення до єдиної структури, що дозволяє виконувати 
подальший аналіз. 
Неструктуровані дані, такі як текст, зображення, відео чи аудіо, становлять 
більшість сучасного інформаційного потоку. Це створює додаткові труднощі, 
адже для їх обробки потрібно застосовувати складні технології, включно з 
методами машинного навчання та обробки природної мови. 
Безпека та конфіденційність є ще однією важливою проблемою. Великі 
дані часто містять чутливу інформацію, зокрема фінансову або медичну, що 
вимагає захисту від несанкціонованого доступу, а також дотримання 
нормативних вимог і стандартів безпеки. 
Крім того, вартість обробки великих даних може бути значною, особливо 
при використанні хмарних сервісів або розподілених обчислювальних систем. 
Це ставить питання про оптимізацію процесів обробки, щоб зменшити витрати 
без шкоди для ефективності. 
 
 15 
1.3.Традиційні підходи до обробки великих даних: переваги та 
обмеження 
Традиційні підходи до обробки великих даних ґрунтуються на 
використанні централізованих серверів, реляційних баз даних (RDBMS) та інших 
технологій, які застосовуються для управління і обробки інформації. Хоча ці 
методи добре працюють для певних типів даних і завдань, зростання обсягів, 
швидкості та різноманітності великих даних ставить перед ними низку викликів. 
Традиційні підходи до обробки великих даних мають низку переваг. 
Однією з головних є структурованість і організованість даних. Реляційні бази 
даних, які часто використовуються в таких підходах, забезпечують зберігання 
інформації у вигляді таблиць із чітко визначеною структурою, включаючи 
стовпці, рядки та ключі. Це дозволяє виконувати точні запити та ефективно 
обробляти дані, забезпечуючи їхню цілісність, послідовність і контроль. 
Ще однією перевагою є зріла екосистема технологій. Традиційні системи, 
такі як SQL або Hadoop у рамках моделі MapReduce, надають надійну 
інфраструктуру для зберігання та обробки даних. Ці рішення перевірені часом і 
підтримуються як постачальниками програмного забезпечення, так і великими 
спільнотами користувачів, що спрощує їхнє впровадження та використання. 
Крім того, традиційні підходи забезпечують високий рівень безпеки та 
управління даними. Реляційні бази даних мають розвинуті механізми для 
управління доступом, правами користувачів і забезпечення безпеки. Вони також 
підтримують детальне логування операцій і дозволяють виконувати складні 
транзакції з дотриманням ACID-принципів, що гарантує їхнє коректне 
виконання. 
 
Традиційні підходи до обробки великих даних мають низку обмежень. 
Одне з них – недостатня масштабованість. Такі системи зазвичай не здатні 
ефективно працювати з величезними обсягами даних, особливо якщо вони 
постійно збільшуються чи генеруються в реальному часі. Реляційні бази даних, 
 16 
наприклад, не призначені для роботи з петабайтами даних чи для розподіленої 
обробки без складних додаткових налаштувань. 
Ще одне суттєве обмеження – труднощі з обробкою неструктурованих і 
напівструктурованих даних. Традиційні системи зосереджені на структурованій 
інформації у вигляді таблиць, тоді як реальні дані часто мають форму текстів, 
зображень, відео або лог-файлів. Їх інтеграція і нормалізація створює значні 
труднощі. 
Інфраструктурні витрати також є важливим фактором. Для обробки 
великих даних традиційні системи вимагають значних вкладень у 
високопродуктивне обладнання, складні системи зберігання та програмне 
забезпечення, що може бути фінансово недоступним для малого чи середнього 
бізнесу. 
Крім того, традиційні методи характеризуються обмеженою гнучкістю. 
Вони потребують чітко визначених схем даних, і будь-які зміни в цих схемах 
можуть бути складними для впровадження. Це ускладнює адаптацію до змін 
типів даних або нових вимог до обробки. 
Ще одним недоліком є повільність обробки. Традиційні системи часто не 
встигають обробляти великі обсяги даних у реальному часі. Наприклад, 
використання реляційних баз чи Hadoop із MapReduce може призводити до 
значних затримок, що стає критичним у випадках, коли потрібен швидкий аналіз, 
наприклад, для фінансових або медичних даних. 
 
1.4 Хмарні технології та обчислення 
Хмарні технології (Cloud Computing) — це модель надання ІТ-ресурсів, 
таких як обчислювальні потужності, сховище даних і програмне забезпечення, 
через інтернет на основі підходу «як послуга» (as-a-service). Вони дозволяють 
організаціям використовувати ресурси без необхідності інвестувати в локальну 
інфраструктуру. 
 17 
 
Рис.1.3 Хмарні технології (Cloud Computing) 
 
 
Хмарні обчислення мають кілька ключових характеристик, які 
забезпечують їхню популярність та ефективність. Вони дозволяють автоматично 
змінювати обсяг ресурсів залежно від поточних потреб, що робить систему 
гнучкою й легко масштабованою. Модель оплати базується виключно на 
фактичному використанні ресурсів, що дозволяє суттєво знизити витрати на 
підтримку ІТ-інфраструктури. 
Доступ до даних і додатків можливий з будь-якої точки світу за наявності 
інтернету, що забезпечує високу мобільність користувачів. Хмарні платформи 
 18 
також підтримують мультиоренду, де декілька користувачів або організацій 
можуть спільно користуватися однією інфраструктурою без ризику для 
конфіденційності їхніх даних. 
Еластичність хмарних ресурсів дозволяє їм автоматично підлаштовуватися 
під робочі навантаження, що виникають у реальному часі. Крім того, процеси в 
хмарних системах, від створення серверів до зберігання інформації, повністю 
автоматизовані, забезпечуючи простоту використання і мінімізуючи потребу в 
технічному втручанні. 
 
Типи хмарних сервісів: 
1) Інфраструктура як послуга (IaaS) 
a) Надає базову інфраструктуру: віртуальні машини, мережі, сховища. 
b) Приклади: AWS EC2, Google Compute Engine, Microsoft Azure Virtual 
Machines. 
2) Платформа як послуга (PaaS) 
a) Надає платформу для розробки, тестування та розгортання додатків без 
необхідності управління інфраструктурою. 
b) Приклади: AWS Elastic Beanstalk, Google App Engine, Azure App Services. 
3) Програмне забезпечення як послуга (SaaS) 
a) Додатки, доступні через інтернет без необхідності встановлення на 
локальних пристроях. 
b) Приклади: Google Workspace, Microsoft 365, Salesforce. 
 
Хмарні середовища поділяються на кілька типів залежно від способу їх 
організації та використання. 
Публічна хмара є загальнодоступною і надається спеціалізованими 
провайдерами. Вона обслуговує одночасно багато користувачів, забезпечуючи 
їм доступ до спільної інфраструктури. Прикладами таких рішень є AWS, 
Microsoft Azure і Google Cloud. 
 19 
Приватна хмара створюється для потреб однієї організації, що дозволяє 
їй мати повний контроль над своїми даними. Цей тип хмарного середовища 
зазвичай застосовується в галузях, де безпека даних є критично важливою, 
наприклад, у фінансовому секторі чи медицині. 
Гібридна хмара об’єднує можливості приватних і публічних хмар. Вона 
дозволяє зберігати чутливі дані локально, використовуючи приватну хмару, і 
водночас виконувати менш критичні процеси в публічному середовищі, що 
забезпечує гнучкість і ефективність. 
Мультихмара передбачає використання послуг декількох хмарних 
провайдерів одночасно. Це дає змогу уникати залежності від одного 
постачальника, підвищуючи надійність і знижуючи ризики, пов’язані з 
монополізацією (Vendor Lock-In). 
 
Хмарні обчислення мають значні переваги. Вони дозволяють суттєво 
знизити витрати, оскільки відпадає необхідність у створенні власної 
інфраструктури та наймі персоналу для її обслуговування. Процес впровадження 
хмарних рішень відбувається швидко: ресурси стають доступними за лічені 
хвилини. Крім того, сервіси відзначаються гнучкістю та масштабованістю, що 
дозволяє легко адаптувати їх до змін у бізнес-потребах. Використання хмар 
також відкриває доступ до новітніх технологій, таких як штучний інтелект, 
машинне навчання та аналітика великих даних, що сприяє підвищенню 
продуктивності, оскільки компанії можуть зосередитися на своїх основних 
завданнях без потреби в управлінні інфраструктурою. 
Однак ці рішення мають і певні недоліки. Одним із них є залежність від 
стабільного інтернет-з’єднання, оскільки перебої в підключенні ускладнюють 
доступ до сервісів. Безпека та конфіденційність даних також викликають 
занепокоєння, оскільки передача інформації до хмари потребує особливих 
заходів захисту від кібератак або витоків. Залежність від конкретного 
постачальника послуг може ускладнити перехід на іншу платформу через 
особливості інфраструктури (Vendor Lock-In). До того ж компанії втрачають 
 20 
безпосередній контроль над фізичними ресурсами та політиками хмарного 
провайдера, що може впливати на роботу. 
 
Хмарні технології широко застосовуються у різних сферах. Вони 
забезпечують можливість обробки великих обсягів даних у реальному часі, що 
особливо корисно для аналітики, використовуючи такі інструменти, як Amazon 
EMR або Google BigQuery. У сфері розробки додатків хмари дозволяють швидко 
розгортати, тестувати й оновлювати програмне забезпечення завдяки 
платформам типу PaaS. Дані можна безпечно зберігати у хмарних сховищах із 
резервним копіюванням, таких як AWS S3 чи Azure Blob Storage. Крім того, 
хмарні сервіси активно підтримують створення та впровадження моделей 
штучного інтелекту й машинного навчання, наприклад, за допомогою Google AI 
Platform або Azure AI. 
У майбутньому розвиток хмарних технологій буде зосереджений на 
кількох ключових напрямах. Автоматизація стане ще більш інтегрованою, 
пропонуючи платформи для автоматизованого управління ресурсами. 
Зростатиме роль хмар у сфері Інтернету речей, оскільки вони слугуватимуть 
базою для обробки даних від численних пристроїв. Очікується інтеграція 
хмарних сервісів із квантовими обчисленнями, що відкриє нові можливості для 
вирішення складних задач. Безпека також залишатиметься пріоритетом: 
з’являтимуться вдосконалені методи захисту даних, зокрема багаторівневе 
шифрування та інструменти для постійного моніторингу. 
Хмарні обчислення стали невід’ємною частиною сучасної ІТ-
інфраструктури, і їхній розвиток сприятиме цифровій трансформації бізнесу у 
всіх галузях. 
 
1.5.Огляд хмарних технологій для обробки даних 
Основні хмарні платформи для обробки даних: 
1. Amazon Web Services (AWS) 
 21 
 
Рис.1.3.1 AWS 
 
AWS є однією з найбільш популярних хмарних платформ, що надає 
потужні інструменти для обробки великих даних. Основні сервіси AWS для цієї 
мети включають: 
• Amazon S3 (Simple Storage Service): забезпечує масштабоване, 
довготривале і доступне зберігання великих обсягів даних. 
• Amazon EMR (Elastic MapReduce): дозволяє обробляти великі набори даних 
за допомогою Apache Hadoop, Apache Spark і інших технологій для 
розподіленого обчислення. 
• AWS Lambda: сервіс безсерверної обробки, який дозволяє запускати код у 
відповідь на події без необхідності управління серверами. 
• Amazon Redshift: хмарний сервіс для зберігання та обробки структурованих 
даних за допомогою масштабованих баз даних. 
 
Перевагою AWS є велика кількість доступних інструментів для роботи з 
великими даними, а також висока гнучкість у налаштуванні інфраструктури. 
 
2. Microsoft Azure 
 22 
 
Рис.1.3.2 Microsoft Azure Services 
 
Microsoft Azure є ще однією провідною хмарною платформою, що 
пропонує різноманітні сервіси для обробки великих даних: 
• Azure Data Lake Storage: розширене зберігання даних, яке дозволяє 
зберігати структури різних типів даних з високою масштабованістю. 
• Azure HDInsight: платформа для обробки великих даних за допомогою 
технологій Hadoop, Spark, HBase тощо. 
• Azure Synapse Analytics (раніше SQL Data Warehouse): інтегрована 
аналітична платформа, яка об’єднує можливості обробки великих даних і 
традиційної аналітики. 
• Azure Functions: сервіс безсерверної обробки, що дозволяє запускати код у 
відповідь на події без необхідності налаштування серверів. 
 
Azure відома своєю інтеграцією з іншими продуктами Microsoft, що 
дозволяє компаніям легко адаптувати хмарні рішення до своїх потреб. 
 
3. Google Cloud Platform (GCP) 
 23 
 
Рис.1.3.3 Google Cloud Platform 
 
Google Cloud є ще однією популярною платформою, що надає інструменти 
для обробки великих даних: 
• Google Cloud Storage: високопродуктивне зберігання даних для великих 
обсягів інформації з можливістю доступу та масштабування. 
• Google BigQuery: аналітичний сервіс для роботи з великими обсягами 
структурованих даних, що дозволяє здійснювати швидкий аналіз даних за 
допомогою SQL-запитів. 
• Google Dataproc: кероване середовище для розгортання та управління 
кластером Hadoop та Spark для обробки великих даних. 
• Google Cloud Functions: хмарний сервіс для безсерверної обробки, що дає 
змогу запускати функції на вимогу. 
 
Google Cloud спеціалізується на аналітиці та машинному навчанні, 
пропонуючи потужні інструменти для глибинного аналізу великих даних. 
 
Хмарні технології пропонують численні переваги для обробки даних. 
Однією з ключових є масштабованість, яка дозволяє динамічно адаптувати 
ресурси до обсягу оброблюваної інформації. Це особливо корисно при роботі з 
великими даними, де традиційні методи часто не забезпечують необхідної 
гнучкості. Додатково, завдяки своїй гнучкості та доступності, хмарні платформи 
дають змогу налаштовувати обчислювальні потужності без значних витрат на 
 24 
фізичне обладнання, забезпечуючи доступ до даних і додатків з будь-якої точки 
світу. 
Модель оплати за використання робить ці сервіси економічно вигідними, 
оскільки компанії можуть уникати капітальних витрат на закупівлю 
інфраструктури, оплачуючи лише реально використані ресурси. Простота 
інтеграції також є значною перевагою, адже більшість хмарних платформ 
підтримують інтеграцію з іншими сервісами та забезпечують збирання, обробку 
й аналіз даних із різних джерел, таких як IoT, соціальні мережі чи веб-логи. 
Безпека та надійність залишаються на високому рівні завдяки 
впровадженню таких механізмів, як шифрування даних, багаторівневий доступ і 
багатофакторна автентифікація. Крім того, хмарні сервіси забезпечують 
резервне копіювання та можливості відновлення даних, що підвищує їхню 
надійність у разі виникнення критичних ситуацій. 
 
Хмарні технології для обробки даних мають кілька обмежень. Одним із 
основних є залежність від стабільного й швидкісного інтернет-з’єднання, що 
може бути проблемою в регіонах з обмеженим доступом до якісного Інтернету. 
Крім того, переміщення великих обсягів даних між локальними системами та 
хмарними платформами може викликати затримки, що впливає на швидкість 
обробки і може вимагати значних витрат часу. 
Хоча хмара дозволяє зменшити капітальні витрати, вартість обробки 
великих даних на хмарних платформах може бути високою, особливо коли 
йдеться про великі обсяги зберігання та тривале використання обчислювальних 
потужностей. Також існують питання безпеки та конфіденційності, адже, хоча 
хмарні сервіси і забезпечують високий рівень захисту, вони можуть бути 
вразливими до кібератак. Крім того, деякі організації можуть бути неготові 
передавати свої дані стороннім постачальникам через побоювання втратити 
контроль над інформацією або через загрози щодо конфіденційності. 
 
 25 
1.6.Безсерверна архітектура: принципи, переваги та перспективи 
застосування 
Безсерверна архітектура, або Serverless-архітектура, є однією з найбільш 
інноваційних і перспективних технологій для побудови масштабованих, гнучких 
і економічних систем обробки великих даних. Вона передбачає виконання 
обчислень і обробку даних без необхідності в управлінні фізичними серверами 
або навіть віртуальними машинами, що робить її ідеальною для сучасних вимог 
до обробки великих обсягів даних у хмарному середовищі. 
 
 
 
Рис.1.4 Google Cloud Platform 
 
Принципи безсерверної архітектури. 
Безсерверна архітектура базується на тому, що розробники не повинні 
турбуватися про управління серверами чи ресурсами для виконання коду. 
Замість цього вони працюють з функціями або сервісами, які виконуються 
автоматично у відповідь на конкретні події. У безсерверній архітектурі 
 26 
ключовим є виконання функцій у відповідь на події, які можуть включати зміни 
в базах даних, зміни в об’єктах зберігання, HTTP-запити або інші дії. 
Такі системи здатні автоматично масштабуватися в залежності від 
навантаження, підвищуючи потужність для обробки великої кількості запитів 
або знижуючи використання ресурсів при низькому навантаженні. В оплаті за 
використання користувачі сплачують лише за фактичне виконання функцій, без 
необхідності оплачувати сервери чи інші інфраструктурні елементи. Крім того, 
безсерверні платформи часто застосовують мікросервісну архітектуру, де кожна 
функція є самостійним компонентом, що взаємодіє з іншими через API або черги 
повідомлень. 
 
Безсерверна архітектура має кілька важливих переваг. Однією з 
найбільших є економічність, оскільки користувач платить лише за фактичне 
використання ресурсів, що значно знижує витрати на інфраструктуру, особливо 
при обробці великих обсягів даних. Окрім того, безсерверна система 
автоматично масштабується, дозволяючи ефективно обробляти як великі обсяги 
даних під час пікових навантажень, так і менші обсяги в моменти низької 
активності. Це зменшує потребу в прогнозуванні навантаження та додаткових 
ресурсах. 
Безсерверні платформи дозволяють розробникам зосередитись на бізнес-
логіці та коді, оскільки управління інфраструктурою бере на себе постачальник 
хмарних послуг, що пришвидшує розробку, тестування та розгортання додатків. 
Відсутність необхідності в управлінні серверами, налаштуванні мережі чи 
моніторингу обладнання знижує складність адміністрування, даючи можливість 
розробникам зосередитися на вирішенні бізнес-завдань. Також безсерверні 
платформи забезпечують високий рівень інтеграції з іншими хмарними 
сервісами, базами даних і системами обробки даних, що дозволяє швидко 
створювати та запускати комплексні додатки для аналізу великих даних. 
 
 
 27 
Перспективи застосування безсерверної архітектури. 
Безсерверна архітектура має великий потенціал у різних сферах. Вона є 
ідеальним рішенням для обробки великих даних у реальному часі, оскільки може 
автоматично масштабувати ресурси залежно від потреб, що особливо важливо 
при аналізі потокових даних з різних джерел, таких як датчики IoT, соціальні 
мережі чи лог-файли. Такі системи здатні швидко обробляти та аналізувати 
величезні обсяги інформації, підтримуючи високий рівень ефективності. 
Безсерверні платформи також активно інтегруються з сервісами 
машинного навчання та штучного інтелекту, що дозволяє швидко обробляти 
великі обсяги даних і застосовувати моделі для прогнозування та класифікації. 
Це відкриває нові можливості для розвитку інтелектуальних систем, які можуть 
самостійно приймати рішення на основі аналізу даних. 
Крім того, безсерверні технології сприяють розвитку мікросервісних 
архітектур, де кожен компонент системи працює незалежно як окрема функція 
або сервіс. Такий підхід дозволяє створювати масштабовані та гнучкі додатки 
для обробки великих даних, що легко адаптуються до змін у вимогах або 
навантаженні. 
Автоматизація обробки даних також є важливою перевагою безсерверної 
архітектури. Це дозволяє без втручання людини здійснювати обробку великих 
обсягів інформації, оновлювати бази даних або виконувати агрегацію даних на 
основі визначених тригерів, що значно спрощує робочі процеси. Нарешті, 
безсерверні рішення дозволяють ефективно працювати з даними з різних джерел, 
таких як веб-сайти, мобільні додатки або IoT-пристрої, що робить їх ідеальним 
вибором для створення багатоканальних і мультиформатних систем обробки 
даних. 
 
 
 28 
РОЗДІЛ 2 
 АРХІТЕКТУРА ТА ІНТЕГРАЦІЯ БЕЗСЕРВЕРНИХ СИСТЕМ 
 
 
2.1. Принципи побудови безсерверних систем обробки даних 
Безсерверні системи обробки даних є важливою складовою сучасних 
архітектур для ефективної обробки великих обсягів даних в хмарному 
середовищі. Головною ідеєю безсерверної обробки є відмова від потреби в 
управлінні фізичними серверами чи віртуальними машинами. Користувачі та 
розробники орієнтуються на сервіс, який автоматично масштабується та 
виконується без прямого втручання в інфраструктуру. Це дозволяє зосередитися 
на бізнес-логіці та процесах обробки даних, зменшуючи потребу в інженерних 
ресурсах для адміністрування серверів. 
Безсерверні системи обробки даних базуються на обробці подій, де кожна 
подія, така як зміни в базах даних, надходження нових файлів або HTTP-запити, 
ініціює виконання функції. Це дозволяє системам реагувати на зміни в 
реальному часі, виконуючи обчислювальні процеси автоматично. Окрім того, ці 
системи використовують автоматичне масштабування: коли кількість запитів 
або подій зростає, потужності обчислювальних ресурсів збільшуються, а при 
зниженні навантаження ресурси зменшуються, що допомагає оптимізувати 
витрати. 
У безсерверних архітектурах організації платять лише за фактичне 
використання ресурсів, що означає, що оплата здійснюється за час виконання 
функцій або оброблені дані. Це дозволяє зменшити витрати на інфраструктуру, 
оскільки не потрібно підтримувати сервери для обробки рідкісних запитів. Крім 
того, такі системи часто побудовані на основі мікросервісної архітектури, де 
кожна функція виконує конкретне завдання, взаємодіючи з іншими через API. Це 
дозволяє створювати гнучкі, масштабовані та легко оновлювані додатки для 
обробки даних. 
 29 
Безсерверні системи часто інтегруються з іншими хмарними технологіями, 
такими як сервіси зберігання даних, бази даних та інструменти для обробки 
потокових даних або аналітики, що дозволяє автоматизувати процеси збирання 
та обробки великих даних. Основними елементами таких систем є функції, які 
виконуються на вимогу, обробляючи конкретні завдання, як аналіз даних чи 
трансформація файлів. Вони запускаються автоматично при надходженні подій, 
без необхідності налаштування серверів, і можуть бути оновлені без впливу на 
інші частини системи. 
Також важливою перевагою безсерверних архітектур є багаторівневий 
доступ і безпека, що включає автентифікацію користувачів, шифрування даних 
та політики контролю доступу до ресурсів. Вбудовані механізми захисту 
допомагають знизити ризики витоків даних і забезпечують їхню цілісність. 
 
Алгоритми безсерверної обробки даних орієнтовані на ефективну роботу з 
великими обсягами інформації, зокрема потоковими даними. Вони дозволяють 
обробляти інформацію в режимі реального часу, наприклад, дані із сенсорів або 
соціальних мереж. Використовуючи хмарні функції та технології стрімінгу, такі 
як Kafka чи Kinesis, можна автоматично аналізувати надходження подій і 
приймати рішення на основі отриманих результатів. 
Для обробки даних, що надходять асинхронно, часто застосовуються черги 
повідомлень. Це дозволяє системам реагувати на потік запитів через API або 
повідомлень, ефективно розподіляючи обчислювальні ресурси. Такий підхід 
позбавляє необхідності безпосередньо управляти інфраструктурою, зменшуючи 
навантаження на систему навіть при високій активності. 
Безсерверні функції також використовуються у сфері машинного навчання 
та аналітики. Вони можуть виконувати автоматичну обробку даних для 
тренування моделей, формування прогнозів або створення аналітичних звітів. 
Такі алгоритми дозволяють підтримувати актуальність моделей, забезпечуючи 
їх автоматичне оновлення чи вдосконалення за потреби. 
 
 30 
 
2.2.Популярні платформи: AWS Lambda, Google Cloud Functions, 
Azure Functions 
Безсерверні платформи, такі як AWS Lambda, Google Cloud Functions та 
Azure Functions, є основними інструментами для побудови ефективних, 
масштабованих і економічних систем обробки даних у хмарному середовищі. Всі 
ці платформи підтримують принципи безсерверної обробки, де користувачам не 
потрібно управляти інфраструктурою серверів, а вони можуть орієнтуватися 
лише на написання функцій, які автоматично виконуються у відповідь на події. 
Ось короткий огляд кожної з цих платформ. 
 
 
Рис.2.2 AWS Lambda, Google Cloud Functions, Azure Functions 
 
AWS Lambda 
Amazon Web Services (AWS) — одна з найбільших і найпопулярніших 
хмарних платформ, що пропонує сервіс AWS Lambda для безсерверного 
виконання коду. Це потужне і гнучке рішення, яке дозволяє запускати код без 
необхідності управляти серверами. 
 31 
AWS Lambda має кілька ключових характеристик, які роблять його 
ефективним інструментом для обробки даних. Система автоматично масштабує 
кількість екземплярів функції залежно від рівня навантаження. Це означає, що 
при великій кількості запитів створюються додаткові екземпляри для 
забезпечення їх обробки без затримок. 
Платформа підтримує різні мови програмування, серед яких Node.js, 
Python, Java, Go, .NET і Ruby. Це дозволяє розробникам працювати з 
інструментами, з якими вони вже знайомі, і створювати функції швидше. Модель 
оплати за фактичне використання забезпечує економічну вигоду, оскільки 
витрати формуються лише за час виконання функцій, а не за резервовані ресурси. 
Lambda легко інтегрується з іншими сервісами AWS, такими як Amazon 
S3, DynamoDB, Kinesis і API Gateway. Завдяки цьому можна створювати 
комплексні рішення для збору, обробки й аналізу великих даних. Крім того, 
функції AWS Lambda запускаються автоматично у відповідь на різноманітні 
події, такі як зміни в базах даних, надходження файлів або HTTP-запити. Ця 
здатність реагувати на події дозволяє швидко обробляти інформацію в 
реальному часі. 
 
Переваги AWS Lambda: 
• Простота налаштування та використання. 
• Висока масштабованість і ефективність. 
• Широкий набір інтеграцій із іншими AWS сервісами. 
• Потужна екосистема для побудови складних безсерверних додатків. 
Обмеження: 
• Обмеження по часу виконання функцій (максимум 15 хвилин). 
• Обмеження по розміру пакету коду та використаних ресурсів. 
 
 
 
 
 32 
Google Cloud Functions 
Google Cloud Functions — це безсерверна платформа від Google, яка 
дозволяє запускати функції в хмарі в режимі реального часу. Подібно до AWS 
Lambda, вона дозволяє автоматично виконувати код у відповідь на події без 
необхідності управляти серверами. 
Google Cloud Functions характеризується автоматичним масштабуванням, 
яке забезпечує динамічне збільшення або зменшення кількості екземплярів 
функцій залежно від навантаження. Це дозволяє ефективно обробляти змінну 
кількість подій або запитів, адаптуючи ресурси до поточних потреб. 
Платформа підтримує кілька мов програмування, включаючи Node.js, 
Python, Go та Java, що забезпечує гнучкість для розробників у виборі 
інструментів, відповідних до їхніх завдань. Завдяки інтеграції з іншими 
сервісами Google Cloud, такими як Firebase, Google Cloud Storage, Google Cloud 
Pub/Sub і Google BigQuery, функції можуть бути частиною складних архітектур 
для обробки великих даних і створення масштабованих додатків. 
Функції запускаються у відповідь на події з різних джерел, таких як зміни 
в Google Cloud Storage, повідомлення з Cloud Pub/Sub або HTTP-запити. Це 
дозволяє використовувати Google Cloud Functions для обробки даних у 
реальному часі й швидкого реагування на зовнішні події. 
 
Переваги Google Cloud Functions: 
• Інтеграція з іншими сервісами Google Cloud та Firebase. 
• Широка підтримка подій і тригерів. 
• Простота розгортання та використання. 
• Гнучкість у налаштуванні функцій. 
Обмеження: 
• Обмеження за часом виконання функцій (максимум 540 секунд). 
• Обмеження на розмір коду та його залежностей. 
  
 33 
 
Azure Functions 
Microsoft Azure пропонує сервіс Azure Functions, який дозволяє 
розробникам створювати і запускати безсерверні функції в хмарі, інтегруючи їх 
із іншими сервісами Azure та зовнішніми ресурсами. 
Azure Functions характеризується здатністю автоматично адаптуватися до 
змін у навантаженні, забезпечуючи динамічне масштабування. Це дозволяє 
ефективно обробляти збільшену кількість запитів чи подій шляхом створення 
додаткових екземплярів функцій. 
Платформа підтримує широкий набір мов програмування, серед яких C#, 
JavaScript, Python, Java та PowerShell, що забезпечує гнучкість для розробників і 
вибір інструментів, відповідних до конкретних завдань. 
Інтеграція з різними сервісами Azure, такими як Azure Storage, Cosmos DB, 
Event Hubs, Service Bus та Logic Apps, робить можливим створення складних 
систем обробки даних і реалізацію бізнес-логіки на високому рівні. 
Azure Functions також дозволяє працювати з різноманітними тригерами, 
зокрема HTTP-запитами, подіями з Azure Event Grid, змінами у файлах Azure 
Blob Storage або повідомленнями з Azure Queue Storage. Це надає змогу швидко 
реагувати на події й реалізовувати широкий спектр сценаріїв обробки даних. 
 
Переваги Azure Functions: 
• Інтеграція з іншими сервісами Azure, що забезпечує гнучкість у 
побудові масштабованих додатків. 
• Підтримка різних мов програмування та середовищ. 
• Підтримка різних типів тригерів і складних сценаріїв обробки подій. 
• Можливість обробки потокових даних і виконання завдань з 
затримкою. 
Обмеження: 
• Час виконання функцій обмежений 5 хвилинами у стандартному плані 
(можна збільшити для планів Premium і Dedicated). 
 34 
• Залежно від обраної моделі, ціноутворення може бути складним для 
великомасштабних застосувань. 
 
 
Рис.2.2 Таблиця порівняння 
 
2.3 Маштабування(scallability)  
Масштабування – це здатність системи адаптуватися до зростання або 
зменшення обсягу навантаження шляхом зміни доступних ресурсів. Ефективне 
масштабування є критичним для забезпечення стабільної роботи системи при 
зміні кількості користувачів, даних або виконуваних завдань. 
Основні види масштабування: 
1. Вертикальне масштабування (Vertical Scalability) 
2. Горизонтальне масштабування (Horizontal Scalability) 
 
 35 
 
Рис.2.3 Основні види масштабування 
 
1. Вертикальне масштабування 
Вертикальне масштабування (Scale-Up) полягає у збільшенні потужності 
існуючих ресурсів, наприклад - додавання оперативної пам’яті (RAM). 
збільшення кількості процесорів (CPU), заміна обладнання на більш 
продуктивне. 
 
Переваги: 
• Простота реалізації: не потребує змін у додатку чи архітектурі 
системи. 
• Менші витрати на підтримку: всі ресурси сконцентровані в одній 
системі. 
Недоліки: 
• Обмеження потужності: апаратні обмеження не дозволяють 
безкінечно збільшувати потужність одного вузла. 
• Одна точка відмови (Single Point of Failure): вихід з ладу вузла може 
призвести до зупинки всієї системи. 
 36 
• Висока вартість: додавання потужного обладнання може бути 
дорогим. 
 
2. Горизонтальне масштабування 
Горизонтальне масштабування (Scale-Out) передбачає додавання нових 
вузлів до системи, наприклад, серверів, які працюють паралельно. Це дозволяє 
розподіляти навантаження між кількома ресурсами. 
Переваги: 
• Необмежена масштабованість: додавання нових вузлів теоретично 
може продовжуватися нескінченно. 
• Відмовостійкість: система залишається працездатною навіть при 
виході з ладу одного або кількох вузлів. 
• Економічна ефективність: використання дешевих серверів замість 
одного потужного вузла. 
Недоліки: 
• Складність реалізації: потребує змін у додатку для розподілу даних і 
навантаження між вузлами. 
• Витрати на управління: необхідність налаштування мережі, 
балансувальників навантаження та засобів синхронізації даних. 
 
 
  
 37 
 
Критерій Вертикальне Горизонтальне 
масштабування масштабування 
Спосіб реалізації Збільшення потужності Додавання нових вузлів до 
одного вузла системи 
Обмеження Апаратні межі одного Залежить від архітектури 
вузла додатку 
Відмовостійкість Менша через залежність Вища завдяки 
від одного вузла розподіленій системі 
Гнучка, можливість 
Вартість Висока за рахунок 
потужного обладнання використання дешевих 
вузлів 
Складність налаштування Просте: не вимагає змін в Складне: потребує 
архітектурі балансування та 
синхронізації 
Таблиця.2.3 Таблиця порівняння способів маштабування 
 
Вертикальне масштабування зазвичай застосовується для невеликих 
систем, які потребують швидкого збільшення ресурсів без зміни архітектури. 
Наприклад, у випадку баз даних із малим навантаженням, коли потрібно 
підвищити продуктивність, можна додати більше оперативної пам’яті, 
збільшити кількість процесорів або прискорити зберігання даних. Такий підхід є 
ефективним для систем, де не передбачається значне розширення користувацької 
бази або збільшення навантаження, оскільки вертикальне масштабування має 
фізичні обмеження на додавання ресурсів. 
Горизонтальне масштабування, навпаки, застосовується в масштабних 
системах, які повинні забезпечувати високу доступність і здатність обробляти 
значні обсяги запитів. Цей підхід є ідеальним для таких сценаріїв, як робота веб-
додатків, хмарних сервісів або систем обробки великих даних. Замість 
 38 
збільшення ресурсів в одній системі додаються додаткові сервери чи вузли, що 
дозволяє рівномірно розподілити навантаження. Горизонтальне масштабування 
забезпечує більшу гнучкість і стійкість, оскільки вихід з ладу одного з вузлів не 
впливає на роботу всієї системи, що є критично важливим для 
високонавантажених додатків. 
Вертикальне масштабування підходить для систем з фіксованим або 
помірним навантаженням, тоді як горизонтальне є оптимальним вибором для 
високонавантажених систем, які потребують гнучкості та відмовостійкості. 
Вибір між цими типами залежить від характеристик системи, потреб бізнесу та 
очікуваного навантаження. 
 
2.4.Використання безсерверних рішень для масштабування 
обчислювальних ресурсів 
Масштабування обчислювальних ресурсів є однією з найбільших проблем 
для традиційних систем обробки даних, особливо коли мова йде про великі 
обсяги даних, високі навантаження або непередбачувані піки активності. 
Безсерверні рішення пропонують ефективний спосіб вирішення цієї проблеми, 
дозволяючи автоматично масштабувати ресурси без необхідності в ручному 
втручанні в інфраструктуру. Це забезпечує зручність, економічність і гнучкість 
у побудові систем, що здатні адаптуватися до змінюваних вимог. 
Принципи масштабування в безсерверних рішеннях забезпечують 
ефективне використання ресурсів, гнучкість і високу продуктивність. Одним із 
ключових аспектів таких систем є автоматичне масштабування, що відбувається 
за запитом. Це означає, що обчислювальні потужності динамічно адаптуються 
до рівня навантаження. Якщо обсяг запитів або даних збільшується, система 
автоматично додає більше екземплярів функцій чи ресурсів для їх обробки. 
Наприклад, під час пікових навантажень у веб-додатках або при обробці великих 
обсягів даних немає потреби вручну додавати сервери чи змінювати 
інфраструктуру. Усі процеси масштабування відбуваються без втручання 
користувача, що значно підвищує доступність і швидкість виконання. 
 39 
Ще одним важливим принципом є масштабування, яке здійснюється за 
подіями. У безсерверних платформах, таких як AWS Lambda, Google Cloud 
Functions або Azure Functions, виконання функцій ініціюється подіями, такими 
як HTTP-запити, зміни у файлах хмарного сховища чи повідомлення з черг. У 
залежності від обсягу навантаження система запускає необхідну кількість 
екземплярів функцій, що дозволяє обробляти як одиничні події, так і потоки з 
високою інтенсивністю. Такий підхід забезпечує безперервне і точне 
масштабування під час пікових періодів, підтримуючи стабільну продуктивність 
без втрат швидкості. 
Особливістю безсерверних рішень є також модель оплати за фактичне 
використання ресурсів. У цих системах оплата здійснюється за реальний обсяг 
виконаних операцій, оброблених даних чи тривалість роботи функцій. На 
відміну від традиційних підходів, де оплата здійснюється за виділені ресурси, 
безсерверна архітектура активує потужності лише тоді, коли вони дійсно 
потрібні. Це дозволяє уникнути витрат на постійно працюючі сервери і 
зменшити загальні витрати. Таким чином, масштабування стає не лише технічно 
ефективним, а й економічно вигідним. 
Безсерверне масштабування обчислювальних ресурсів надає низку 
вагомих переваг, які роблять його привабливим для сучасних систем. Головною 
з них є гнучкість і адаптивність. Такі системи миттєво реагують на зміни у 
навантаженні, динамічно додаючи або звільняючи ресурси залежно від поточних 
потреб. Наприклад, якщо раптово збільшується кількість одночасних запитів, 
система автоматично збільшує свої обчислювальні потужності, щоб забезпечити 
швидку і якісну обробку кожного запиту. Ця здатність особливо важлива для 
систем із високими вимогами до доступності та ефективності, таких як онлайн-
сервіси, які працюють у реальному часі. 
Ще однією перевагою є значна економія ресурсів. Оскільки безсерверна 
архітектура активує сервери лише тоді, коли це потрібно, а після завершення 
обробки даних ресурси автоматично звільняються, підприємства уникають 
перевитрат на інфраструктуру. Це дозволяє ефективно використовувати бюджет 
 40 
і уникати ситуацій простою або перевантаження навіть за непередбачуваних змін 
у навантаженні. Компанії можуть зосередитися на важливих завданнях, знаючи, 
що система оптимально розподіляє свої ресурси. 
Швидкість і ефективність є ключовими характеристиками таких рішень. 
Масштабування у безсерверних системах відбувається автоматично і практично 
миттєво, що дозволяє уникати затримок, пов’язаних із розгортанням додаткових 
серверів чи налаштуванням інфраструктури. Це забезпечує стабільну 
продуктивність навіть у періоди пікового навантаження, що критично важливо 
для бізнесів, орієнтованих на клієнтів із високими вимогами до швидкості 
обслуговування. 
Крім того, безсерверна архітектура значно спрощує управління і 
обслуговування систем. Розробники та адміністратори позбавлені необхідності 
керувати фізичними серверами або віртуальними машинами. Це зменшує 
складність адміністрування, дозволяючи зосередитися на розробці та оптимізації 
програмного забезпечення. Завдяки цьому спрощуються процеси оновлення, 
підтримки і масштабування систем, що позитивно впливає на ефективність 
роботи всього ІТ-відділу. 
Масштабування безсерверних систем тісно пов’язане з характером 
навантаження, що впливає на роботу платформи. Для обробки пікових 
навантажень такі системи є ідеальним вибором. У ситуаціях, коли навантаження 
суттєво зростає в певний період — наприклад, під час святкових розпродажів в 
інтернет-магазинах або поширення вірусного контенту в соціальних мережах, — 
безсерверна архітектура дозволяє автоматично реагувати на зміни. Це 
забезпечується здатністю платформ динамічно збільшувати обчислювальні 
ресурси без необхідності вручного налаштування серверів або затримок, 
пов’язаних із підготовкою додаткової інфраструктури. Завдяки цьому компанії 
можуть забезпечити стабільну роботу своїх сервісів навіть у періоди значного 
збільшення активності користувачів. 
Крім того, безсерверні рішення ефективно працюють із великими обсягами 
даних. Наприклад, системи, які обробляють дані із сенсорів, лог-файлів або 
 41 
клієнтських запитів, потребують здатності швидко реагувати на великий потік 
інформації. У безсерверній архітектурі функції виконуються лише за 
необхідності — коли надходить запит чи подія. Це дозволяє масштабувати 
ресурси в реальному часі, одночасно із зростанням обсягу даних, які потрібно 
обробити. Завдяки цьому забезпечується висока швидкість і ефективність 
обробки великих потоків інформації, що є критично важливим для сучасних 
додатків і систем. 
Безсерверне масштабування обчислювальних ресурсів знаходить широке 
застосування у багатьох сферах, демонструючи свою ефективність у динамічних 
та ресурсомістких середовищах. Одним із яскравих прикладів є аналіз великих 
даних у реальному часі. Платформи, такі як Amazon Kinesis або Google Cloud 
Pub/Sub, можуть поєднуватися з безсерверними функціями для обробки потоків 
інформації, що надходить у значних обсягах. У таких ситуаціях безсерверні 
функції автоматично масштабуються відповідно до поточного навантаження, що 
дозволяє виконувати аналіз даних без затримок і забезпечувати швидке 
прийняття рішень у режимі реального часу. 
Сфера інтернету речей (IoT) також значною мірою покладається на 
можливості безсерверного масштабування. Мільйони пристроїв IoT, таких як 
датчики температури, монітори здоров’я або смарт-термостати, генерують 
величезні обсяги даних, які потребують оперативної обробки. Безсерверні 
системи здатні обробляти ці потоки даних, автоматично адаптуючи 
обчислювальні ресурси під зростаючий потік інформації. Завдяки цьому 
розробники можуть зосередитися на створенні нових можливостей для пристроїв 
IoT, не турбуючись про управління фізичною інфраструктурою. 
Електронна комерція та інтернет-магазини також активно використовують 
безсерверну архітектуру для обробки сезонних або раптових піків трафіку. Під 
час розпродажів чи акцій, таких як “Чорна п’ятниця”, платформи стикаються зі 
стрімким зростанням навантаження, що може призвести до перевантаження 
системи. Безсерверні рішення дозволяють автоматично збільшувати кількість 
ресурсів для підтримки стабільної роботи сайтів і мобільних додатків у такі 
 42 
періоди. Це гарантує безперебійну роботу сервісу та позитивний досвід для 
клієнтів, навіть за умов значного зростання кількості відвідувачів. 
 
2.5. Кібербезпека в безсерверних технологіях 
Безсерверні технології, хоча й спрощують розробку та управління 
обчислювальними ресурсами, створюють нові виклики в галузі кібербезпеки. 
Оскільки розробники покладаються на хмарні провайдери для виконання 
функцій і управління інфраструктурою, важливо враховувати унікальні загрози 
та впроваджувати відповідні засоби захисту. 
Безсерверні технології пропонують численні переваги, проте їх 
використання супроводжується низкою викликів у сфері кібербезпеки, які 
потребують особливої уваги. Одним із ключових викликів є обмежений контроль 
над інфраструктурою, оскільки в безсерверній архітектурі всю інфраструктуру 
контролює хмарний провайдер. Організації, що використовують такі рішення, не 
мають можливості самостійно налаштовувати рівень безпеки на фізичному чи 
віртуальному рівні, що може залишати деякі аспекти захисту залежними від 
стандартів і процедур постачальника. 
Холодні старти також створюють потенційні часові вікна вразливості. 
Функції безсерверного обчислення можуть бути тимчасово вразливими у момент 
ініціалізації або при повторному запуску після періоду бездіяльності. Такий стан 
може використовуватися зловмисниками для здійснення атак, якщо не 
забезпечено відповідний рівень безпеки. 
Код функцій є ще одним критичним аспектом, що впливає на загальний 
рівень захисту. Неправильна обробка вхідних даних або відсутність суворого 
контролю доступу можуть стати причиною атак, таких як SQL-ін’єкції, 
виконання шкідливого коду чи інші види зловживань. Ця вразливість підкреслює 
необхідність впровадження найкращих практик програмування та регулярного 
аудиту коду. 
Управління доступом та ідентифікацією також створює певні складнощі. 
Недостатньо суворі політики контролю доступу можуть дозволити 
 43 
зловмисникам отримати несанкціонований доступ до функцій або взаємодіючих 
хмарних сервісів. Ця проблема вимагає чіткої конфігурації ролей, прав доступу 
та використання засобів моніторингу дій користувачів. 
Безсерверні системи часто використовують численні мікросервіси та API, 
що розширює площину атаки. Кожен із цих компонентів може стати 
потенційною точкою входу для зловмисників. Така розподіленість вимагає 
ретельного управління, налаштування захисту API та регулярного тестування 
безпеки кожного елемента системи. 
Інтеграція зі сторонніми сервісами, наприклад, базами даних, зовнішніми 
API або сторонніми платформами, також може створювати ризик витоку даних. 
Слабкі місця в інтеграціях або недостатньо захищені з’єднання можуть 
призвести до компрометації інформації, що робить необхідним впровадження 
надійних механізмів шифрування, перевірки автентичності та контролю доступу. 
 
Основні загрози безсерверних технологій пов’язані з кількома критичними 
аспектами, які можуть бути вразливими до атак. Однією з таких загроз є атаки на 
API, які є точками входу для функцій. Зловмисники можуть спробувати зламати 
або маніпулювати API, що дозволяє їм отримати несанкціонований доступ до 
внутрішніх ресурсів або даних системи. Якщо API не захищене належним чином, 
зловмисники можуть легко експлуатувати вразливості, що може призвести до 
серйозних наслідків, таких як крадіжка даних або виконання шкідливих 
операцій. 
Іншою важливою загрозою є неавторизований доступ, який може статися 
через помилки в налаштуваннях управління доступом (IAM). Якщо політики 
доступу налаштовані неналежним чином, сторонні особи можуть отримати 
доступ до функцій, баз даних чи інших критичних частин системи, що відкриває 
можливості для атак. Важливо, щоб усі системи мали суворі політики доступу, а 
також механізми моніторингу для виявлення несанкціонованих спроб доступу. 
 
 44 
Ще одна значна загроза полягає в використанні довірливих залежностей, 
таких як сторонні бібліотеки чи компоненти з вразливостями. Системи 
безсерверних обчислень часто інтегруються з різноманітними сторонніми 
бібліотеками для спрощення розробки, проте це може стати потенційною 
вразливістю. Якщо стороння бібліотека має помилки безпеки, вони можуть бути 
використані зловмисниками для атак. 
Нарешті, атак на тайм-інтервали також є значною загрозою. Ці атаки 
можуть використовувати затримки, що виникають між викликами функцій або 
ініціалізацією ресурсів. Зловмисники можуть маніпулювати часом виконання 
запитів, щоб виявити уразливості в синхронізації або розподілі ресурсів, що 
дозволяє їм скористатися перевагою над системою. Важливо виявляти такі 
затримки та вжити заходів для їх мінімізації, щоб зменшити ймовірність 
успішної атаки. 
 
Для захисту безсерверних систем важливо використовувати ряд методів, 
спрямованих на забезпечення високого рівня безпеки на різних етапах їх роботи. 
Одним з основних аспектів є безпечний дизайн і розробка. Це включає 
застосування підходу “безпека за замовчуванням”, що передбачає інтеграцію 
безпекових заходів на ранніх етапах проектування. Для виявлення вразливостей 
слід регулярно проводити перевірку вихідного коду за допомогою статичного 
(SAST) або динамічного (DAST) аналізу. Важливо також дотримуватися 
принципу мінімізації дозволів, що дозволяє обмежити доступ лише до 
необхідних ресурсів, знижуючи ризики витоків або несанкціонованого доступу. 
Шифрування даних є критичним елементом захисту. Необхідно 
забезпечити шифрування даних не тільки під час їх передачі (з використанням 
протоколу TLS), а й у стані спокою (наприклад, за допомогою алгоритму AES-
256). Управління ключами також повинно бути централізованим через керовані 
хмарні сервіси, такі як AWS KMS чи Azure Key Vault, щоб забезпечити 
додатковий рівень захисту для чутливої інформації. 
 
 45 
Управління доступом є важливим аспектом, який включає налаштування 
точкового доступу для кожної функції та регулярний перегляд і оновлення 
політик доступу. Для підвищення безпеки необхідно використовувати 
багатофакторну автентифікацію (MFA), що забезпечує додатковий рівень 
перевірки і запобігає несанкціонованому доступу. 
Моніторинг і логування допомагають виявляти аномальні дії в реальному 
часі. Впровадження систем моніторингу, таких як AWS CloudWatch або Azure 
Monitor, дозволяє виявляти будь-які підозрілі зміни або спроби атаки. Логування 
всіх викликів функцій та запитів до API допомагає відстежувати інциденти та 
розслідувати можливі атаки. Важливо, щоб журнали подій зберігалися в 
захищених сховищах, щоб у разі потреби вони могли бути використані для 
аудиту або відновлення після інцидентів. 
Захист API є ще одним важливим кроком у забезпеченні безпеки. Для 
цього рекомендується використовувати шлюзи API (API Gateway), які 
дозволяють контролювати доступ до API, здійснювати авторизацію та 
обмежувати кількість запитів (rate limiting), що дозволяє уникнути 
перевантаження або атак типу “відмова в обслуговуванні” (DoS). Автоматичні 
перевірки запитів для виявлення шкідливих патернів допомагають запобігти 
атакам на рівні API. 
Інтеграція з DevSecOps є важливою практикою для забезпечення безпеки 
на всіх етапах життєвого циклу розробки програмного забезпечення. 
Інструменти безпеки повинні бути інтегровані в процеси CI/CD, щоб регулярно 
перевіряти код і залежності на наявність вразливостей, а також оновлювати їх, 
коли це необхідно. 
Використання техніки “sandboxing” дозволяє ізолювати функції одна від 
одної, що зменшує ризики компрометації всієї системи в разі успішної атаки на 
одну з функцій. Це створює додатковий захисний шар, обмежуючи шкоду, яку 
може завдати зловмисник. 
 
 46 
Перспективи розвитку кібербезпеки для безсерверних технологій 
зосереджуються на вдосконаленні існуючих методів захисту та впровадженні 
новітніх технологій, які дозволять забезпечити ще більш ефективний захист від 
загроз. Однією з важливих тенденцій є інтеграція штучного інтелекту (AI) та 
машинного навчання (ML) для автоматичного виявлення загроз і реагування на 
них. Ці технології здатні аналізувати величезні обсяги даних і виявляти аномалії, 
які можуть свідчити про спроби атаки, при цьому забезпечуючи миттєву реакцію 
на інциденти, що значно підвищує рівень безпеки. 
Нова генерація протоколів захисту, орієнтованих на безсерверні 
архітектури, дозволить створити спеціалізовані рішення для захисту функцій та 
їх взаємодії з іншими сервісами. Це передбачає більш гнучкі і надійні протоколи, 
що можуть адаптуватися до специфічних вимог безсерверних середовищ і 
забезпечити додатковий рівень безпеки під час взаємодії з різноманітними 
компонентами. 
Удосконалення механізмів управління доступом також є важливою 
складовою розвитку кібербезпеки для безсерверних технологій. Оскільки 
безсерверні системи часто інтегрують численні функції та сервіси, автоматизація 
налаштування політик доступу за допомогою більш розвинених інструментів 
IAM (Identity and Access Management) стане критично важливою для зменшення 
ризиків несанкціонованого доступу. Це дозволить забезпечити точковий доступ 
до конкретних функцій і ресурсів без необхідності вручну налаштовувати 
політики безпеки для кожної окремої ситуації. 
Окрім того, розвиток інструментів для моніторингу та аналізу функцій у 
реальному часі дозволить покращити процеси захисту безсерверних систем. Нові 
рішення для тестування та виявлення вразливостей функцій допоможуть знизити 
кількість потенційних загроз, а також забезпечити постійний моніторинг стану 
безпеки на всіх етапах використання безсерверних технологій. 
У результаті, завдяки інтеграції сучасних технологій та вдосконаленню 
інструментів безпеки, безсерверні системи зможуть стати ще більш захищеними 
та стійкими до кіберзагроз. Водночас розвиток цих технологій вимагатиме від 
 47 
організацій більш комплексного підходу до управління безпекою, щоб зберегти 
баланс між гнучкістю та захистом. 
  
 48 
РОЗДІЛ 3 
ДОСЛІДЖЕННЯ ПРОДУКТИВНОСТІ ТА ОПТИМІЗАЦІЇ 
БЕЗСЕРВЕРНИХ СИСТЕМ 
 
 
3.1. Критерії оцінки продуктивності безсерверних систем 
Оцінка продуктивності безсерверних систем є важливою частиною 
процесу їх впровадження та експлуатації, оскільки дозволяє визначити 
ефективність використання ресурсів і здатність системи справлятися з високим 
навантаженням. Хоча безсерверні архітектури мають безліч переваг, таких як 
автоматичне масштабування та гнучкість, оцінка їх продуктивності вимагає 
врахування кількох ключових критеріїв. Нижче наведено основні критерії, які 
слід враховувати при оцінці продуктивності безсерверних систем. 
 
Час відгуку (Latency) 
Час відгуку є критичним показником, що визначає швидкість виконання 
функцій або запитів у безсерверній системі. Це час, який проходить від моменту 
надходження запиту до моменту отримання відповіді. Високий час відгуку може 
вплинути на якість обслуговування користувачів і знизити загальну ефективність 
системи, особливо в реальному часі.  
Головним фактором що впливає на час відгуку є час ініціалізації функцій 
(cold start), час обробки даних, затримки при масштабуванні ресурсів тощо. 
Найкращим методом покращення оптимізації є використання технологій, які 
зменшують час ініціалізації функцій, оптимізація коду, використання кешування 
або попередніх даних. 
 
Продуктивність (Throughput) 
Продуктивність визначається як кількість запитів, які система може 
обробити за одиницю часу. Для безсерверних платформ це часто вимірюється 
 49 
кількістю виконаних функцій або оброблених подій за секунду. Висока 
продуктивність критична для систем, що працюють з великими обсягами даних 
або мають високі вимоги до швидкості обробки запитів. 
Головним фактором що впливає на продуктивність є обсяг вхідних даних, 
складність обробки кожного запиту, наявність затримок при підготовці функцій 
або масштабуванні. Найкращим методом покращення продуктивності є 
оптимізація архітектури функцій для зменшення часу виконання, масштабування 
ресурсів для підтримки високих навантажень. 
 
Масштабованість 
Масштабованість відноситься до здатності системи збільшувати або 
зменшувати обчислювальні ресурси в залежності від навантаження. Одна з 
основних переваг безсерверних систем — це автоматичне масштабування, яке 
дозволяє системам адаптуватися до змін у вимогах без втручання з боку 
користувача. Висока масштабованість забезпечує ефективне управління 
ресурсами та дозволяє системам обробляти великі обсяги даних навіть за 
високого навантаження.  
Головним фактором що впливає на масштабованість є  здатність 
платформи автоматично розширювати ресурси, здатність справлятися з 
піковими навантаженнями, швидкість масштабування. Найкращим методом 
покращення масштабованості є оптимізація механізмів масштабування, 
використання балансування навантаження для ефективного розподілу запитів 
між різними екземплярами. 
 
Надійність та доступність (Reliability & Availability) 
Надійність визначає здатність системи виконувати свої функції без 
помилок, а доступність — це час, протягом якого система готова до обробки 
запитів. Безсерверні системи повинні бути надійними та доступними навіть під 
час пікових навантажень або в разі збоїв у частинах інфраструктури. 
 50 
Головним фактором що впливає на надійність та доступність є 
автоматичне відновлення після збоїв, резервування ресурсів, коректна обробка 
помилок і відмов. Найкращим методом покращення надійності є використання 
декількох інстансів для забезпечення доступності, налаштування резервних 
копій і механізмів відновлення даних. 
 
Вартість використання ресурсів (Cost Efficiency) 
Безсерверні системи дозволяють значно знижувати витрати на 
інфраструктуру, оскільки оплата здійснюється лише за фактичне використання 
ресурсів (за час виконання функцій, обсяг оброблених даних тощо). Однак для 
забезпечення ефективної роботи безсерверних систем необхідно оптимізувати 
витрати на ресурси.  
Головним фактором що впливає на вартість є час виконання функцій, 
кількість викликів функцій, складність обробки запитів, обсяг використовуваних 
ресурсів. Найкращим методом покращення вартості є оптимізація коду для 
зменшення часу виконання, використання кешування та інших технік для 
зменшення кількості викликів функцій, вибір оптимальної ціноутворюючої 
моделі. 
 
Управління та моніторинг (Management & Monitoring) 
Управління та моніторинг — це важливий аспект продуктивності 
безсерверних систем, оскільки вони повинні забезпечувати постійну видимість і 
контроль за виконанням функцій і ресурсів. Це дозволяє вчасно виявляти 
проблеми, оптимізувати роботу і налаштовувати систему для максимального 
ефективного використання ресурсів.  
Головним фактором що впливає на управління є наявність інтегрованих 
інструментів моніторингу, можливість отримання метрик про виконання 
функцій, гнучкість налаштувань. Найкращим методом покращення управління є 
використання інтегрованих інструментів для моніторингу (наприклад, Amazon 
 51 
CloudWatch, Google Cloud Monitoring, Azure Monitor), налаштування сповіщень 
про помилки та збої, регулярний аналіз ефективності системи. 
 
Здатність до інтеграції (Integration Capabilities) 
Інтеграція з іншими сервісами та системами — важливий аспект оцінки 
продуктивності, оскільки багато безсерверних рішень працюють у тісній 
взаємодії з іншими хмарними сервісами. Чим простіше інтегрувати безсерверну 
платформу з іншими компонентами, тим легше підтримувати і розширювати 
систему.  
Головним фактором що впливає на можливість інтеграції є наявність 
готових API, підтримка стандартних протоколів (HTTP, WebSockets, Pub/Sub), 
простота налаштування інтеграцій. Найкращим методом покращення на 
можливість інтеграції є використання стандартних інтерфейсів і API для 
інтеграції, наявність добре документованих інструментів для взаємодії з іншими 
сервісами. 
 
3.2. Експериментальна розробка безсерверного прототипу з вибором 
AWS 
Експериментальна розробка безсерверного прототипу з використанням 
платформи AWS (Amazon Web Services) є важливою частиною дослідження 
застосування безсерверних технологій для обробки великих даних. AWS 
пропонує широкий набір інструментів і сервісів, які дозволяють розробити, 
протестувати і запустити масштабовані безсерверні рішення з високою 
ефективністю. У цьому розділі розглянуто кроки експериментальної розробки 
прототипу з вибором AWS, а також ключові аспекти реалізації безсерверної 
системи. 
Мета експерименту 
Метою експериментальної розробки безсерверного прототипу є перевірка 
можливості застосування AWS для створення ефективної безсерверної системи, 
здатної обробляти великі обсяги даних, забезпечуючи при цьому високу 
 52 
продуктивність, масштабованість і економічність. Важливим аспектом є також 
оцінка автоматичного масштабування ресурсів AWS та вартісної ефективності 
платформи. 
 
Вибір AWS для реалізації прототипу 
AWS є однією з найбільш популярних хмарних платформ для розробки 
безсерверних рішень. Вибір AWS обумовлений наявністю потужних 
інструментів для обробки даних, зокрема таких як AWS Lambda для запуску 
безсерверних функцій, Amazon S3 для зберігання даних, Amazon DynamoDB 
для швидкої обробки великих обсягів структурованих даних, а також 
можливістю інтеграції з іншими сервісами AWS для забезпечення 
масштабованості та надійності. 
 
Кроки розробки безсерверного прототипу на AWS починаються з 
визначення вимог та специфікацій системи. На цьому етапі важливо чітко 
встановити тип даних, з якими система буде працювати, наприклад, чи це 
структуровані чи неструктуровані дані. Також необхідно оцінити очікувані 
обсяги даних для обробки, оскільки це впливає на масштабування системи. 
Важливо визначити, які типи подій будуть ініціювати функції, такі як HTTP-
запити, повідомлення з черг або зміни в базах даних. Крім того, необхідно 
сформулювати вимоги до часу відгуку та масштабованості, щоб забезпечити 
відповідний рівень продуктивності та ефективності системи. 
Після визначення вимог, наступним кроком є налаштування AWS Lambda, 
яка є основною платформою для виконання безсерверних функцій. Процес 
налаштування включає створення функцій, які будуть виконуватись у відповідь 
на різні події. Наприклад, функції можуть бути ініційовані HTTP-запитами через 
Amazon API Gateway або змінами в базах даних за допомогою Amazon 
DynamoDB Streams. Важливо також визначити тригери, які запускатимуть ці 
функції, такі як черги повідомлень, HTTP-запити або зміни в даних. Для 
забезпечення безпеки та правильного доступу до інших ресурсів AWS потрібно 
 53 
налаштувати права доступу через IAM (Identity and Access Management), що 
дозволить функціям мати необхідні привілеї для доступу до інших ресурсів без 
порушення принципів безпеки. 
Для ефективної обробки великих обсягів даних на платформі AWS 
важливо інтегрувати безсерверні функції з іншими сервісами AWS, що 
допомагають зберігати, обробляти та моніторити дані. Наприклад, для 
зберігання великих обсягів даних, таких як файли, логи або зображення, можна 
використовувати Amazon S3, який пропонує надійне та масштабоване хмарне 
сховище. Якщо потрібно працювати з структурованими даними і забезпечити 
високошвидкісний доступ, відмінним вибором буде Amazon DynamoDB — це 
NoSQL база даних, яка підтримує автоматичне масштабування та дозволяє 
ефективно зберігати та обробляти дані. 
Для обробки потокових даних або повідомлень у реальному часі, таких як 
дані з датчиків або повідомлення з черг, підходять сервіси на кшталт Amazon 
Kinesis або Amazon SQS. Вони дозволяють масштабувати обробку даних і 
гарантують низьку затримку при передачі повідомлень. Для моніторингу 
виконання функцій та збору важливих метрик можна використовувати Amazon 
CloudWatch. Цей сервіс дозволяє відслідковувати стан функцій, отримувати 
сповіщення про аномальні події та аналізувати продуктивність, що допомагає 
підтримувати високу надійність і ефективність безсерверної архітектури. 
Для розробки функцій AWS Lambda можна вибрати різні мови 
програмування, зокрема Node.js, Python, Java, C# та інші. Оскільки AWS Lambda 
підтримує множину мов, це дозволяє розробникам вибирати найбільш 
підходящу для задачі мову. 
Після завершення розробки прототипу безсерверної системи важливо 
провести серію тестів для оцінки її продуктивності за різними критеріями. 
Одним із основних аспектів є тестування часу відгуку та обробки запитів. Для 
цього слід виміряти час, необхідний для запуску функції після її ініціалізації, а 
також загальний час виконання функції при обробці запиту. У AWS ці метрики 
можна моніторити через Amazon CloudWatch, що дозволяє зрозуміти, чи є 
 54 
проблеми з затримками в обробці запитів, зокрема, під час холодного старту 
функцій. 
Ще одним важливим етапом є тестування продуктивності при високому 
навантаженні. Для цього використовуються інструменти, як Artillery або AWS 
Load Testing, щоб перевірити, як система справляється з великим потоком 
запитів та подій. Це дозволяє оцінити, наскільки добре система масштабується 
при збільшенні навантаження та які витрати на обчислювальні ресурси 
виникають під час цього процесу. 
Не менш важливою є оцінка вартості обробки запитів та подій у 
безсерверній моделі. Оскільки AWS використовує модель оплати за фактичне 
використання ресурсів, необхідно оцінити витрати, пов’язані з виконанням 
функцій AWS Lambda, залежно від кількості запитів і часу виконання. Крім того, 
потрібно врахувати вартість використання інших ресурсів, таких як Amazon S3 
для зберігання даних, DynamoDB для обробки структурованих даних, Kinesis для 
обробки потокових даних тощо. 
Завершальним етапом є аналіз результатів тестування та оптимізація 
системи. Потрібно оцінити, чи відповідає продуктивність і масштабованість 
вимогам, визначеним на початковому етапі проектування. Це включає виявлення 
потенційних проблем, таких як надмірний час ініціалізації або надмірні витрати 
на ресурси, і вжиття заходів щодо їх усунення. Наприклад, можна оптимізувати 
систему за допомогою кешування даних, підвищення ефективності виконання 
функцій або вибору більш ефективних тригерів для їх запуску. 
 
3.4. Аналіз результатів: порівняння з традиційними підходами 
Аналіз результатів експериментальної розробки безсерверного прототипу 
порівнює його продуктивність, масштабованість та вартість з традиційними 
підходами до обробки великих даних, дозволяючи зрозуміти переваги та 
обмеження безсерверної архітектури в порівнянні з використанням серверних 
або кластерних рішень. 
 55 
Щодо продуктивності, безсерверний підхід має кілька ключових переваг. 
Однією з них є автоматичне масштабування, яке реалізується через AWS 
Lambda, що дозволяє платформі автоматично адаптуватися до змін у кількості 
запитів. Це усуває затримки під час пікових навантажень, оскільки система 
миттєво додає необхідні ресурси. Функції безсерверної архітектури швидко 
обробляють події, що особливо помітно в розподіленому середовищі. Однак, 
одним із недоліків є затримки, пов’язані з холодним стартом, коли функція 
запускається після тривалого простою, що може вплинути на швидкість 
виконання при певних умовах. Крім того, безсерверний підхід забезпечує 
гнучкість у розробці, адже можливість реалізації функцій для окремих завдань 
дозволяє простіше оновлювати та обслуговувати систему. 
Традиційний підхід до обробки великих даних має інші характеристики. 
Продуктивність таких систем часто обмежена фіксованою потужністю серверів, 
і в разі високого навантаження це може призводити до затримок. Серверні 
системи часто вимагають попередньої ініціалізації, що збільшує час запуску. 
Крім того, для забезпечення ефективної обробки завдань необхідно вручну 
налаштовувати кластери та балансувальники навантаження, що додає складності 
в управлінні інфраструктурою. 
Отже, безсерверна архітектура забезпечує значно кращу продуктивність 
при піковому навантаженні завдяки автоматичному масштабуванню, але 
холодний старт може бути недоліком, якщо система не оптимізована для 
мінімізації цієї затримки. Традиційні підходи зазвичай вимагають більше часу 
для запуску та масштабування, а також мають більшу складність в управлінні 
ресурсами. 
Масштабованість безсерверної та традиційної архітектур має суттєві 
відмінності. Безсерверний підхід забезпечує динамічне масштабування, при 
якому кількість виконуваних функцій автоматично регулюється залежно від 
поточного навантаження. Це дозволяє безперешкодно масштабувати систему під 
час змін у робочому навантаженні, що робить її ідеальною для змінних умов. 
Оскільки розподілена модель безсерверної архітектури здатна обробляти 
 56 
величезну кількість паралельних запитів, система не має обмежень щодо 
кількості одночасно оброблюваних завдань. У свою чергу, традиційні серверні 
системи обмежені наявністю фізичних або віртуальних машин. Масштабування 
таких систем вимагає значних витрат часу на конфігурацію та може бути 
обмежене потужністю використовуваної інфраструктури. Це робить 
безсерверний підхід значно ефективнішим у масштабуванні під час змін у 
навантаженні. 
Що стосується вартості, то безсерверні технології працюють за моделлю 
“pay-as-you-go”, що означає оплату тільки за фактично виконані функції та 
використані ресурси. Це дозволяє уникнути витрат на простаї, адже система не 
потребує утримання інфраструктури під час періодів неактивності. В 
традиційних серверних системах витрати є фіксованими, адже компанії повинні 
оплачувати оренду або обслуговування серверів навіть у періоди, коли вони не 
використовуються. Крім того, масштабування та підтримка таких систем 
потребують додаткових витрат часу та ресурсів. Таким чином, безсерверний 
підхід вигідний для змінних та нерівномірних навантажень, тоді як традиційні 
серверні рішення можуть бути більш економічно доцільними при постійному 
високому навантаженні. 
Що стосується гнучкості та управління, безсерверна архітектура значно 
спрощує адміністрування, оскільки користувачам не потрібно управляти 
фізичною інфраструктурою, що дозволяє зосередитись на розробці додатків. 
Безсерверні платформи також забезпечують легку інтеграцію з іншими 
сервісами, що дозволяє швидко розширювати функціональність системи. 
Традиційні серверні рішення потребують значних зусиль для налаштування, 
підтримки та управління інфраструктурою, але натомість вони надають більше 
можливостей для кастомізації середовища. Це дає більшу гнучкість для 
користувачів, які потребують тонкого налаштування, хоча й з більшою 
складністю в управлінні. 
Аналіз результатів показує, що безсерверні системи обробки великих 
даних мають значні переваги у масштабованості, вартості та простоті управління 
 57 
у порівнянні з традиційними підходами. Однак, холодні старти функцій AWS 
Lambda і обмеження в кастомізації можуть бути недоліками для певних типів 
задач. Традиційні серверні рішення залишаються актуальними для стабільних 
робочих навантажень або задач із високими вимогами до налаштувань 
середовища. 
  
 58 
РОЗДІЛ 4 
РЕКОМЕНДАЦІЇ ТА ПРАКТИЧНЕ ЗАСТОСУВАННЯ БЕЗСЕРВЕРНИХ 
СИСТЕМ 
 
 
4.1. Рекомендації щодо впровадження безсерверних рішень для різних 
галузей 
 
Безсерверні рішення мають великий потенціал для впровадження в різних 
сферах завдяки своїй здатності до масштабування, економічності та простоті 
управління. Вони можуть стати корисними інструментами для оптимізації 
багатьох процесів у різних галузях. 
У фінансовому секторі безсерверні технології можуть бути ефективно 
використані для обробки транзакцій у реальному часі, виявлення шахрайства та 
аналізу ринкових даних. Наприклад, використання безсерверних функцій, таких 
як AWS Lambda, дозволяє автоматично обробляти фінансові запити, 
забезпечуючи високий рівень швидкості та ефективності. Інтеграція з базами 
даних, зокрема Amazon DynamoDB, дозволяє здійснювати швидкий доступ до 
транзакційної інформації, що критично важливо для обробки фінансових даних 
в реальному часі. Крім того, застосування алгоритмів машинного навчання через 
сервіси, як-от Amazon SageMaker, дає можливість виявляти аномалії в даних, що 
допомагає запобігати шахрайству та проводити глибокий аналіз ринкових змін. 
В галузі медицини та охорони здоров’я безсерверні технології можуть бути 
використані для обробки даних пацієнтів, аналізу медичних зображень, таких як 
рентген та МРТ, а також для моніторингу стану здоров’я в реальному часі через 
носимі пристрої. Безсерверні рішення дозволяють обробляти дані IoT-пристроїв, 
що передають інформацію про стан пацієнтів, забезпечуючи миттєву реакцію на 
зміни в їхньому стані. Зберігання медичних зображень у хмарних сховищах, 
таких як Amazon S3, разом із використанням безсерверних функцій для їх 
 59 
подальшої обробки, забезпечує зручність і ефективність роботи з великими 
обсягами медичних даних. Для забезпечення конфіденційності та безпеки 
медичних даних важливо дотримуватись стандартів, таких як HIPAA, шляхом 
використання шифрування та належного контролю доступу в хмарних 
середовищах. 
Таким чином, безсерверні рішення можуть суттєво покращити 
ефективність та гнучкість багатьох процесів у фінансовому та медичному 
секторах, забезпечуючи при цьому високу продуктивність і дотримання всіх 
необхідних стандартів безпеки. 
Ефективність, гнучкість та масштабованість в таких сферах, як електронна 
комерція, наука, соціальні мережі та медіа. У випадку електронної комерції 
безсерверні функції дозволяють ефективно обробляти замовлення та платежі, 
автоматично адаптуючи ресурси під пікові навантаження, такі як великі 
розпродажі або святкові сезони. За допомогою таких інструментів, як AWS 
Lambda, можна реалізувати динамічне масштабування обробки замовлень і 
надання персоналізованих рекомендацій для користувачів через алгоритми, 
інтегровані з API Gateway. Автоматизація оновлення інвентарю через події в 
базах даних, таких як Amazon DynamoDB, дає змогу знижувати ймовірність 
помилок і пришвидшити процес. 
В наукових дослідженнях, що вимагають обробки великих обсягів даних, 
таких як геноміка чи кліматичні моделі, безсерверні рішення можуть значно 
оптимізувати обчислювальні процеси, розподіляючи навантаження через 
розподілені середовища. Важливим аспектом є автоматизація збереження та 
обробки результатів експериментів у хмарних сховищах, як Amazon S3, що 
дозволяє забезпечити швидкий доступ до даних і зберігати їх у безпечному 
середовищі. Інтеграція хмарних сервісів для спільного доступу та візуалізації 
результатів, зокрема через Amazon QuickSight, надає можливість зручного 
аналізу даних на етапі дослідження. 
У соціальних мережах і медіа, де обробка користувацького контенту, таких 
як зображення і відео, є критично важливою, безсерверні рішення допомагають 
 60 
автоматизувати процеси модерації та аналізу контенту. Використання AWS 
Rekognition дозволяє реалізувати автоматичний аналіз зображень і відео для 
виявлення неприпустимого контенту або виконання інших завдань модерації. 
Крім того, для забезпечення високої ефективності стрімінгових сервісів у 
реальному часі можна застосовувати Lambda для динамічного масштабування 
під час пікових навантажень, таких як великі трансляції або онлайн-події. 
При впровадженні безсерверних рішень важливо враховувати економічну 
доцільність: вони найкраще підходять для задач із нерівномірним 
навантаженням, оскільки модель оплати за фактичне використання ресурсів 
дозволяє знизити витрати. Питання безпеки та конфіденційності також є 
ключовим, особливо в галузях, де обробляються чутливі дані. Забезпечення 
шифрування та дотримання галузевих стандартів, таких як GDPR або HIPAA, є 
необхідною умовою для захисту інформації. Однією з проблем, що потребує 
вирішення, є оптимізація холодного старту безсерверних функцій, для чого 
можна використовувати сучасні інструменти, що мінімізують затримки. 
Нарешті, інтеграція із системами моніторингу, такими як AWS CloudWatch, 
дозволяє відстежувати продуктивність, витрати та ефективність роботи 
безсерверних функцій в реальному часі, що допомагає оптимізувати їх роботу і 
запобігати потенційним проблемам. 
Ці кроки дозволять забезпечити не лише економічність та ефективність, 
але й високу гнучкість і зручність в управлінні, що робить безсерверні рішення 
оптимальним вибором для багатьох галузей. 
 
4.2. Оптимізація витрат у безсерверних системах 
 
Використання безсерверних систем може значно знизити витрати, 
оскільки оплата здійснюється лише за фактично використані ресурси. Однак для 
досягнення максимальної економічної ефективності необхідно враховувати 
кілька важливих аспектів і застосовувати стратегії оптимізації, які допоможуть 
зменшити витрати і підвищити продуктивність системи. 
 61 
Одним з основних аспектів є правильний вибір обчислювальних ресурсів. 
Важливо оптимізувати виділення пам’яті для безсерверних функцій, таких як 
AWS Lambda, оскільки пам’ять є критичним параметром, який впливає на як 
продуктивність, так і на вартість. Тому доцільно проводити тестування з різними 
обсягами пам’яті, щоб знайти оптимальний баланс між швидкістю виконання 
функції і її витратами. Крім того, скорочення часу виконання функцій через 
оптимізацію коду та застосування більш ефективних алгоритмів безпосередньо 
знижує витрати на ресурси, оскільки функція виконується швидше, і її 
обчислювальне навантаження мінімізується. 
Ще одним важливим аспектом є управління холодним стартом, який може 
суттєво впливати на затримки при обробці запитів. Для критичних задач, де 
важливо уникнути затримок, можна налаштувати періодичне прогрівання 
функцій, що дозволить уникнути додаткових витрат часу на холодний старт. Це 
рішення, хоча й збільшує витрати, може бути виправданим у випадках, коли 
затримки неприпустимі. Крім того, платформи, такі як AWS Lambda, мають 
можливість налаштування постійно активних функцій через Provisioned 
Concurrency, що допомагає знизити затримки при високих навантаженнях. 
Оптимізація викликів функцій також є важливим елементом зниження 
витрат. Це досягається шляхом консолідації обробки даних, що зменшує частоту 
запуску функцій. Наприклад, замість того, щоб запускати функцію для кожного 
окремого запису, можна обробляти дані пакетами. Також корисно налаштувати 
планування запуску функцій тільки тоді, коли це необхідно, наприклад, через 
події або за розкладом, щоб зменшити витрати на обчислювальні ресурси. 
Важливим є також оптимізація взаємодії з іншими хмарними сервісами. 
Використання кешування, такого як Amazon ElastiCache для зберігання часто 
використовуваних даних, знижує кількість запитів до баз даних і, відповідно, 
витрати на їх обробку. Архівування неактивних даних у більш дешеві хмарні 
сховища, наприклад, в Amazon S3 Glacier, також може значно знизити витрати 
на зберігання. Крім того, варто оптимізувати обсяг даних, що передаються між 
хмарними сервісами, оскільки міжрегіональний трафік може бути дорогим. 
 62 
Для більш ефективного управління витратами важливо використовувати 
інструменти моніторингу, такі як AWS Cost Explorer, Google Cloud Cost 
Management або інші сервіси, що дозволяють відстежувати витрати в реальному 
часі та виявляти найбільш витратні операції. Важливо також налаштувати 
автоматичні правила та сповіщення для випадків, коли витрати перевищують 
встановлені ліміти, що дозволяє оперативно реагувати на потенційні проблеми. 
Використання довгострокових планів та знижок, таких як Reserved або 
Savings Plans, може допомогти знизити витрати на функції або ресурси, які 
використовуються часто. Крім того, вибір регіону з більш низькими тарифами 
може істотно зменшити витрати на обчислення та зберігання даних. 
Нарешті, оптимізація структури коду є важливим аспектом для досягнення 
економії. Мінімізація залежностей і зменшення кількості бібліотек, що 
використовуються, дозволяє скоротити час завантаження функцій, зменшуючи 
таким чином їх затримки. Використання асинхронної обробки дозволяє 
ефективно управляти потоками, що знижує навантаження на обчислювальні 
ресурси і забезпечує кращу масштабованість. 
 
Загалом, застосування цих стратегій допоможе не лише знизити витрати на 
безсерверні рішення, але й підвищити їх ефективність і продуктивність, 
забезпечуючи більш гнучке і економічне управління обчислювальними 
ресурсами. 
Оптимізація витрат у безсерверних системах вимагає комплексного 
підходу, що включає налаштування ресурсів, управління викликами, 
оптимізацію зберігання та використання інструментів моніторингу. Виконання 
цих рекомендацій дозволяє значно знизити витрати, забезпечуючи при цьому 
високу продуктивність і надійність систем. 
 
 
  
 63 
 
4.3. Майбутні тенденції та перспективи розвитку безсерверних технологій 
 
Безсерверні технології продовжують розвиватися, орієнтуючись на 
зростаючі потреби бізнесу та інноваційні досягнення в області інформаційних 
технологій. Однією з основних тенденцій є розширення функціональних 
можливостей безсерверних платформ. Провідні хмарні провайдери активно 
додають підтримку нових мов програмування, таких як Rust, Go та Ruby, а також 
удосконалюють інструменти для створення і управління безсерверними 
функціями. Це дозволяє розробникам працювати з широким спектром 
технологій і вибирати найбільш підходящі для конкретних задач інструменти. 
Крім того, безсерверні рішення інтегруються з іншими обчислювальними 
моделями, зокрема контейнеризацією, як-от Kubernetes, що забезпечує ще 
більшу гнучкість в управлінні додатками та розширення можливостей для 
масштабованості. 
 
Kubernetes (зазвичай скорочується як K8s) — це система з відкритим 
вихідним кодом, призначена для автоматизації розгортання, масштабування та 
управління контейнеризованими застосунками. Спочатку розроблений 
компанією Google, Kubernetes сьогодні є одним із найбільш популярних 
інструментів для оркестрації контейнерів, що використовуються в середовищах 
з великим навантаженням.  
Основна мета Kubernetes — забезпечити ефективне управління 
контейнерами, дозволяючи розгортати і масштабувати контейнеризовані 
застосунки, які зазвичай упаковуються в контейнери Docker. Він дає змогу 
керувати контейнерами на різних хостах і інтегрувати їх у загальну 
інфраструктуру, забезпечуючи автоматичне масштабування в залежності від 
навантаження, що підвищує ефективність роботи застосунків. Kubernetes також 
забезпечує високу доступність застосунків, автоматично відновлюючи їх у разі 
 64 
збоїв і перерозподіляючи контейнерні навантаження, що дозволяє забезпечити 
безперервну роботу навіть при несправностях одного з контейнерів або вузлів. 
Однією з важливих функцій Kubernetes є можливість оновлення 
застосунків без перерв через механізм “rolling updates”. Це дає змогу 
впроваджувати нові версії застосунків без зупинки старих, що особливо важливо 
для підтримки безперервної роботи систем. Kubernetes також має вбудовані 
можливості для управління конфігураціями і секретами, такими як паролі або 
API-ключі, що дозволяє безпечно обробляти чутливі дані. Крім того, Kubernetes 
забезпечує внутрішню мережу для контейнерів, що дозволяє їм взаємодіяти один 
з одним і здійснювати маршрутизацію та балансування навантаження для 
розподілених застосунків.  
Kubernetes підтримує роботу як на приватних серверах, так і на публічних 
хмарних платформах, таких як Google Cloud, AWS чи Azure, що робить його 
універсальним інструментом для побудови і управління різними 
інфраструктурами. Завдяки цим можливостям, Kubernetes є одним із основних 
інструментів для побудови складних, масштабованих і високодоступних систем, 
особливо в середовищах, де активно використовуються мікросервіси та 
контейнеризація. 
 
Тож слід зазначити що оптимізація продуктивності залишається важливим 
напрямом розвитку безсерверних технологій. Однією з проблем, що постійно 
вирішуються, є холодний старт, який може призвести до затримок у виконанні 
функцій. Очікується, що подальший розвиток механізмів швидкого запуску 
функцій, зокрема через попередню ініціалізацію або нові підходи до управління 
середовищем виконання, дозволить зменшити ці затримки і зробить безсерверні 
рішення більш ефективними для реального часу. Одночасно покращення 
інфраструктури, таке як впровадження нових стандартів передачі даних, таких 
як 5G і Wi-Fi 7, дозволить знизити затримки і підвищити стабільність систем, що 
працюють на безсерверних платформах. 
 65 
Масштабування і автоматизація також будуть визначати майбутнє 
безсерверних технологій. Майбутні платформи матимуть можливість ще 
ефективніше прогнозувати навантаження і автоматично адаптувати ресурси для 
обробки складних завдань. Вони зможуть гнучко реагувати на зміну вимог і 
пропонувати оптимальне використання обчислювальних потужностей без 
необхідності втручання людини. Водночас використання інтелектуальної 
автоматизації, зокрема технологій машинного навчання, дозволить оптимізувати 
управління функціями, знижуючи витрати і покращуючи ефективність 
безсерверних систем, оскільки автоматичні системи будуть визначати необхідні 
ресурси в залежності від поточного навантаження. 
 
 
Ці тенденції свідчать про те, що безсерверні технології продовжать ставати 
важливим інструментом для вирішення завдань, які потребують гнучкості, 
масштабованості та високої ефективності. Їхня роль у сфері бізнесу та ІТ-
інфраструктури лише зростатиме, що дасть можливість компаніям ефективніше 
використовувати ресурси та швидше реагувати на зміни в попиті. 
Безпека та відповідність стандартам залишаються важливими аспектами 
розвитку безсерверних технологій. У майбутньому платформи 
продовжуватимуть впроваджувати новітні методи захисту даних. Очікується, що 
хмарні провайдери розроблять більш вдосконалені системи шифрування, що 
дозволяють забезпечити надійний контроль доступу і моніторинг загроз у 
реальному часі. Це сприятиме створенню більш безпечних середовищ для 
обробки та зберігання даних, особливо в чутливих сферах, таких як фінанси або 
охорона здоров’я. Крім того, покращена відповідність міжнародним стандартам, 
таким як GDPR та HIPAA, дозволить безсерверним технологіям широко 
застосовуватися в регульованих галузях, забезпечуючи при цьому відповідність 
нормативним вимогам і підвищуючи довіру до таких систем. 
У сфері Internet of Things (IoT безсерверні технології також стають 
важливими для розвитку нових рішень. Інтеграція безсерверних функцій з 
 66 
технологією периферійних обчислень (Edge Computing) дозволить здійснювати 
обробку даних безпосередньо біля джерела їх генерації, знижуючи тим самим 
затримки та витрати на передачу даних. Це дасть змогу більш ефективно 
працювати з великими обсягами даних, що надходять від IoT-пристроїв, таких як 
сенсори, носимі пристрої або розумні пристрої, забезпечуючи їх швидку обробку 
та аналіз. 
Економічна ефективність і доступність є іншими важливими напрямами 
для безсерверних технологій. Очікується, що зростання конкуренції між 
провайдерами послуг призведе до зниження вартості використання таких 
технологій і впровадження більш гнучких моделей тарифікації. Це зробить 
безсерверні рішення доступнішими для широкого кола користувачів, включаючи 
малі та середні підприємства, які зможуть скористатися їхніми перевагами 
завдяки зниженню початкових витрат і спрощенню впровадження. 
Важливим аспектом є і застосування безсерверних технологій у нових 
галузях, таких як штучний інтелект, геймінг і кіберспорт. У сфері штучного 
інтелекту безсерверні платформи активно використовуються для навчання 
моделей машинного навчання і їхнього розгортання в хмарі, що дозволяє 
знижувати витрати і покращувати доступність таких рішень. У геймінгу та 
розвагах безсерверні архітектури дозволяють масштабувати 
багатокористувацькі ігри та стрімінгові сервіси, забезпечуючи високий рівень 
доступності навіть під час пікових навантажень. У кіберспорті безсерверні 
рішення використовуються для аналізу ігор у реальному часі та організації 
турнірів, дозволяючи автоматизувати різні процеси і знижувати витрати на 
інфраструктуру. 
 
Безсерверні технології залишаються одними з найбільш перспективних 
рішень для хмарних обчислень, сприяючи розвитку нових можливостей для 
бізнесу та сприяючи цифровій трансформації. Їхній розвиток орієнтований на 
підвищення продуктивності, гнучкості, безпеки та доступності, що дозволяє 
впроваджувати ці рішення в нові галузі і відкривати нові горизонти для 
 67 
інновацій. З огляду на зростаючий попит на автоматизацію, обробку великих 
даних і технології IoT, безсерверні системи продовжуватимуть відігравати 
ключову роль у майбутньому технологічному ландшафті. 
 
 68 
 
ВИСНОВКИ 
 
 
У рамках цієї магістерської роботи було проведено всебічне дослідження 
автоматизованих безсерверних систем для обробки великих даних, що дозволило 
досягти визначених цілей і успішно виконати поставлені завдання. Розпочавши 
з вивчення основних характеристик великих даних, таких як обсяг, швидкість, 
різноманітність і достовірність, ми змогли детально окреслити ключові 
проблеми, що виникають при їх обробці, зокрема питання зберігання, швидкості 
обробки та забезпечення точності результатів. 
Далі було проведено аналіз традиційних підходів до обробки даних, що 
дозволило виявити як переваги, так і обмеження цих методів у контексті 
сучасних вимог до обробки великих обсягів інформації. Особлива увага була 
приділена можливостям хмарних обчислень та безсерверних архітектур, які 
набувають все більшого значення у сучасних інформаційних системах, завдяки 
своїй гнучкості, масштабованості та економічній ефективності. 
Одним з важливих етапів роботи стало проектування і реалізація 
прототипу безсерверної системи на платформі AWS Lambda, який успішно 
продемонстрував можливості динамічного масштабування та ефективної 
обробки великих обсягів даних. Прототип також було інтегровано з іншими 
хмарними сервісами, такими як Amazon S3, DynamoDB та API Gateway, що 
дозволило створити повноцінне рішення для обробки даних у реальному часі. 
Для перевірки працездатності системи було проведено тестування на різних 
сценаріях навантаження, що дозволило отримати важливі дані про її 
продуктивність і ефективність. 
Результати тестування показали, що безсерверна архітектура є ефективним 
рішенням для обробки великих даних, особливо в умовах нерівномірних 
навантажень. Безсерверні системи мають кілька ключових переваг, зокрема 
відсутність витрат на простої, автоматичне масштабування ресурсів і значну 
 69 
оптимізацію витрат на інфраструктуру. Порівняння з традиційними підходами 
до обробки даних підтвердило перевагу безсерверної моделі в аспектах 
продуктивності та гнучкості, що робить її ідеальним вибором для проектів, що 
потребують високої ефективності та економії. 
У результаті дослідження були сформульовані основні висновки, що 
підтвердили ефективність безсерверних систем для обробки великих даних у 
різних галузях, таких як наука, промисловість та комерція. На основі отриманих 
результатів надано рекомендації щодо застосування безсерверних рішень у 
реальних проектах, особливо для задач, що характеризуються змінним або 
піковим навантаженням. 
Також були визначені напрями для подальших досліджень, які включають 
оптимізацію холодного старту безсерверних функцій та можливість інтеграції 
безсерверних архітектур з іншими моделями обчислень, зокрема з 
контейнеризацією та гібридними хмарними рішеннями. 
Загалом виконана робота продемонструвала актуальність і 
перспективність використання безсерверної архітектури для обробки великих 
даних, і отримані результати можуть стати основою для впровадження таких 
рішень у промислових, наукових та комерційних проектах, що вимагають 
масштабованих, гнучких та економічно ефективних систем обробки даних. 
 70 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
 
1. Грейс, М. “Big Data: Principles and Best Practices”. – New York: Springer, 
2020. – 345 с. 
2. Dean, J., & Ghemawat, S. “MapReduce: Simplified Data Processing on 
Large Clusters”. – Communications of the ACM, 2008. – Т. 51, № 1. – С. 107-
113. 
3. Bass, L., Weber, I., Zhu, L. “DevOps: A Software Architect’s Perspective”. – 
Addison-Wesley, 2015. – 320 с. 
4. Miller, S. “Serverless Computing: A Practical Guide to Implementation”. – 
O’Reilly Media, 2021. – 240 с. 
5.  Amazon Web Services. “AWS Lambda Developer Guide” [Електронний 
ресурс]. https://docs.aws.amazon.com/lambda. 
6. Google Cloud. “Cloud Functions Documentation” [Електронний ресурс]. 
https://cloud.google.com/functions. 
7.  Microsoft Azure. “Azure Functions Documentation” [Електронний ресурс]. 
https://learn.microsoft.com/en-us/azure/azure-functions. 
8.  Чіркова, В.І. “Хмарні технології в аналізі даних”. – Київ: Наук. думка, 
2019. – 276 с. 
9.  Маркович, О.С., Іваненко, Д.Ю. “Масштабованість хмарних платформ 
для великих даних”. – Харків: ТОВ «IT-Book», 2021. – 215 с. 
10. Barroso, L., Clidaras, J., & Hölzle, U. “The Datacenter as a Computer: An 
Introduction to the Design of Warehouse-Scale Machines”. – Morgan & 
Claypool Publishers, 2018. – 210 с. 
11. Mitnick K. “The Art of Deception: Controlling the Human Element of 
Security” 
12. Charles J. Brooks, Christopher Grow, Philip A. Craig Jr., Donald Short 
“Cybersecurity Essentials” 
 71 
13. https://www.techtarget.com/searchcloudcomputing/tip/Compare-AWS-
Lambda-vs-Azure-Functions-vs-Google-Cloud-Functions 
14. https://cloudwithease.com/lambda-vs-azure-functions-vs-google-cloud-
functions/ 
15. https://anarsolutions.com/aws-lambda-azure-functions-google-cloud-functions/ 
16. https://waswani.medium.com/serverless-architecture-patterns-in-aws-
edeab0e46a32