FaaS, PaaS, SaaS или IaaS — поговорим о выборе облачной модели для e-commerce
Эта статья задумывалась для руководителей компаний, которые внедряют у себя платформу электронной коммерции и выбирают модель облачного хостинга между FaaS, PaaS, SaaS или IaaS. Но, на самом деле, эта статья универсальна — подойдет и клиентам дата-центров, и клиентам разработчиков облачных приложений, и даже людям, далеким от ИТ. Она том, чем отличаются облачные модели хостинга, в чем различия и недостатки у каждой модели. Да, об этом в интернете сказано много, но различия не всегда четко разграничены и наглядны (на взгляд автора).
Итак, когда ваша ИТ-команда развертывает программное решение электронной коммерции корпоративного уровня (здесь и далее кроме платформы e-commerce подразумевается любое "тяжелое" облачное приложение), у вас есть выбор из четырех моделей облачного хостинга FaaS, PaaS, SaaS или IaaS. Уточним — на самом деле, по большей части это выбор из трех вариантов, так как модель FaaS пока еще носит экспериментальный характер как для онлайн-торговли, так и в иных сферах бизнеса.
В последние годы в корпоративных блогах, на Хабре и в профессиональных СМИ было очень много статей — в чем облачная модель лучше в сравнении с серверами в вашем собственным офисе (модель On-Premises), и здесь не стоит повторяться. В России работает как минимум десяток крупных облачных провайдеров национального уровня или вы можете выполнить запуск вашего программного обеспечения в облаках глобальных провайдеров (AWS, Azure, GCP и т. д.).
В целом, выбор облачной модели FaaS, PaaS, SaaS или IaaS для системы электронной торговли — это решение со множеством критериев, и у каждой модели есть свои плюсы и минусы в зависимости от вашей практики ведения бизнеса и свойств самого ПО. Вот об этом мы и поговорим здесь.
Наглядное представление о том, какие компоненты входят в модели FaaS-Serverless, PaaS, SaaS and IaaS можно посмотреть на сайте Microsoft. Там вы можете прочесть о преимуществах и недостатках каждой модели, но есть ремарка — как автору показалось, этот текст содержит слишком обтекаемые формулировки «и вашим, и нашим» и не дает конкретных ответов, какую модель облачных услуг выбрать, в частности, для электронной коммерции. Поэтому, поехали дальше.
IaaS: модель «Сделай сам» для облачного хостинга
Если вы получили от поставщика систему электронной торговли в виде дистрибутива для скачивания или это был олдскульный дистрибутив на DVD-диске, вы могли использовать IaaS как самую начальную (но не самую простую в работе) облачную модель и альтернативу развертывания серверов и ПО на своей площадке (On-Premises).
Что такое IaaS? В рамках сервиса «Инфраструктура как услуга» (IaaS, Infrastructure as a Service) дата-центр предоставляет выделенные серверы или виртуальные машины, а также дисковые хранилища и сетевое подключение к магистральным каналам связи с Интернет.
Ваша организация оплачивает услуги провайдера по модели операционных расходов (OpEx) в зависимости от текущего потребления Pay-As-You-Go, или, другими словами, как подписку. Такой метод оплаты высвобождает бюджет компании от капитальных затрат (CapEx) на покупку собственных серверов и другого ИТ-оборудования. Этот способ оплаты применим к любой из облачных моделей FaaS, PaaS, SaaS или IaaS.
В современных дата центрах облачная модель IaaS позволяет достаточно гибко масштабировать арендуемые ИТ-ресурсы в соответствии с ходом проектов, увеличением или уменьшением нагрузки. Вам будут предложены сервисы, которые помогают подготавливать новые приложения к работе, а также приложения и дашборды аналитики, показывающие загрузку серверов и сетевой трафик. Очень важным преимуществом IaaS является высокая надежность инфраструктуры в дата центрах уровня Tier III Tier IV с резервированием всех систем. Реализация такого уровня резервирования в исполнении On-Premises или невозможна, или будет стоить чрезвычайно дорого.
Особенностью IaaS в отличие от других 3-х моделей облачных услуг (FaaS, PaaS, SaaS) является предоставление в аренду только физических устройств и сетевого соединения с Интернетом. Программное обеспечение, включая ОС, по модели услуг IaaS устанавливается вашей компанией самостоятельно, и дата центр не несет ответственности за работу этих приложений.
Однако, если у вашей ИТ-команды нет специалистов для настройки серверов в облаке провайдера, это не будет большой проблемой. Операционную систему, виртуализацию и другое базовое ПО можно приобрести у дата-центра и заказать услугу "Managed services", т.е. услугу системного администратора или сетевого инженера по установке и настройке ПО.
Если вы спросите, в каком случае можно порекомендовать облачную модель IaaS, то это вариант платформы, приобретенной у вендора, который предлагает решение электронной коммерции как "дистрибутив для самостоятельной установки в облаке". Возможности кастомизации решения при модели IaaS высоки, особенно если решение имеет свободный код. Вендор также может рекомендовать партнера-интегратора, который при необходимости выполнит для вас проект кастомизации стандартного решения.
Преимуществом модели IaaS является достаточно высокий уровень контроля над железом и приложениями, особенно если в вашей компании есть профессиональная ИТ-команда. Это же является и недостатком, так как издержки на оплату труда программистов, DevOps, сетевых инженеров, админов будет нести ваша компания. Здесь же убытки от простоев и отказов в обслуживании запросов пользователей ввиду ошибок вашего персонала при неправильной конфигурации сервера, хранилища, сетевых стеков, установке или обновлении ПО.
Суммируем сказанное про IaaS: в сфере электронной коммерции эта облачная модель больше всего подходит для интернет-магазинов и торговых площадок, где владельцы хотят иметь контроль над ИТ-инфраструктурой своего бизнеса, веб-сайтом и другими видами фронтенда, но не хотят вкладывать большие деньги в создание собственного дата-центра (или серверной комнаты).
И еще пара слов про безопасность доступа к серверам. Хотя дата центры всегда хорошо охраняются от постороннего доступа, но есть и экстра-опции: для клиентов, которые хотят добавить еще один уровень в физическую безопасность оборудования, провайдеры предоставляют серверы и другое оборудование в отдельном помещении или в отдельной зоне, огороженные решеткой. Ключ будет только у вас и у одного представителя дата-центра, а над входом и внутри устанавливаются видеокамеры, ведущими трансляцию в ваш офис.
Модель PaaS: удобство и продуктивность за ваши деньги
В модели PaaS (Platform-as-a-Service) происходят изменения в составе арендованной инфраструктуры. Она предоставляется уже не как не только как «железо», а с предустановленными операционными системами на ваш выбор, средствами для создания, тестирования и запуска приложений.
Удобство модели PaaS в том, что вам не надо администрировать системное программное обеспечение. Появляется полная свобода, какие прикладные программы и средства разработки развернуть на взятой в аренду инфраструктуре. Можно создавать и загружать свой код, устанавливать и администрировать базы данных.
Если говорить об особенностях предоставления решения электронной коммерции как PaaS, то в этом случае вендор, кроме собственно продажи вам приложений платформы, обеспечивает услуги их установки на своем хостинге в дата-центре. Иными словами, вендор арендует в одном из дата-центров мощности и создает скрипт автоматической установки своего решения ecommerce на виртуальной машине или выделенном сервере в зависимости от вашего плана подписки.
Когда вы как клиент покупаете решение ecommerce у этого вендора по модели PaaS, то вендор перепродает вам услугу хостинга, добавляя свою услугу развертывания приложений. Для клиента это выглядит как значительное удобство в сравнении с развертыванием по модели IaaS, поскольку не надо заниматься настройкой серверов в облаке, операционными системами, сетевыми настройками и установкой приложений из пакета решения электронной коммерции.
В модели PaaS у клиента сохраняются возможности значительной кастомизации базового решения электронной коммерции. Если для реализации бизнес-процессов необходимо реализовать уникальные функции, не дожидаясь их появления у поставщика платформы, то PaaS — это отличный выбор.
При использовании PaaS для вас как клиента нет ограничений на кастомизацию и настройку приложений, включая доступность интерфейсных API, вы можете использовать опыт и знания своей ИТ команды, чтобы создавать на базе типового решения электронной коммерции именно тот набор функций, который вам нужен.
SaaS: All-In-One для полного счастья
SaaS (Software as a Service), программное обеспечение как услуга — ‘это облачная модель, в которой поставщик берет на себя все задачи по развертыванию и обслуживанию приложений. Сюда включается облачный хостинг серверов, установка операционной системы, виртуализации и средств резервного копирования, промежуточное ПО, и прикладные приложения.
Решение электронной коммерции по модели SaaS разрабатывается и развертывается на хостинге, а также обслуживается целиком вендором. Это огромное удобство для малого и среднего бизнеса, который хочет быстрее выйти на рынок со своими торговыми предложениями, и не имеет возможности нанять ИТ-команду, включающую разработчиков, сетевых инженеров и админов.
Приложение по модели SaaS развертывается на хостинге, а также обслуживается целиком вендором. В этом большое удобство для малого с среднего бизнеса.
Бизнес-пользователи могут купить доступ к приложениям электронной торговли по модели SaaS прямо из веб-браузера (или мобильного устройства) и далее наполнять магазин товарами, проводить маркетинговые акции из админ-панели, подключать поставщиков и оплату. Электронный магазин развертывается для клиента буквально сразу после первоначальной оплаты и готов к работе.
Обратной стороной удобства модели SaaS является ограниченные возможности кастомизации решения электронной торговли. Клиентам доступны только те возможности настройки, которые предусмотрел вендор. Почему так? Это довольно легко можно объяснить на примере типичных SaaS приложений, таких как Microsoft Office 365 или Google Workspace. Да, там много настроек, но вы не можете создать такую свою функцию, которая не была предусмотрена вендором.
FaaS: следующий уровень абстракции
FaaS (Functions as a Service), "Функции как сервис" представляет новый уровень абстракции, в котором полностью исчезает физическая и программная архитектура, кроме отдельных «функций», вызываемых при возникновении потребности в их исполнении. Функция в FaaS имеет наивысший уровень абстракции как наименьший компонент (гранула) большого приложения.
Хотя FaaS часто полностью ассоциируют с бессерверными вычислениями (serverless computing), будет правильным говорить о FaaS как о программной части или программном компоненте бессерверных вычислений, если подходить со стороны пользователя.
Здесь мы не будем останавливаться на объяснении, что такое бессерверные вычисления и как это работает. Будет лучше, если вы узнаете основные идеи бессерверных вычислений, их преимущества и недостатки из статьи Everything You Ever Wanted to Know About Serverless eCommerce Platforms but Were Afraid to Ask (на англ. яз.).
С помощью FaaS команда девелоперов может разбить свое приложение на отдельные функции и загружать их на платформу FaaS. Такие платформы предлагаются глобальными облачными сервис провайдерами — Microsoft Azure, AWS Lambda, IBM Cloud Functions and Google Cloud Functions.
Модель FaaS очень экономична, поскольку вы платите только за серверное время, необходимое для вызова и исполнения функций, но в действительности это справедливо только для сугубо вычислительных задач.
Считается, что модель FaaS очень экономична, поскольку вы платите только за серверное время, необходимое для вызова и исполнения функций, но в действительности это справедливо только для очень простых вычислительных задач. Для сложных приложений, таких как платформы электронной коммерции, в дополнение к вычислениям придется покупать множество дополнительных сервисов у облачного провайдера, которые могут свести на нет экономию на стоимости машинного времени при запуске функций.
В 2021 году на рынке еще не было ни одной платформы е-коммерции, которая бы использовала облачную модель FaaS, поэтому дальше мы не будем о ней говорить. Однако технология выглядит очень перспективной, и будущие обзоры облачных моделей наверняка будут включать FaaS уже с примерами реализации.
Особенности облачных моделей FaaS, PaaS, SaaS и IaaS — для понимания владельцами бизнеса
Когда владелец бизнеса садится обсудить с техническим директором облачную модель для имплементации своего магазина электронной торговли, то оцениваются множество вариантов и факторов, а сделанный выбор всегда будет компромиссом.
Тут надо отметить, чем меньше компания и короче ее история на рынке, тем больше надежд она возлагает на онлайн-торговлю. Поэтому небольшим компаниям очень важно быстро и недорого открыть свой интернет-магазин.
Бизнес среднего размера и энтерпрайз, как правило, имеют уже хорошо отлаженные каналы оффлайн продаж, и им важнее создать магазин и мобильное приложение, которые проработают несколько лет — пусть с регулярными обновлениями, но в рамках одной платформы. В таких больших организациях миграция программного обеспечения с одной платформы на другую — всегда очень сложная и затратная процедура.
При имплементации магазина электронной торговли оцениваются множество факторов облачных моделей FaaS, PaaS, SaaS и IaaS, а сделанный выбор всегда будет компромиссом.
Что нужно учитывать в первую очередь владельцу бизнеса? Время выхода на рынок, совокупная стоимость владения (TCO) решений и стоимость кастомизации платформы — это три основных фактора, которые в первую очередь на успех проекта.
Time to market против ТСО. Сегодня время выхода на рынок — важнейший параметр, который опытные маркетологи рассматривают с наивысшим приоритетом. Выбирайте платформу, которая обеспечит самый быстрый выход на рынок, даже если стоимость владения будет выше, чем при других облачных моделях.
Как пример, вы можете найти обсуждения на автомобильных форумах, что даже такие компании как Мерседес, с начала 2000-х годов были вынуждены выпускать новые модели автомобилей в такой спешке, которую не могли себе даже представить конструкторы старой школы. Ставшее легендой «олдскульное немецкое качество» предполагало, что каждая модель автомобиля разрабатывалась и испытывалась несколько лет, прежде чем появиться в продаже. Но сегодня несколько лет разработки — это путь к провалу проекта. В 2020-х годах уже совсем неважно, какие товары продает ваша компания, — автомобили, обувь или что-то еще, — императивом стало опережать конкурентов в выводе продуктов на рынок, или хотя бы не отставать от тренда.
Стоимость кастомизации. Вам повезло, если решение электронной коммерции, предлагаемое поставщиком SaaS, по своей функциональности может закрыть потребности вашего бизнеса прямо сейчас и на какой-то срок вперед. Без сомнений выбирайте SaaS-платформу в этом случае, т.е. она обеспечит самый быстрый выход ваших товаров в онлайн.
В других случаях, когда базовая функциональность SaaS решения вас не удовлетворяет, и даже приложения, расширяющие функциональность (add-ons) не помогут, следует предпочесть платформу электронной коммерции, предлагаемую по облачной модели PaaS. Это особенно справедливо для рынка B2B, где в продаже товаров могут быть особые условия, требующие уникальной кастомизации платформы с использованием модели PaaS или даже IaaS.
Облачная модель PaaS как оптимум для В2В
Хотя никакая облачная модель не является на 100% лучшей для определенных рыночных ниш, PaaS выглядит как оптимум не только для среднего бизнеса, но и стартапов в В2В торговле. Посмотрим на эти ниши, или по крайней мере, на несколько из них.
Сложная продукция в машиностроении. Продавцам требуется разработать конфигураторы, которые учитывали бы возможные изменения в конструкции и варианте комплектации машин и механизмов. Одновременно требуется создать конфигуратор расходных материалов, в идеале с подсказками по заменам, если каких-то расходных компонентов временно нет в продаже.
Региональная и международная и экспансия. Кроме самых простых замен, таких как язык интерфейса и валюта страны, могут быть отличные друг от друга каталоги и даже разные торговые названия для идентичных продуктов [хотя бы для того, чтобы названия выглядели благозвучно на местном языке].
Омниканальность, одна платформа для разных каналов продаж. Более глубокая разработка и кастомизация должна касаться архитектуры, обеспечивая для одной платформы поддержку разных каналов продаж (омниканальность) с единой бизнес-логикой. Более того, как говорилось выше, эта же самая одна платформа должна обслуживать онлайн-торговлю в разных странах и на разных языках, валютах и с разными каталогами продуктов. Довольно часто вендор предлагает в таких случаях дублировать платформу под разные рынки, — вот такие платформу не следует выбирать, поскольку дублирование ведет к хаосу в бизнес-процессах продавца.
Суммируем рекомендации по выбору облачной модели для eCommerce
В этом разделе суммируем сказанное о процессе выбора облачной модели между FaaS, PaaS, SaaS и IaaS для вашей платформы электронной торговли:
Выбирайте модель SaaS для быстрого запуска eCommerce. SaaS — это ваш выбор, если хотите запустить онлайн-магазин как можно быстрее, и у вас нет ресурсов, чтобы заниматься кастомизацией решения на уровне кода. Также, если вы ничего не понимаете в виртуальных машинах и конфигурациях серверов на хостинге, то SaaS скроет от вас все эти элементы физической инфраструктуры. И, наконец, если ранжировать по размеру бизнеса, то SaaS в большинстве случаев будет оптимальной облачной моделью для ecommerce в малом бизнесе и для стартапов, особенно в сфере В2С.
PaaS как решение «золотой середины» для среднего бизнеса. Выбрав PaaS, ваша ИТ-команда получает отличный баланс между удобством администрирования платформы и доступом к коду, виртуализации, конфигурациям серверов и базам данных. Средний бизнес — это самый частый покупатель решений PaaS. Для небольших компаний PaaS может быть слишком сложным в использовании, а для энтерпрайз иметь недостаточный уровень контроля платформы.
IaaS — полный контроль над программной частью платформы. Вы можете контролировать операционные системы, виртуализацию, средства разработки и прикладное программное обеспечение. На долю облачного провайдера остаются инженерная инфраструктура и помещения, серверы и системы хранения, сетевые устройства и брандмауэры. Облачную модель IaaS обычно выбирают крупные и средние компании. В нишах малого бизнеса IaaS выбирают осознанно, с полным пониманием, что за весь софт придется отвечать самим. Как правило, это ИТ-стартапы, которые разрабатывают сложные программные продукты.
Границы между доступными ресурсами в каждой модели (FaaS, PaaS, SaaS и IaaS) могут немного отличаться у облачных провайдеров. Стремясь обеспечить максимальный охват потребностей клиентов, провайдеры размывают границы между моделями облачного хостинга, добавляя сервисы из смежных моделей.
Как размываются границы моделей FaaS, PaaS, SaaS и IaaS? Например, действуя в модели IaaS, компания может купить сервис по управлению уровнем операционных систем, что приблизит ее к модели PaaS, но сохранит контроль над уровнями промежуточного ПО, компиляторами, данными и приложениями. Даже в модели On-Premises компании часто отдают некритические приложения на хостинг к облачному провайдеру, разгружая собственную ИТ инфраструктуру.
Пример PaaS-решения в платформе Virto Commerce
Уже столько сказано о SaaS, PaaS или IaaS как о перспективном выборе для перехода из On-Premises в облако, что пора сказать о примере PaaS решении, в данном случае Virto Commerce (так в оригинале статьи, примечание автора). Это облачный хостинг для электронной коммерции с практически неограниченными возможностями кастомизации решения eCommerce. Существуют 3 варианта хостинга для Virto Commerce:
IaaS Virto Commerce version 3.x для классической инсталляции в облаке,
Virto Commerce Cloud SaaS — релиз решения состоялся летом 2021,
Virto Commerce Cloud PaaS — preview решения доступно с сентября 2021 (немного о нем прямо сейчас).
Так что же такое Virto Commerce PaaS? В отличие от других PaaS проектов на рынке , здесь команда Virto Commerce делится своими наработками и предоставляет доступ к готовым e-commerce пакетам, которые могут быть использованы как есть, или расширены или полностью пересобраны с учетом специфики клиентского проекта.
Разработчикам остается сосредоточиться на сборке пакетов, построении расширений, настраиваемой бизнес-логики поверх полностью управляемого ядра. Они также получают доступ к порталу самообслуживания для управления инфраструктурой, развертывания кода и мониторинга производительности приложения.
Список приложений постоянно пополняется и на текущий момент включает в себя как базовые сервисы, такие как СУБД (MS SQL), полнотекстовый поиск (Elastic-search), файловое хранилище, CDN, кэш (Redis), так и специализированные, как например, высокодоступная система заказов, способная принимать до нескольких сотен заказов в секунду.
Заключение
В статье много сказано о гибкости, которую дают облачные модели хостинга для платформы электронной коммерции. Заключительный совет состоит в том, чтобы и вы были гибки в своем мышлении, и даже умели отказаться от ошибочного выбора на ранних этапах реализации проекта, чтобы не попасть под ограничения модели хостинга, которые не позволят вам выйти на нужную маржинальность вашего онлайн-бизнеса.
Хорошим компромиссом будет покупка любых дополнительных сервисов у провайдера и поставщика решения электронной торговли, которые дадут вам фору во времени при выводе вашего магазина (или иного приложения) на рынок.