Время PaaS

22.07.2019

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

От IaaS к PaaS

Три года назад, когда журнал «ИКС» одним из первых в России опубликовал подробную статью «Лабиринты PaaS» о платформенном сервисе (Platform as a Service), приходилось доказывать, что такой сервис нужен, да и вообще существует. Тогда на слуху были только облачные сервисы IaaS (Infrastructure as a Service) и SaaS (Software as a Service), а немногочисленные PaaS-услуги относили к одной из этих двух категорий. Но с тех пор все изменилось.
 
Рынок IaaS стал зрелым, решения фактически перешли в разряд коммодити, и облачные провайдеры в поисках конкурентных преимуществ начали обращать внимание на предоставление по сервисной модели облачных платформ. По такому пути пошла компания Mail.Ru, предложившая в прошлом году PaaS-сервисы на open source-решениях, развернутых на облачной платформе OpenStack.
 
Много шума наделал запуск проекта Kubernetes as a Service (KaaS), который значительно упрощает задачу разработчиков систем с микросервисной архитектурой контейнерного сервиса OpenStack Magnum, оркестрируемого c помощью Kubernetes.
 
При использовании микросервисов первоначальная задача разбивается на множество небольших слабосвязанных подзадач (микросервисов), которые удобно запускать в контейнерах. Не связанные жестко микросервисы интегрируются между собой. Требования гранулярного выделения ресурсов, динамического взаимодействия микросервисов и управления на микросервисном уровне усложняют процессы развертывания и масштабирования приложений. На помощь приходят изначально ориентированные на эти процессы PaaS-платформы.
 
«Мы решили пойти по пути AWS и после развертывания IaaS стали запускать на своей облачной платформе сервисы PaaS», – отметил на митапе OpenInfra в Сбербанке технический директор Mail.Ru Cloud Solutions Дмитрий Кудюкин.
 
 
Дальнейшее развитие PaaS-сервисов компании также базируется на OpenStack-решениях: Database as a Service на базе Trove, Big Data as a Service – на Sahara, Backup as a Service – на Karbor и LoadBalancer as a Service на базе балансировщика нагрузки OpenStack Octavia.
 
Глобальные зарубежные облачные провайдеры продвинулись дальше и уже давно предлагают широкий спектр сервисов PaaS. Стоит отметить aPaaS (Application Platform as a Service) – облачный сервис, создающий среду для разработки и развертывания приложений в облаке (реализован AWS, Microsoft, Oracle, Google, SAP, IBM, Red Hat); iPaaS (Integration Platform as a Service) – слой облачной платформы, обеспечивающий интеграцию приложений между собой (IBM, Jelastic); DBaaS (Database as a Service) – предоставляемые по облачной модели СУБД (Oracle, Heroku, Pivotal).
 
Объем российского рынка PaaS в 2018 году, по предварительным данным, составляет более 4 млрд руб. По прогнозам iKS-Consulting, в 2017--2022 годах рынок PaaS будет показывать среднегодовой рост в 30% и в 2022 году достигнет 11,7 млрд руб. Главными драйверами роста станут специализированные платформы, которые будут использоваться для разработки, тестирования и внедрения новых продуктов, платформы искусственного интеллекта и машинного обучения, а также CDN.

Станислав Мирин, ведущий консультант, iKS-Consulting

 
 
Облачный сервис ускоряет создание высокоуровневых моделей при использовании платформ разработки, управляемой моделями, и быстрой разработки (Model-Driven Development/Rapid Development PaaS, MDD/RD PaaS). При этом разработку могут вести не профессиональные программисты, а специалисты в конкретных предметных областях, оперируя знакомыми им категориями. Такие услуги предлагаются на платформах Mendix и Salesforce.
 
Жизнь становится все более мобильной. Важно обеспечить поддержку решений на планшетах и смартфонах. Трудно переоценить сервисы MBaaS (Mobile Backend as a Service), связывающие мобильные приложения с инфраструктурной частью облачных сервисов, осуществляющие удаленное управление мобильными приложениями и push-оповещение. Такие сервисы реализованы в облаках компаний Microsoft и SAP.
 
