Бессерверные вычисления: что это за технология и кому она нужна

Виртуальная машина
бесплатно навсегда

Забрать
Avatar icon

Марина Суворова

Редактор блога

Статья

Время чтения

6 минут

По расчётам Gartner, к 2025 году более 50% крупных компаний будут использовать бессерверные функции как сервис (FaaS) по сравнению с 20% сегодня.

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

В чем суть Serverless

Бессерверные вычисления (Serverless Computing) — это модель предоставления серверных услуг без аренды или покупки оборудования.

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

Не стоит воспринимать термин «бессерверные вычисления» буквально. На самом деле без виртуальных серверов не обойтись, в любом случае вычисления происходят с их помощью. Здесь речь идёт не об отказе от «железа», а о новом подходе к предоставлению сервисов в виде функций. Этот сервис называется FaaS (функция как сервис). Пользователь не видит серверов при конфигурации таких функций, и именно в этом смысле инфраструктуру можно считать бессерверной (Serverless).

Как это работает. Функции предполагают разделение кода на «строительные блоки», выполняющие конкретную задачу. Эти функции запускаются в ответ на определённые события или по запросу.

Serverless работает по тому же принципу, что и домашняя система видеонаблюдения. Наверняка вы не хотите, чтобы ваши камеры записывали всё, что происходит на территории 24/7. Целесообразнее интегрировать их с датчиками движения, чтобы запись начиналась только при обнаружении подозрительной активности. Бессерверная архитектура действует так же: серверное оборудование задействуется только тогда, когда срабатывает заранее запрограммированное событие, или триггер.

Схема использования Serverless-технологии
Схема использования Serverless-технологии. Всё, что требуется от вас — создать функцию и настроить условие для её запуска. Когда заданный триггер сработает, функция автоматически начнёт выполняться

Основные принципы. Модель Serverless базируется на четырёх основных принципах:

  • Абстрактность. Пользователь не управляет сервером, его настройками и обновлениями, а только использует его ресурсы для запуска программ. 

  • Эластичность. Провайдер предоставляет ровно то количество вычислительных ресурсов, которое нужно для стабильной и производительной работы приложения.

  • Экономичность. Serverless позволяет экономить на содержании сервера и платить за ресурсы, которые на самом деле используются во время работы приложения.

  • Ограниченный срок. В моменты простоя приложение автоматически отключается.

Какие задачи решает Serverless

Один из принципов Serverless — ограниченный жизненный цикл функции, то есть в моменты простоя она отключается и повторно включается только при обращении к ней. Как только триггер срабатывает, функция запускается. Например, пользователь кликает на плашку на сайте. Клик в данном случае — это событие, которое запускает функцию, а функция в свою очередь генерирует ответ пользователю, например: всплывающий баннер. Такой принцип работы Serverless идеален для решения отложенных или фоновых задач:

  • асинхронной отправки уведомлений (push, sms, email);

  • импорта и экспорта данных;

  • работы чат-ботов и виртуальных помощников.

Уже сейчас модель Serverless успешно применяют многие компании.

Netflix — одна из крупных мировых стриминговых онлайн-платформ с 160 млн подписчиков по всему миру. Чтобы обеспечить стабильность и высокую скорость потоковой передачи данных, компания использует CDN-сети, снижающие нагрузку на центральные серверы, и Serverless-решения в виде сервиса AWS Lambda. Технология бессерверных вычислений позволяет компании делить видеоконтент на фрагменты по принципу микросервисов и кодировать их в 60 параллельных потоков. Таким образом, даже при одновременном просмотре фильма зрители могут обращаться к разным фрагментам, что может снижать суммарную нагрузку на серверы в десятки раз. Наряду с экономией на физической инфраструктуре это гарантирует стабильность доступа и легкую масштабируемость.

Преимущества и недостатки Serverless

Как и любое другое облачное решение, Serverless-модель не лишена преимуществ и недостатков. Перед принятием решения лучше взвесить все «за» и «против», учитывая конкретный запрос.

