Главная
АИ #22 (257)
Статьи журнала АИ #22 (257)
Исследование использования серверлесс-подходов в создании веб-приложений

10.5281/zenodo.15612445

Исследование использования серверлесс-подходов в создании веб-приложений

Рубрика

Информационные технологии

Ключевые слова

серверлесс-архитектура
Function as a Service
BaaS
API Gateway
веб-приложения
облачные вычисления
масштабируемость
бессерверная модель

Аннотация статьи

В статье рассматривается концепция серверлесс-архитектуры как одного из наиболее перспективных направлений в разработке веб-приложений в условиях цифровой трансформации. Осуществлен всесторонний анализ ключевых принципов и компонентов серверлесс-подхода, включая FaaS, BaaS, API Gateway и облачные хранилища. Рассмотрены практические преимущества модели, а также выявлены ограничения. Представлена сравнительная таблица с традиционной архитектурой, выделены практические сценарии применения серверлесс-модели, включая веб-разработку, обработку событий и интернет вещей. Проведён структурно-функциональный анализ архитектурных паттернов, а также представлены рекомендации, основанные на AWS Well-Architected Framework. Исследование подтверждает высокую практическую значимость серверлесс-подходов при проектировании современных масштабируемых и отказоустойчивых приложений.

Текст статьи

Актуальность исследования

В условиях стремительной цифровой трансформации и роста требований к гибкости и масштабируемости веб-приложений, серверлесс-архитектура приобретает всё большую популярность. Серверлесс-архитектура предполагает передачу управления серверами и вычислительными ресурсами облачным платформам. Разработчики просто загружают свой код, а провайдер самостоятельно запускает, масштабирует и обслуживает инфраструктуру [7].

Крупные облачные провайдеры, такие как AWS, Azure и GCP, представляют собой объединение десятков сервисов, активно развивают серверлесс-сервисы, что свидетельствует о высокой востребованности данной технологии. Однако, несмотря на её преимущества, существуют определённые ограничения, включая проблемы с холодным стартом, отладкой и возможной зависимостью от конкретного провайдера.

Таким образом, исследование эффективности и применимости серверлесс-подходов в разработке веб-приложений является актуальным и востребованным направлением, способствующим оптимизации процессов разработки и эксплуатации современных веб-сервисов.

Цель исследования

Целью данного исследования является комплексное изучение серверлесс-подхода как современной архитектурной модели при разработке веб-приложений, с целью выявления его преимуществ, недостатков, условий эффективного применения, а также оценки влияния данной архитектуры на производительность, масштабируемость и экономическую эффективность веб-сервисов.

Материалы и методы исследования

Исследование основывается на аналитическом методе изучения открытых источников и документации ведущих облачных провайдеров. Использованы методологические рекомендации AWS Well-Architected Framework, а также практические кейсы и документация платформ FaaS и BaaS.

Проведен сравнительный анализ архитектурных подходов (серверлесс и традиционного), с применением табличного метода визуализации различий. Также применялись структурный и системный анализ архитектурных компонентов.

Результаты исследования

Серверлесс-архитектура (бессерверные вычисления) – модель облачных вычислений, где разработчики не управляют серверами напрямую. В её рамках инфраструктуру предоставляют облачные провайдеры, которые автоматически управляют выделением ресурсов и масштабированием приложений. Подход позволяет разработчикам сосредоточиться на написании кода и реализации бизнес-логики, не беспокоясь о серверной инфраструктуре [5].

Серверлесс-архитектура основывается на нескольких ключевых принципах (табл. 1).

Таблица 1

Основные принципы серверлесс-архитектуры

Принцип

Описание

1

Абстракция инфраструктуры

Разработчики не управляют серверами: вся инфраструктура (серверы, ОС, патчи, масштабирование) обслуживается автоматически провайдером облачных услуг

2

Автоматическое масштабирование

Система масштабируется автоматически в ответ на рост или падение нагрузки. Разработчику не нужно настраивать балансировщики и кластеры

3

Событийно-ориентированная модель

