Без сервера
Как заботу о вычислениях переложить на вендоров и почему не все к этому готовы
Представьте, что цифровой бизнес запускается без единого сервера – плата идет только за реальное использование вычислительных ресурсов, а приложения мгновенно масштабируются под любые нагрузки без контроля разработчиков. Все это возможно с бессерверными технологиями (serverless). Как serverless-решения используют уже сейчас и чем они принципиально отличаются от привычных облачных вычислений, читателям RSpectr рассказывает технический директор провайдера «Инферит Облако» Сергей Андриевский.
КАК ЭТО РАБОТАЕТ?
Традиционные вычислительные системы предполагают такой концепт: для запуска приложения нужен сервер, его можно купить и поддерживать самостоятельно или арендовать у провайдера. Оба варианта предполагают контроль за мощностями. Как минимум нужно понимать, сколько пользователей будет пользоваться приложением.
Технология serverless работает иначе.
Бессерверное решение позволяет писать и развертывать код, не заботясь об инфраструктуре
Компания как бы говорит: «Я хочу думать о приложении, а о серверах пусть заботится кто-то другой». Разработчику достаточно загрузить код своего приложения на платформу, а вопросами выделения ресурсов, масштабирования и отказоустойчивости занимается провайдер. При этом приложение может мгновенно масштабироваться от нуля до тысяч параллельных контейнеров без каких-либо предварительных настроек.
Несмотря на название, физические серверы все еще используются, но разработчики с ними не взаимодействуют
Часто к особенностям serverless-решений относят модель тарификации pay-as-you-go. Она предполагает, что оплата учитывает только фактическое время выполнения кода, измеряемое в миллисекундах. Если приложение не используется – затраты нулевые. Объективно такую модель использует все больше облачных провайдеров, это не обязательно относится к serverless-решениям. Ожидается, что
в 2020–2029 годах глобальный рынок бессерверной архитектуры вырастет на 22%
По расчетам Exactitude Consultancy, к 2029 году он превысит 38 млрд долларов. Amazon Web Services, Google Cloud и Microsoft Azure активно развивают свои serverless-платформы, конкурируя за многомиллиардный рынок.
ДЛЯ КОНЕЧНОГО ПРОДУКТА
Бессерверные вычисления сокращают затраты на обслуживание инфраструктуры и помогают разработчикам сосредоточиться на конечном продукте. Среди сильных сторон бессерверных выселений стоит выделить четыре момента:
- Экономическая эффективность. Бизнес платит только за фактически использованные вычислительные ресурсы. Также не нужно выделять бюджет на обслуживание серверной инфраструктуры. Это может привести к значительной экономии средств, особенно для приложений с переменной рабочей нагрузкой.
В отдельных случаях переход на бессерверную модель позволяет сократить расходы на облачную инфраструктуру на 70-80% за счет платы только за реальное использование
- Простое управление. Бессерверные вычисления автоматизируют многие задачи обслуживания, такие как обновление системы безопасности, масштабирование и управление сервером. Это означает, что вам не нужно тратить время и ресурсы на эти задачи и вы можете сосредоточиться на своем приложении или службе.
- Автоматическое масштабирование. Инфраструктура автоматически подстраивается под нагрузку в зависимости от спроса. Если приложение внезапно станет популярным, бессерверная платформа сможет справиться с возросшим трафиком без какого-либо ручного вмешательства. Однако и заплатить придется больше.
- Сокращается скорость выхода продукта на рынок. Поскольку управление инфраструктурой ложится на провайдера, разработчики могут сосредоточиться на развертывании функций или продуктов. Это сокращает цикл разработки и позволяет предприятиям внедрять обновления и быстрее реагировать на требования рынка.
НЕИЗБЕЖНЫЕ ОГРАНИЧЕНИЯ
Идеальных технологий не бывает, и serverless-вычисления – не исключение.
- Проблема с холодным стартом, когда функция вызывается после некоторого простоя. У разных поставщиков задержки могут быть разными.
- Привязка к поставщику (Vendor Lock-in). Бессерверные решения поставляются конкретными вендорами с их собственным набором инструментов и сервисов. Это может затруднить перенос приложения к другому вендору без существенных изменений в архитектуре.
- Проблемы отладки и мониторинга. Поскольку инфраструктура полностью управляется поставщиком услуг, разработчики имеют ограниченный доступ к внутренним процессам. Сюда же относится ограниченный контроль над средой.
- Не всегда предсказуемые затраты. Волнообразные рабочие нагрузки с высоким уровнем использования могут привести к дополнительным затратам.
Отдельно стоит упомянуть вопросы безопасности.
Одна из потенциальных уязвимостей – увеличение площади атаки из-за использования множества сторонних сервисов и API. Особенности бессерверных решений усложняют мониторинг безопасности и обнаружения угроз.
Serverless-решения трудно рекомендовать отраслям с высоким уровнем регулирования
Например, здравоохранение, финансы и производство требуют максимального контроля над вычислительной средой. Компании с большими сложными приложениями могут столкнуться с трудностями в управлении, мониторинге и отладке своих бессерверных компонентов из-за распределенного характера архитектур.
Стартапы или бизнес с ограниченным бюджетом могут столкнуться с непредсказуемостью затрат, связанных с бессерверными вычислениями, особенно если структура их рабочей нагрузки недостаточно понятна или сильно варьируется.
Serverless-решения могут усложнить тестирование и отладку из-за отсутствия видимости бэкэнд-процессов. Неправильное внедрение может привести к возникновению новых проблем с безопасностью.
ПРИМЕРЫ ТРАНСФОРМАЦИИ БИЗНЕСА
В 2025 году более 75% организаций будут использовать бессерверные вычисления для большинства новых цифровых продуктов, считают в Gartner.
В отдельных случаях serverless позволяет экономить до 80% на ИТ-инфраструктуре и в разы ускоряет вывод новых приложений на рынок. Крупнейшая в мире сеть кофеен Starbucks перевела процессинг заказов и платежей из своего мобильного приложения на serverless. Это позволило сократить время выставления чека с дней до секунд и экономить 300 тыс. долларов в месяц на серверах.
Netflix использует бессерверные инструменты для персонализации контента и рекомендаций в реальном времени. Бессерверная архитектура позволяет обрабатывать петабайты данных и выдавать предложения для миллионов зрителей за миллисекунды без затрат на простаивающие сервера.
Европейский лоукостер Ryanair разработал на базе serverless свой новый сайт и мобильное приложение. Время запуска новых функций сократилось с недель до дней, а пиковая нагрузка в 3 000 запросов в секунду обрабатывается без задержек.
Это лишь несколько примеров из тысяч кейсов по всему миру.
В любой отрасли serverless найдет применение для оптимизации затрат, ускорения инноваций и улучшения клиентского опыта
Бессерверные решения применяют уже сейчас. Согласно прогнозам, популярность технологии продолжит расти. Как минимум следующие два года.
ТРЕНДЫ РАЗВИТИЯ
Исследователи выделяют четыре тенденции рынка бессерверных вычислений на ближайшие два года:
- Мультиоблачные и гибридные среды. Компании будут комбинировать сервисы от разных провайдеров и локальные решения для достижения оптимального баланса затрат, производительности и безопасности. Кросс-платформенные фреймворки упростят разработку портируемых приложений.
- Интеграция с искусственным интеллектом (ИИ) и машинным обучением. Serverless-функции станут универсальной средой для запуска моделей машинного обучения благодаря неограниченным ресурсам и масштабированию. Это позволит внедрять ИИ в бизнес-процессы без капитальных затрат.
- Конвергенция с 5G и интернетом вещей IoT. Бессерверная архитектура идеально подходит для сценариев интернета вещей и сетей нового поколения за счет распределенности и адаптивного масштабирования. Операторы, вендоры оборудования и платформ совместно создадут serverless-экосистему для эпохи 5G.
- Безопасность и соответствие. С ростом популярности serverless будут расти и риски атак на приложения и данные в публичных облаках. Провайдеры усилят защитные механизмы своих платформ, а регуляторы уточнят требования по безопасности и локализации данных для бессерверной модели.
Драйверы развития – облачная трансформация крупного бизнеса и цифровизация госсектора
Появление открытых кросс-платформенных решений и созревание отечественной облачной инфраструктуры придаст дополнительное ускорение российскому рынку.
ЧТО СТОИТ ЗАПОМНИТЬ О SERVERLESS-ТЕХНОЛОГИЯХ
1. Бессерверная архитектура – это когда разработчики создают и запускают сервисы без необходимости управлять базовой инфраструктурой. Серверы все еще есть, но управление ими ложится на поставщика услуг.
2. Serverless работают по системе монетизации pay-as-you-go. Клиент платит только за использованные мощности, а простой в чеке не учитывается. Такую систему используют многие облачные провайдеры.
3. Бессерверные вычисления трудно рекомендовать отраслям с высоким уровнем регулирования. Также компании с большими сложными приложениями могут столкнуться с трудностями в управлении, мониторинге и отладке своих бессерверных компонентов из-за распределенного характера архитектур.
4. К технологии нельзя относиться, как к «волшебной пилюле». Для эффективного применения потребуются изменения процессов, компетенций, культуры в ИТ-командах. Стоит понять, готова ли компания отказаться от контроля над вычислениями.