Бессерверные вычисления (англ. serverless computing) — стратегия организации платформенных облачных услуг, при которой облако автоматически и динамически управляет выделением вычислительных ресурсов в зависимости от пользовательской нагрузки. Основная задача такой стратегии — реализация шаблона FaaS, «функция как услуга», при котором для выполнения каждого запроса (вызова функции) создается отдельный контейнер или виртуальная машина, которые уничтожаются после выполнения. Серверы в данной технологии, разумеется, используются, но все настройки и планирование вычислительных ресурсов скрыты от пользователей и управляются облаком.
Бессерверные вычисления обеспечивают встроенную высокую доступность и отказоустойчивость, гибкую масштабируемость.
Пользователь оплачивает только фактически использованные ресурсы, провайдер избавлен от простоя зарезервированного оборудования.
В настоящее время существует несколько платформ бессерверных вычислений: AWS Lambda, Google Cloud Functions, OpenWhisk, Azure Functions, OpenFaaS. Бесспорным преимуществом последней является универсальность в отношении программного кода, он может быть написан на любом языке программирования.
В этом направлении исследований в лаборатории СУОВ:
- На платформе для создания бессерверных функций с использованием контейнеров OpenFaas:
- Разработан прототип системы межфункционального взаимодействия для приложений с микросервисной архитектурой, основанный на абстрактной модели конечный автомат. Прототип реализован в виде модуля func-controller и позволяет комбинировать функции в OpenFaaS для создания сложных микросервисов. Экспериментально подтверждено, что запросы функций обрабатываются быстрее модифицированным прототипом, чем стандартной модификацией OpenFaas. Разрыв во времени увеличивается с ростом количества функций.
- Разработана система минимизации холодного старта функции для бессерверных вычислений на основе алгоритма хеширования, проведен анализ производительности разработанного решения.
- Разработана система интеллектуального управления транспортной сетью для распределенных бессерверных вычислений, основанная на использовании децентрализованного сетевого протокола.
- Для бессерверной платформы управления функциями Fission разработан прототип планировщика ресурсов для составных бессерверных функций с использованием стратегии зависимости по данным. Экспериментально подтверждено, что использование прототипа на больших объемах данных сокращает накладные расходы.
- Для открытой бессерверной платформы Apache OpenWhisk предложена политика уменьшения времени подготовки среды для выполнения функции на основе алгоритма PopCaching. Преимуществом для провайдера в использования этой политики является возможность устанавливать время средней задержки холодного старта, изменяя объем задействованных ресурсов, что позволяет сократить ресурсные затраты на поддержку выполнения функций пользователей, не слишком требовательных к задержке холодного старта. Политика повторного использования среды выполнения функции, традиционная для большинства бессерверных платформ, не допускает реализацию такого подхода.