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

Использование serverless-сервисов при разработке приложений даёт следующие преимущества:

  1. Позволяет разработчикам сфокусироваться на работе над кодом. Больше не нужно разворачивать, настраивать и обслуживать какую-либо инфраструктуру (серверы, виртуальные машины, контейнеры).
  2. Часто даёт возможность снизить операционные расходы по сравнению с запуском приложений на виртуальной машине или в средах контейнерной виртуализации — за счёт более эффективного распределения мощностей провайдером.
  3. Позволяет минимизировать риски непредсказуемости спроса — в случае как переоценки, так и недооценки будущей нагрузки. А значит, становится проще принимать решения о добавлении в приложение новых функций или о запуске рекламной кампании.

Тарификация Serverless

Все serverless-сервисы объединяет следующий принцип: вместо почасовой или помесячной оплаты за использование ресурсов (например, vCPU, диска и памяти для ВМ) вы платите за исполнение ваших запросов к сервису.

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

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

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

Умножьте сэкономленное время на количество сервисов, которые нужны типичному приложению, и вы получите существенный выигрыш в сравнении с использованием «классических» сервисов. Освободившееся время вы можете вложить в развитие приложения, улучшив показатель time-to-market.

Ещё одна особенность serverless-сервисов — взаимная интеграция, упрощающая разработку решений. Например, API Gateway в курсе, что бывают не просто HTTP-эндпоинты, а Cloud Functions и сам решит вопросы локализации трафика в пределах зон доступности, обеспечив для вашего приложения наименьшие задержки без какой-либо специальной настройки.

Кроме того, в Yandex Cloud есть так называемый Free tier — в определённых пределах каждый пользователь может использовать сервис бесплатно. Это позволяет попробовать serverless-экосистему в деле и даже успешно эксплуатировать в облаке приложения с небольшой нагрузкой. Также Free tier позволяет свободно экспериментировать, развёртывая в облаке приложения, в которых вы не уверены. А если приложение окажется успешным, нагрузка на него вырастет и бесплатный предел будет превышен, всё продолжит работать.


📂 YandexCloud | Последнее изменение: 15.08.2024 13:22