Растущий интерес к бессерверной форме облачных вычислений заставляет провайдеров думать об упрощении ее освоения. Портал TechTarget обсуждает проблемы использования этой модели в сравнении с традиционными облачными платформами и пути ее усовершенствования облачными провайдерами.
В прошлом году важным сдвигом в сфере облачных вычислений, по мнению большинства отраслевых экспертов, стал рост использования бессерверных моделей. Вместо оплаты длительно арендуемых экземпляров виртуальных машин бессерверные платформы позволяют заказчикам платить только за фактическое время использования ПО. Для многих приложений, реагирующих по мере необходимости на нечастые события, эта схема может оказаться очень выгодной. Но для традиционных приложений, находящихся в постоянной работе, ее использование весьма рискованно.
Так что же сулит нам в этом плане ближайшее будущее? Прогресс бессерверных вычислений повлечет за собой две очевидные вещи. Во-первых, популярность бессерверной ценовой модели заставит облачных провайдеров распространить ее на более широкий круг сервисов. Во-вторых, поскольку бессерверные приложения устроены иначе, чем другие типы приложений, облачные провайдеры будут побуждать разработчиков учитывать эти различия в своем ПО. Нередко бессерверные инициативы будут принадлежать лишь к одной из этих двух категорий, но во многих случаях провайдеры будут действовать сразу по двум направлениям, одновременно учитывая интересы пользователей гибридных облаков.
В бессерверных вычислениях пользователи инициируют запуск приложения, и в нужный момент оно загружается на выбранный провайдером подходящий ресурс и выполняет свои операции, используя все необходимые дополнительные ресурсы. Провайдеры начисляют оплату только за фактическое время использования конкретных ресурсов.
Есть две причины, по которым бессерверную облачную модель трудно применять к традиционным приложениям:
- При инициировании запуска приложения на бессерверной платформе оно может загружаться со значительной задержкой, что потенциально влияет на качество обслуживания пользователя.
- Многие транзакции приложений представляют собой многошаговые последовательности, и приложения сохраняют внутри себя данные о контексте или состоянии. Однако в бессерверной среде такие данные будут теряться. Это называется «проблемой состояния».
Для решения этих двух вопросов надо разбивать приложения на более мелкие компоненты. Эти компоненты будут быстрее загружаться по требованию, а разработчикам будет проще обеспечить нужную функциональность без сохранения состояний. В ближайший год провайдеры бессерверных облаков по-видимому начнут осваивать эту компонентную модель приложений.
Провайдеры также будут все больше стараться добавлять в свои бессерверные платформы состояние или контекст. Microsoft решила эту проблему через так называемые Durable Functions, а Amazon через Step Functions. Оба этих сервиса добавляют состояние к исходно не фиксирующей состояние функциональной модели лямбда-вычислений, что облегчает эксплуатацию традиционных приложений на бессерверных платформах.
Модель Durable Functions основана на оркестровке, и Microsoft ее задействует как мост между не отслеживающими состояние бессерверными функциями и традиционными приложениями. Компания хочет, чтобы пользователи могли строить приложения, оперируя перемещаемыми элементами интерфейса Durable Functions. Хотя сегодня в нет еще нет возможности напрямую заменять существующие компоненты приложений на функции, использование Durable Functions (а в случае AWS — Step Functions) является легким путем конвертирования существующих приложений в функциональную (не фиксирующую состояние) форму.
Бессерверное предложение Google носит название Cloud Functions и технически схоже с базовыми сервисами функциональных вычислений Amazon и Microsoft. Но конкретных предложений для поддержки управления состоянием, аналогичных Durable Functions и Step Functions, у Google пока нет.
Облачные провайдеры будут учитывать и тот факт, что пользователи заинтересованы в бессерверных вычислениях, потому что не хотят заниматься управлением облачными серверами. Им удобнее перенести приложение в облако и просто-напросто его использовать без лишнего груза управления инфраструктурой. В ближайшей перспективе большинство провайдеров начнет предлагать бессерверный облачный хостинг для нынешних приложений, работающих в виртуальных машинах и контейнерах, как способ уменьшить операционные сложности. А в их расценках появятся опции загрузки приложений на конкретные периоды времени с оплатой за эти периоды, хотя провайдеры вряд ли будут особо поощрять загрузку и выгрузку приложений по каждому событию, как предполагается в чистых бессерверных вычислениях.
Другим важным трендом в использовании бессерверных приложений является улучшение их интеграции и поддержка гибридных облаков. Приложения, управляемые событиями и идеальные для бессерверной реализации, обычно действуют как наружные элементы традиционных бизнес-процессов, собирая внешнюю информацию и связывая ее с внутренней средой дата-центра. И Amazon, и Microsoft вероятно предложат улучшенные средства для поддержки этой гибридной модели, и этому будет способствовать тот факт, что присутствие в дата-центрах продуктов Microsoft дает последней преимущества, которым Amazon постарается противопоставить что-то свое.