Функции запускаются в ответ на события: HTTP-запросы, изменения в БД, файлы в хранилищах, сообщения в очередях и др.

4

Оплата по факту использования

Пользователь платит только за то время, когда код реально исполняется, что позволяет снизить затраты

5

Безопасность и контроль доступа

Безопасность обеспечивается на уровне облачного провайдера, включая контроль прав доступа, шифрование, авторизацию API и пр.

6

Быстрая разработка и доставка

Благодаря модульности (например, FaaS) можно быстро тестировать, обновлять и внедрять изменения в отдельные функции без остановки всего приложения

Эти принципы делают серверлесс-архитектуру привлекательной для разработки современных веб-приложений, особенно в условиях переменной нагрузки и необходимости быстрого вывода продукта на рынок.

В серверлесс-приложении нет централизованной реализации различных аспектов системы, таких как: авторизация, хранение данных и т. д. (рис. 1). Все необходимые функции такое приложение получает от сторонних сервисов. На данный момент количество таких сервисов и функционал, который они предоставляют, очень богат и постоянно увеличивается. Стоит только упомянуть, что любой информационный сайт имеет открытый REST API для предоставления доступа к своим услугам с помощью программных средств [2, с. 17].

image.png

Рис. 1. Серверлесс-архитектура

Серверлесс-архитектура включает в себя следующие основные компоненты:

  1. Function as a Service (FaaS) – подразумевает, что разработчики загружают в облако отдельные функции (небольшие фрагменты кода – code snippets), а облачный провайдер берет на себя их запуск, масштабирование и управление ресурсами [3, с. 671]. Примеры FaaS-платформ – AWS Lambda, IBM Cloud Functions.
  2. Backend as a Service (BaaS) – предоставление готовых бэкенд-сервисов, таких как базы данных, сервис авторизации, API-шлюз, брокеры сообщений (например, Kafka). Все эти компоненты предоставляются облачными провайдерами по модели «как сервис», без необходимости управления серверной инфраструктурой. Разработчики просто используют нужные им сервисы через стандартные API, не вникая в детали их реализации.
  3. API Gateway – это сервис для управления запросами к API веб-сервисов и приложений. Он служит посредником между пользователем и онлайн-сервисами, предоставляя единую точку входа и направляя запросы от клиентов туда, куда нужно [4].
  4. Службы хранения данных – облачные базы данных и хранилища, такие как Amazon S3, DynamoDB, которые обеспечивают хранение и доступ к данным.

Эти компоненты взаимодействуют друг с другом, образуя гибкую и масштабируемую архитектуру для разработки и развертывания приложений.

Следовательно, одним из ключевых элементов серверлесс-архитектуры является использование API-шлюзов (API Gateway) в сочетании с микросервисами. API-шлюзы позволяют унифицировать доступ клиентов к различным функциям, маршрутизируя запросы от веб-, мобильных и других клиентов к соответствующим обработчикам (функциям) или сервисам.

На рисунке 2 представлена типовая схема архитектуры взаимодействия клиентов с серверлесс-приложением через API-шлюз и цепочку сервисов [6].

image.png

Рис. 2. Типовая схема архитектуры взаимодействия клиентов с серверлесс-приложением через API-шлюз и цепочку сервисов

Перейдя к серверлесс-модели, разработчики, DevOps-специалисты и бизнесы в целом могут получить ряд преимуществ. Рассмотрим основные из них [7].

  • Масштабируемость по требованию. Облачные провайдеры своими средствами распределяют нагрузку и выделяют вычислительные ресурсы. Разработчикам нет необходимости заниматься масштабированием – это происходит прозрачно для них.
  • Оплата за фактическое использование. При серверлесс-подходе компании оплачивают только фактически израсходованные вычислительные ресурсы и время работы функций (pay-as-you-go). Не нужно приобретать избыточные мощности «на всякий случай» – расходы напрямую зависят от реальной нагрузки на приложение.
  • Автоматическое управление инфраструктурой (не нужно поддерживать серверы). При бессерверной архитектуре разработчики полностью освобождены от необходимости управлять серверной инфраструктурой. Установкой, настройкой, масштабированием и мониторингом серверов занимается облачный провайдер (cloud provider).
  • Сокращение времени на разработку и внедрение. Благодаря отсутствию необходимости в конфигурации и сопровождении серверной инфраструктуры, серверлесс-модель ускоряет процесс развертывания приложений и их компонентов. Это позволяет разработчикам оперативно создавать прототипы, внедрять изменения и проверять новые решения в условиях высокой динамики.
  • Повышение производительности приложений. Серверлесс-архитектура способствует росту производительности за счёт автоматического распределения нагрузки, использования выделенных ресурсов облачного провайдера и устранения простоев, связанных с управлением серверами. Такой подход особенно эффективен для приложений с переменной или пиковой нагрузкой.