В ответ на стремительный рост интереса к интернету вещей, который сегодня находится на вершине хайпа кривой зрелости перспективных технологий Gartner, появились облачные платформы для разработчиков решений IoT, такие как AWS IoT, Google Cloud IoT, Microsoft Azure IoT Suite, IBM Watson IoT. Они все относятся к PaaS и служат для автоматизации работы программистов. Еще один новый облачный сервис – предлагаемый AWS Machine Learning as a Service (MLaaS). Этот сервис, как и все платформенные сервисы для систем искусственного интеллекта (AI PaaS), сейчас на подходе к пику кривой Gartner.
 
 
Вопросы терминологии
 
В настоящее время термин PaaS широко используется, но путаница в классификации сервисов осталась. Согласно классическому определению Национального института стандартов и технологий (США), PaaS – это модель предоставления облачных услуг, которая дает потребителю возможность разворачивать в облаке приложения, разработанные на основе конкретных языков программирования, программных библиотек, сервисов и инструментов, поддерживаемых облачным провайдером. Потребителю PaaS не требуется контролировать уровень облачной инфраструктуры IaaS, но он имеет все возможности для управления, конфигурирования и развертывания разработанных приложений, которыми пользуется сам или предлагает своим заказчикам по модели SaaS.
 
Определение есть, но трактовки различны. Границы между SaaS и PaaS довольно расплывчаты и зависят от деталей использования сервиса. Так, если бухгалтер работает с «1С» из облака, то это SaaS. А если разработчик делает сервис для бухгалтера на облачной платформе «1С», то это уже PaaS.
 
Обучение нейронной сети в сервисе Deep Learning as a Service (DLaaS) в облаке IBM можно рассматривать как PaaS. Датасайнтист берет на платформе инструменты, датасеты, библиотеки статистического анализа. Все эти услуги относятся к PaaS. Но когда конечный пользователь задействует в облаке обученную модель, то это SaaS. Хороший пример – использование системы управления видеорекламой в магазинах «Ароматный мир», когда установленные в зале видеокамеры передают изображение в облако Microsoft Azure, где с помощью набора готовых сервисов искусственного интеллекта Cognitive Services происходит распознавание возраста и пола клиента. Решение опирается на возможности облачной платформы, но это не PaaS, а SaaS – ведь решение уже разработано и внедрено.
 
Если на этапе разработки блокчейн-сети применяется облачная блокчейн-платформа, например EBaaS в облаке Microsoft Azure, то предоставляемый сервис – PaaS. На этапе эксплуатации мы имеем дело с SaaS, и не важно, что при добавлении новых нод, скажем, при подключении к блокчейн-сети новых предприятий, используются платформенные решения.
 
Сложности вызывает и классификация услуги «контейнеры как сервис» (CaaS), которые занимают промежуточное положение между Iaas и PaaS. Тут все зависит от конкретного решения. Если пользователю просто предоставляется контейнер по сервисной модели, то это IaaS, аналогично тому, как по модели IaaS предоставляется виртуальная машина. Но если контейнерный сервис дополнен сервисами поддержки разработчика, то это уже PaaS.
 
«Понятие PaaS расширяется и охватывает всё большее количество специализированных сервисов. Крупные облачные провайдеры, предоставляя услуги PaaS, по сути, предоставляют несколько разных платформ, например для больших данных, машинного обучения, блокчейна, интернета вещей. Универсального PaaS не существует», – поясняет координатор Big Big Data Group и автор статьи «Лабиринты PaaS» Олег Фатеев. Облачные платформы всегда нацелены на разработчиков. Продукты же, создаваемые с помощью PaaS, могут быть предназначены для внутрикорпоративного использования, для конкретного заказчика или быть универсальными, ориентированными на широкое использование и выкладываться на marketplace. Эти конечные продукты относятся к SaaS.
 
Облака уже не экзотика. Бизнес во всю работает с облачными приложениями, в том числе с ориентированными на облачную инфраструктуру. Разработку облачных приложений удобнее вести на облачных платформах. Наступает время PaaS