Рубрикатор |
Статьи | ИКС № 4 2019 |
Николай НОСОВ | 20 января 2020 |
Грани PAAS
Сервисы PaaS все чаще используются компаниями для получения конкурентных преимуществ и успешного продвижения на рынке.
Разработчик зачастую создает решение не с нуля, а опирается на опыт предшественников. Нет смысла «изобретать велосипед», лучше взять уже проверенные, работающие решения, подстроить для своих задач и добавить что-то новое. Все это справедливо и в отношении программирования с использованием программных платформ – совокупности отработанных технологий и программ, позволяющих в реальные сроки создавать новые продукты путем настройки готовых решений и разработки дополнительных модулей, реализующих необходимый функционал.С появлением облачных вычислений программные платформы переместились в облако и стали предлагаться по сервисной модели. Появился термин Platform as a Service (PaaS). Облачные платформы предоставляют возможность автоматической интеграции, согласования и развертывания систем; большой выбор средств разработки и API; широкий спектр шаблонов и готовых приложений, которые можно встраивать в создаваемое решение.
Корпоративный пользователь хочет иметь платформу для разработок, но не хочет заниматься ее настройкой и сопровождением. Именно в этот момент на сцену выходит PaaS. Ли Майлз, региональный менеджер по Центральной Европе, СНГ, Среднему Востоку и Африке, Red Hat |
Пионеры PaaS
Включающий элементы PaaS сервис Amazon Elastic Compute Cloud (Amazon EC2) компания Amazon запустила еще в 2006 г., в 2008 г. заработали популярные PaaS Heroku и Google App Engine, ориентированные на конкретные стеки технологий (Ruby и Python соответственно). В том же году появилось первое программное обеспечение с открытым исходным кодом для развертывания частных и гибридных облаков – OpenNebula NASA. Проект позиционировался как IaaS, но включал и элементы PaaS.
PaaS-контейнеризация
Новым этапом в развитии PaaS стало использование контейнерной виртуализации, которая решает серьезную проблему разработчиков – привязку к платформе разработки. Контейнер – это автономно исполняемый фрагмент программного кода, который включает всё, что нужно для его запуска: собственно код, среду выполнения, системные инструменты, библиотеки, установочные файлы.
Размещение программы с требуемым окружением в контейнере позволяет безболезненно переносить решения, созданные в облаке, в корпоративную систему заказчика, «отвязывает» разработчика от конкретной облачной платформы и обеспечивает миграцию решений между облаками.
Контейнеры позволяют менять версии ПО «на ходу», не прерывая бизнес-процессов. Подход можно проиллюстрировать на следующем примере. Старая версия приложения работает в одном контейнере. В это время новая версия проверяется во втором контейнере, причем используется полностью идентичное прежнему окружение, что минимизирует число ошибок при последующем переходе. Примечательно, что сама эта новая версия может содержать обновленный код не только приложения, но и любых его зависимостей, а также системных компонентов (например, новую версию OpenSSL или всего дистрибутива). Когда новая версия полностью готова к обслуживанию запросов, трафик переключается с первого контейнера на второй, и старая версия может быть остановлена.
На практике в сервисе могут одновременно работать тысячи контейнеров, но сам принцип остается прежним – версия ПО меняется постепенной заменой контейнеров на новые. При необходимости можно легко осуществить откат к предыдущей версии (достаточно переключить трафик на старые контейнеры).
В 2018 г. объем глобального рынка контейнеров приложений достиг $1,5 млрд. По оценкам Grand View Research, в 2019–2025 гг. CAGR составит 26,5%, причем в облачном сегменте (по прогнозу, в 2025 г. на него будет приходиться 45% рынка) рост будет еще больше – около 30%.
Контейнеризация вдохнула в PaaS новую жизнь и сформировала современный облик платформенных сервисов. В настоящее время PaaS является наиболее динамично растущим сегментом облачного рынка.
Классификация PaaS
Прикладные программисты пользуют платформы разработки приложений aPaaS (Application Platform as a Service), которые постоянно развиваются. Общая тенденция развития ИТ – упрощение труда программиста: автоматизация средств написания кода, возможность создания решений на высоком уровне, в идеале – любым пользователем, не владеющим навыками программирования. Первые системы такого рода стали применяться еще в 80-х, когда появились CASE-системы: программист рисовал блок-схему программы, а СASE-система генерировала код. Развитие подхода привело к появлению рынка платформ с низким использованием кода – low-code/no-code в терминологии Forrester, или HPaPaaS (High Productivity Application Platform as a Service) в терминологии Gartner.
Low-code-системы можно разделить на системы генерации исполняемого кода и создания модели представления (Model-Driven Execution Platform).
Поставщики систем генерации исполняемого кода предоставляют визуальную среду разработки приложений. Преимущество подхода – возможность генерации кода приложений, работающих без доступа к интернету. Это в общем случае дает возможность создавать приложения с более высокой производительностью. Независимость полученного кода от платформы – большой плюс в случае проблем с платформой, ведь ее поставщик может по тем или иным причинам уйти с рынка. Поставщики таких решений – компании OutSystems, Alpha Software, AppGyver, Graphite GTC, Kuika, Lansa, OrangeGrid, Progress Kinvey, Vantiq и Zuznow.
Другие поставщики применяют подход на основе модели представления. В этом случае генерируется промежуточное представление разрабатываемого приложения, которое платформа интерпретирует непосредственно во время выполнения. Подобные решения предлагают Salesforce, ServiceNow и Mendix, а также Appian, Betty Blocks. Model-Driven Execution Platform хорошо подходит для реализации мобильных веб-приложений, которые работают в браузерах на мобильном устройстве. Еще один плюс – независимость от обновлений платформы, устанавливаемых провайдером.
Набирают популярность бессерверные вычисления (Serverless computing) – использование конкретных функций в облаке, при котором облачная платформа динамично руководит выделением машинных ресурсов, по сути, для каждого запроса создает отдельный контейнер, который уничтожается после выполнения. А пользователь оплачивает конкретное «полезное действие». Наиболее популярные примеры – AWS Lambda, Azure Functions.
Упрощение написания программ размывает границы между PaaS и SaaS. Все чаще конечный пользователь может получить нужное решение самостоятельно, не прибегая к услугам программистов, а разработчики – использовать в качестве платформы разработки классические решения SaaS, например Microsoft Excel.
С ростом числа облачных сервисов, приложений и платформ выросло и разнообразие API, обеспечивающих обмен данными. На их интеграцию и поддержку стало требоваться много ресурсов разработчиков. Для сглаживания этих проблем появились интеграционные платформенные сервисы – Integration Platform as a Service (iPaaS) – наборы облачных сервисов, которые позволяют разрабатывать, интегрировать и обслуживать потоки, соединяющие различные локальные и облачные сервисы, процессы, приложения и данные внутри одной или нескольких организаций.
Основные свойства iPaaS: простота разворачивания системы, наличие готовых коннекторов к популярным приложениям и сервисам, пакеты для их быстрой разработки, графический, не требующий программирования интерфейс, обработка ошибок с уведомлением по e-mail. Предлагают такие платформы компании Infomatica, Dell Boomi, Oracle, Microsoft, MuleSoft, Jitterbit, Workato, Snaplogic.
Также размывается граница между PaaS и IaaS. Эксперты все чаще относят к PaaS сервисы поддержки администраторов систем и баз данных.
Сервисы Database as a Service (dbPaaS) упрощают работу с СУБД и снижают стоимость владения ими. Gartner отмечает значительный рост сегмента dbPaaS, который становится лидирующим на рынке. Большинство современных компаний предпочитает потреблять базы данных в облаке по модели сервиса ввиду того, что самостоятельное развертывание и обслуживание баз данных – операция достаточно сложная и трудозатратная, особенно в компаниях, активно разрабатывающих ПО. В этом случае компании ожидают автоматизации таких операций, как создание конфигураций БД с высокой доступностью, кластеризацией, автоматическое резервное копирование и восстановление после сбоев, а также мониторинг.
Некоторые эксперты, например Ли Майлз из Red Hat, стали относить к PaaS защиту приложений и данных от сбоя системы или аварии на основной площадке размещения ИТ-системы через полное восстановление в облаке провайдера – Disaster Recovery as a Service (DRaaS). Как в любой облачной услуге, здесь применяется оплата по модели pay as you go, что значительно снижает расходы.
Много споров вызывает классификация Сontainer as a Service (CaaS) – создание контейнеров и управление ими в облаке провайдера. Некоторые эксперты, в частности управляющий директор Selectel Максим Семенихин, относят его к PaaS, хотя большинство придерживаются мнения, что сервис занимает промежуточное положение ближе к IaaS.
Наиболее детально к структуре рынка PaaS подошла компания Gartner, насчитавшая на нем 21 сегмент (см. таблицу).
Сегменты рынка PaaS
По оценкам Gartner, сегодня на мировом рынке более 360 поставщиков предлагают свыше 550 сервисов PaaS. Ни один поставщик не охватывает все сегменты сразу, и 90% из них работают только в одном сегменте.
- платформы для разработчиков, микросервисы (aPaas, adPaaS, Kubernetes as a Service);
- виртуальный хостинг сайтов (веб-хостинг);
- платформы для обработки больших данных, аналитика (abiPaaS, Big Data as a Service);
- платформы для баз данных (DBaaS);
- платформы виртуальных АТС и видеоконференцсвязи;
- сети доставки контента (CDN);
- платформы для искусственного интеллекта, синтеза и распознавания речи и изображений (AI PaaS);
- M2M-платформы, в том числе платформы «умного» дома (IoT PaaS);
- App Containers (контейнеры приложений).
Пользователи PaaS
Сегодня компании, которые борются за эффективность и за клиента, все сильнее ощущают потребность в собственном ПО, которое позволит им внедрять собственные ноу-хау и отвечать на индивидуальные запросы клиентов. При этом, как отмечает Владимир Карагиоз, руководитель группы архитекторов по решениям Red Hat, у бизнеса есть естественное желание не создавать такое ПО с нуля, а основываться на готовых программных компонентах с готовыми процессами разработки, тестирования и доставки софта. И в этом им приходят на помощь сервисы PaaS, решающие эти задачи.
Использование PaaS дает возможность приобретать отдельные готовые компоненты непосредственно у облачного провайдера, который поддерживает платформу, или у компаний, применяющих средства разработки, совместимые с соответствующей платформой. Это позволяет упростить и стандартизировать процесс разработки, а также минимизировать инвестиции на этапе запуска проекта, сократить время вывода облачного продукта на рынок и гибко подстраиваться под меняющиеся потребности рынка в дальнейшем. Облачные сервисы помогают внедрять пилоты и демонстрировать конечному заказчику преимущества предлагаемых решений.
Важный фактор роста популярности PaaS – широкое использование технологий контейнерной виртуализации, в частности переход на Kubernetes. Эта технология позволяет разработчикам, не обладающим глубокими знаниями системного администрирования, разворачивать сложные высокодоступные и отказоустойчивые топологии в облаке практически без привлечения системных администраторов. Спрос на PaaS-cервисы растет, так как они заменяют дорогую и немасштабируемую консалтинговую экспертизу извне, считает Илья Летунов, руководитель Mail.ru Cloud Solutions.
Большая часть сервисов PaaS все еще предлагается иностранными облачными
провайдерами. В России рынок PaaS растет, хоть и медленнее, чем в
среднем по миру. При этом размер его пока существенно меньше, чем рынков
SaaS и IaaS. По экспертным оценкам, объем рынка PaaS в России может
составить в следующем году около $100 млн. Дмитрий Юдин, директор по развитию бизнеса технологий и облачных решений, Oracle в России и СНГ |
Среди достоинств PaaS для пользователей можно выделить следующие:
- отсутствие необходимости самостоятельно создавать и конфигурировать виртуальные машины – пользователю достаточно портала или скриптов для настройки баз данных;
- отсутствие необходимости разбираться в низкоуровневой детализации PaaS-решения;
- провайдер PaaS автоматически обновляет используемое программное обеспечение и СУБД, снимая эту задачу с пользователя, плата за лицензии взимается в рамках сервиса;
- задачи масштабирования и обеспечения высокой доступности сервиса входят в зону ответственности провайдера.
В России к сервисам PaaS прибегают в основном крупные и средние предприятия. Так, по оценке iKS-Consulting, их совокупная доля на рынке составляет 73% (рис. 1). Оставшиеся 27% делят практически в равных долях малые предприятия и корпорации.
Рис. 1. Структура пользователей PaaS в публичных облаках по размеру компании, 2017 г.
С распространением облачных средств быстрой разработки ПО можно ожидать большего проникновения услуг PaaS в корпоративный сектор. Не исключен также рост интереса со стороны микропредприятий, хотя пока процент их в структуре пользователей услуг PaaS мал и не достигает 3%.
В отличие от IaaS и SaaS, торговля среди пользователей PaaS лишь на третьем месте: лидерство здесь за банками и ИТ-компаниями. Доля же сегментов «Транспорт и логистика», «Образование, инжиниринг, наука, медиа, реклама», «Госсектор», «Строительство», «Медицина и фармацевтика» и «Промышленное производство» в совокупности едва достигает 3%.
Рис. 2. Отраслевая структура коммерческих пользователей PaaS в 2017 г. (доли в выручке)
В региональной структуре пользователей услуг PaaS ожидаемо лидируют Москва и Московская область, занимая 55% рынка. Доли Санкт-Петербурга и Ленинградской области вместе немного превышают 11%. Вплотную за ними следуют Центральный (за вычетом Москвы и области), Южный и Дальневосточный федеральные округа с равными долями – по 8% рынка. А вот иностранных пользователей у услуг PaaS практически нет: выручка cегмента «Вне территории РФ» близка к нулю.
Поставщики PaaS
Наиболее популярными зарубежными PaaS-решениями в настоящий момент можно считать AWS Elastic, Google App Engine, Microsoft Azure (Azure Websites и Azure Cloud Services), Heroku, IBM Bluemix, Red Hat OpenShift и Jelastic. PaaS-сервисы управления данными предлагает Oracle.
Одной из первых крупных российских компаний, обративших внимание на PaaS, была «Яндекс», которая еще в 2012 г. разработала и запустила Cocaine – PaaS-систему с открытым исходным кодом, аналог Google App Engine и Heroku, которую использует для внутренних разработок. Платформа поддерживает популярные языки программирования: C++, Java, Python, Ruby, Node.js, Go. В числе преимуществ Cocaine – наличие фреймворков, возможность приложений общаться между собой не только через http (это, например, позволяет построить свою платформу облачных вычислений), сильная поддержка изоляции приложений.
В последнее время и другие облачные провайдеры в поисках конкурентных преимуществ начали обращать внимание на предоставление по сервисной модели облачных платформ, причем и в публичных облаках.
Знаковым для российского рынка PaaS стал 2018 г. – провайдеры начали предлагать сервисы, связанные с контейнерной виртуализацией. Такие сервисы появились в публичных облаках Mail.ru, «Яндекса» и китайской Huawei, развернувших свои облака в ЦОДах Москвы и ЦФО. Эти компании активно конкурируют за целевую аудиторию с PaaS-провайдерами, предоставляющими свои сервисы из-за рубежа. Блокировки Роскомнадзора и российское законодательство способствовали перераспределению долей рынка в пользу локальных игроков.
Mail.ru предложила PaaS-сервисы на open source-решениях, развернутых на облачной платформе OpenStack. Большое внимание привлек запуск компанией проекта Kubernetes as a Service (KaaS), который значительно упрощает задачу разработчиков систем с микросервисной архитектурой.
Фактически многие компании хотят получить полноценные озера данных под
ключ, однако узким местом здесь является отсутствие культуры работы с
данными. При этом Big Data PaaS как раз является катализатором
изменений, предоставляя возможность создания полноценных песочниц для
обработки больших данных всего за несколько часов, а не месяцев. Это
позволяет компаниям строить и проверять гипотезы гораздо быстрее и
формировать культуру работы с данными. Илья Летунов, руководитель, Mail.ru Cloud Solutions |
Активно переносит свои PaaS-сервисы на территорию России Huawei. Нашим разработчикам стали доступны dbPaaS-сервисы: предоставление реляционных баз данных для MySQL, PostgreSQL, Microsoft SQL Server, баз данных, совместимых с MongoDB, а также сервисы распределенного кэша (imdgPaaS) для Redis и для Memcached.
Компания DataLine предлагает установить в своем облаке CloudLine на платформе VMware кластер Kubernetes и оптимизировать его под задачи заказчика. Компания обеспечивает обновление версий Kubernetes, управление инцидентами, поддержку актуальности сертификатов, организацию резервного копирования кластера и пользовательских данных. Другие PaaS-решения, предлагаемые компанией из своего облака: «1С как сервис» и «DevOps как сервис» – сопровождение всего DevOps-цикла: от обучения, внедрения DevOps-практик до готовой инфраструктуры Kubernetes c необходимыми CI/CD-инструментами. Выручка DataLine от услуг PaaS с 2017-го по 2018 гг. увеличилась на 25%.
Kubernetes as a Service вывел на рынок и «Ростелеком». Сервис развернут на национальной облачной платформе RTCLOUD. Входящая в ГК «Ростелеком» компания «Тионикс» реализовала мониторинг, бэкап и аналитику на интегрированных в платформу «Тионикс VDC» на базе OpenStack open source-решениях ELK, Zabbix, Bareos и Ansible и работает над коробочным решением.
Наша задача – вывести свои сервисы PaaS на уровень, при котором любой появившийся сервис мы могли бы интегрировать в облачную платформу Tionix и предоставить клиенту, чтобы он не тратил время на его развертывание и поддержку. Антон Петров, генеральный директор, «Тионикс» |
Возможность быстрого создания кластера Kubernetes появилась и в виртуальном приватном облаке Selectel: для этого в панели управления достаточно указать требуемые характеристики и количество нод.
Компания «Онланта» (ГК ЛАНИТ) предлагает «БИТ.Телефония как сервис» – платформу виртуальной облачной АТС, видеоконференцсвязь для бизнеса VideoMost. Среди других PaaS-сервисов – конструктор сайтов, резервное копирование в облако (ВaaS) и объектное хранилище ONLANTA S3.
PaaS-тенденции
Одна из тенденций облачного рынка – переход к мультиоблаку, объединяющему облачные платформы разных провайдеров с целью гибкого выбора наилучших по функциональности решений и оптимизации расходов. Эта тенденция справедлива и для рынка PaaS. Клиенты все чаще ищут решения Multicloud PaaS, а инструменты MegaPaaS (комплексный PaaS) помогают управлять рынком облачных платформ.
Сохраняется тенденция к интеграции сервисов IaaS и Paas. Примером на нашем рынке может служить Kubernetes as a Service в публичных облаках компаний Mail.ru, DataLine и «Ростелекома».
Нельзя не отметить растущий спрос на огромный пласт сервисов для аналитики данных и машинного обучения. Так, Mail.ru зафиксировала потребность своих клиентов в PaaS для больших данных (Big Data PaaS). Компаниям уже недостаточно простой инфраструктуры для работы с большими данными, им нужны тесно интегрированные платформы для построения процессов их извлечения, распределенной обработки и хранения и организации самих хранилищ данных.
Наряду с классическими источниками больших данных (ритейл, FMCG) их генератором все чаще становятся IoT-устройства. Бурный рост рынка IoT приводит как к росту BigData PaaS, так и к появлению специализированных PaaS для IoT. Технологии интернета вещей активно развиваются, поэтому спрос на облачные платформы IoT PaaS для разработки решений в этой области будет только увеличиваться.
Настоящий бум переживают решения на основе технологий искусственного интеллекта. Предложения AI PaaS в основном сосредоточены на обучении, обработке естественного языка и компьютерном зрении. У нас в стране растет популярность ИИ-чат-ботов, которые существенно снижают нагрузку на персонал колл-центров. Примером могут служить чат-боты на платформе «Алиса» компании «Яндекс», которая предоставляет инструменты для распознавания голоса и анализа сообщений. Системы распознавания образов применяются для идентификации преступников, номеров машин. Для поддержки разработчиков нужны облачные платформы, и не удивительно, что AI PaaS используются все
шире.
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!