Несмотря на преимущества, у серверлесс-подхода есть ряд ограничений:

  1. Ограничения по времени выполнения. Многие FaaS-платформы устанавливают ограничения на максимальное время выполнения функций, что может быть проблемой для длительных операций.
  2. Сложности с отладкой и мониторингом. Из-за распределённой природы серверлесс-приложений может быть сложно отслеживать и отлаживать выполнение функций.
  3. Зависимость от провайдера. Использование специфичных для провайдера сервисов может привести к сложности при миграции на другую платформу.

В традиционной архитектуре разработчики управляют серверами, масштабированием и обновлениями вручную. Это требует значительных ресурсов и времени. Серверлесс-архитектура, напротив, автоматизирует эти процессы, позволяя сосредоточиться на разработке бизнес-логики (табл. 2).

Таблица 2

Сравнение с традиционной архитектурой

Характеристика

Традиционная архитектура

Серверлесс-архитектура

Управление серверами

Требуется

Не требуется

Масштабирование

Ручное

Автоматическое

Оплата

За выделенные ресурсы

За фактическое использование

Время развертывания

Длительное

Быстрое

Гибкость

Ограниченная

Высокая

Это сравнение подчёркивает преимущества серверлесс-архитектуры в контексте современных требований к разработке и развертыванию приложений.

Согласно рекомендациям AWS Well-Architected Framework, при разработке серверлесс-приложений следует учитывать следующие принципы:

  1. Функции должны быть быстрыми, простыми и выполнять одну задачу. Это упрощает их тестирование, развертывание и масштабирование.
  2. Ориентируйтесь на параллельные запросы, а не на общее количество. Серверлесс-приложения эффективно обрабатывают множество одновременных запросов, что требует соответствующего проектирования.
  3. «Ничего не разделяйте» (Share nothing). Каждая функция должна быть изолированной и не полагаться на локальное состояние, что обеспечивает лучшую масштабируемость и отказоустойчивость.
  4. Используйте управляемые сервисы. Вместо самостоятельной реализации функциональности, по возможности, используйте готовые облачные сервисы (например, базы данных, очереди сообщений), что ускоряет разработку и повышает надёжность.

Эти принципы помогают создавать эффективные, масштабируемые и легко поддерживаемые серверлесс-приложения.

Следуя этим принципам, разработчики смогут создавать эффективные, масштабируемые и надежные серверлесс-приложения, готовые к справлению с изменчивой нагрузкой и требованиями пользователей. Примеры применения:

  • Серверлесс-технологии находят применение в создании динамических веб-сайтов, где функции могут обслуживать HTTP-запросы, обеспечивая масштабируемость и высокую доступность. Это позволяет разработчикам сосредоточиться на создании контента и функциональности сайта, не тратя время на управление инфраструктурой.
  • Серверлесс-архитектура отлично подходит для обработки событий и асинхронных задач. Множество сервисов, основанных на этой парадигме, обеспечивают эффективную обработку и анализ потоков данных. От простой обработки уведомлений до сложных пайплайнов обработки данных серверлесс предоставляет инструменты для создания надежных и высокоэффективных систем.
  • В области интернета вещей (IoT) и реактивных приложений серверлесс-архитектура может сыграть ключевую роль. Обработка данных от датчиков и сенсоров, а также быстрая реакция на изменения становятся возможными благодаря гибкой и мгновенной масштабируемости функций. Это обеспечивает быстрое и отзывчивое поведение системы даже при внезапных изменениях в окружающей среде. Практические применения серверлесс охватывают широкий спектр сценариев, начиная от веб-разработки и заканчивая обработкой данных в реальном времени, делая эту архитектуру весьма универсальной и востребованной в современном программировании [1, с. 17-18].