Преимущества и недостатки Serverless
Преимущества Недостатки
Для работы всегда доступно нужное количество ресурсов, которое обеспечит провайдер. Из-за архитектурных различий облачных платформ быстро перенести Serverless-приложение на другой сервер не получится.
Не требуется длительная и сложная настройка сервера, а также его обслуживание: эту функцию берёт на себя провайдер. Из-за холодных стартов, связанных с простоем отдельных функций, могут появляться задержки.
Можно экономить средства, не покупая оборудование, и платить по модели «pay as you go». Из-за разделения приложения на модули отслеживать причины ошибок становится сложнее.
Отсутствие жёстких связей между отдельными функциями и контейнерами снижает риск появления глобальных ошибок. При высоком количестве запросов подход Serverless становится нерентабельным.

Стоит ли переходить на Serverless и как выбрать поставщика

Переход на модель бессерверных вычислений подойдет не всем. Воздержаться от перехода стоит тем, кому важно самостоятельно регулировать настройки безопасности, а также тем, кто постоянно и регулярно использует сервер — в этом случае Serverless выйдет дороже.

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

FunctionGraph от Cloud

Сервис FunctionGraph от Cloud позволяет размещать и запускать код в бессерверной среде. Все, что требуется от вас, — предоставить свой код и настроить условие его запуска. Как это работает? Код выполняется, когда срабатывает заданный триггер. FunctionGraph автоматически масштабирует ресурсы, обеспечивает бесперебойное функционирование кода, обслуживание серверов, мониторинг и ведение журнала логов.

FunctionGraph

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

Узнать больше

Какие задачи можно решить с FunctionGraph:

1. Создайте Telegram-бот. Настройте быструю отправку уведомлений в Telegram-bot. Например, можно организовать работу так, чтобы бот присылал вам уведомления, если потребление vCPU, памяти или диска виртуальной машины превысит заданное пороговое значение. Все подробности можно найти в инструкции и запустить такой Telegram-bot самостоятельно.

img

2. Настройте тиринг данных в объектном хранилище. Чтобы уменьшить затраты на хранение, вы можете настроить тиринг данных вниз — автоматически перемещать в класс с редким доступом (Warm) или на архивное хранение (Cold) данные, к которым больше не нужен частый доступ.

В некоторых сценариях редко используемые данные могут стать востребованными. Например, может вырасти спрос на игру, видеозапись, песню или книгу из электронной библиотеки. Такие объекты нужно перемещать в «горячий» класс хранения, чтобы обеспечить к ним доступ.

В инструкции описано, как с помощью FunctionGraph настроить тиринг данных вверх — автоматическое перемещение данных в «горячий» класс хранения при росте запросов к объектам.

img

О том, чем ещё может быть полезен FunctionGraph, рассказывает эксперт Cloud Наталия Воронова в ролике.

Что в итоге

Бессерверные вычисления — модель предоставления серверных услуг без аренды или покупки оборудования, которая помогает:

  • добиться высокой скорости разработки;

  • исключить простой оборудования;

  • не беспокоиться о политиках масштабирования;

  • платить только за реально использованные ресурсы.

Уже сейчас Serverless-технологии применяются десятками компаний и продолжают активно внедряться по всему миру.

Использование Serverless может быть эффективно во многих сферах для решения различных задач: например, для автоматизации общения с клиентами (чат-боты), отложенного сбора и обработки данных (аналитика), реализации концепции IoT и торговли. От использования Serverless-технологий каждый сможет получить свой профит.

Содержание

  • В чем суть Serverless
  • Бессерверные вычисления (Serverless Computing) — это модель предоставления серверных услуг без аренды или покупки оборудования.
  • Какие задачи решает Serverless
  • Преимущества и недостатки Serverless
  • Стоит ли переходить на Serverless и как выбрать поставщика
  • FunctionGraph от Cloud
  • Что в итоге

Вам может понравиться