Перспективы дальнейших исследований включают разработку кроссплатформенных серверлесс-решений, позволяющих минимизировать зависимость от конкретных облачных провайдеров, совершенствование инструментов мониторинга, логирования и отладки функций в распределённых средах, а также анализ эффективности серверлесс-модели в высоконагруженных и критически устойчивых системах. Особое внимание должно быть уделено безопасности, управлению состоянием и гибридным архитектурам, сочетающим серверлесс и традиционные подходы для оптимизации затрат и производительности.

Выводы

Таким образом, серверлесс-архитектура является перспективной моделью организации вычислений и разработки веб-приложений, способной повысить производительность, снизить операционные затраты и обеспечить гибкость масштабирования. Принципы автоматического управления инфраструктурой, событийно-ориентированного выполнения и оплаты по факту использования делают данный подход привлекательным как для малых стартапов, так и для крупных технологических компаний. Однако использование серверлесс-платформ требует осознанного проектирования с учётом ограничений, таких как холодный старт, сложности в отладке и зависимость от конкретного облачного провайдера.

В результате анализа сделан вывод о высокой применимости серверлесс-архитектуры для широкого спектра задач – от веб-интерфейсов и IoT до обработки больших потоков данных. Перспективы дальнейших исследований связаны с разработкой кроссплатформенных решений, улучшением инструментов мониторинга и обеспечением независимости от облачных вендоров.

Список литературы

  1. Крылов С.С. Архитектура Серверлесс // Молодой ученый. – 2023. – № 34(481). – С. 16-18.
  2. Кузнецов А.А., Казаков В.Е., Мурычева В.В. Архитектура серверлесс // Материалы докладов 54-й Международной научно-технической конференции преподавателей и студентов. – 2021. – С. 16-18.
  3. Фоменко Е.Ю., Ермилов А.А., Можаев А.А. Применение серверлесс-технологий для создания веб-приложений // Студенческая наука Подмосковью: Сборник материалов Международной научной конференции молодых ученых. – 2022. – С. 671-673.
  4. API Gateway: что это и зачем нужно [Электронный ресурс]. – Режим доступа: https://skillbox.ru/media/code/api-gateway-chto-eto-i-zachem-nuzhno/ (2024 г.).
  5. Как serverless-архитектура влияет на модернизацию инфраструктуры [Электронный ресурс]. – Режим доступа: https://habr.com/ru/companies/ruvds/articles/903000/ (2025 г.).
  6. Микросервисная архитектура, ее паттерны проектирования и особенности [Электронный ресурс]. – Режим доступа: https://habr.com/ru/companies/serverspace/articles/692916/ (2022 г.).
  7. Что такое serverless-архитектура и в чем ее суть [Электронный ресурс]. – Режим доступа: https://eurobyte.ru/articles/chto-takoe-serverless-arkhitektura-i-v-chem-ee-sut/?utm_source=chatgpt.com (2024 г.).

Поделиться

60

Белов Н. С. Исследование использования серверлесс-подходов в создании веб-приложений // Актуальные исследования. 2025. №22 (257). Ч.I. С. 51-56. URL: https://apni.ru/article/12256-issledovanie-ispolzovaniya-serverless-podhodov-v-sozdanii-veb-prilozhenij

Обнаружили грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики)? Напишите письмо в редакцию журнала: info@apni.ru

Похожие статьи

Другие статьи из раздела «Информационные технологии»

Все статьи выпуска
Актуальные исследования

#23 (258)

Прием материалов

7 июня - 13 июня

осталось 4 дня

Размещение PDF-версии журнала

18 июня

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

2 июля