Алексей Черевков, руководитель направления IaaS компании «Сервионика» (ГК «Ай-Теко»)
Разработчики приложений и корпоративные пользователи заинтересованы в надежных, высокопроизводительных, гибких, безопасных и экономичных облачных решениях. Какие облачные платформы удовлетворяют эти требованиям наиболее полно?
Platform as a Service (PaaS – «платформа как услуга») — модель предоставления облачной среды для пользовательских приложений (созданных или приобретенных), которые реализованы с помощью языков программирования, библиотек, служб и средств, поддерживаемых провайдером услуг. PaaS предоставляет потребителю возможность использовать компоненты информационно-технологической платформы (операционные системы, системы управления базами данныхСУБД, связующее программное обеспечениеПО, средства разработки и тестирования), создавать их виртуальные экземпляры, устанавливать, разрабатывать, тестировать, эксплуатировать на них прикладное программное обеспечениеПО, при этом динамически изменяя количество потребляемых вычислительных ресурсов. В модели PaaS провайдер управляет всей информационно-технологической инфраструктурой и определяет набор доступных для потребителей видов и управляемых параметров платформ. Потребитель может контролировать развернутые в облаке приложения и некоторые параметры среды хостинга.
Сегмент PaaS с каждым годом играет все более важную роль на рынке интеграции приложений и ПО промежуточного слоя. Об этом свидетельствуют статистические данные, приведенные в отчете Gartner по рынку PaaS для корпоративных приложений (eaPaaS – enterprise application platform as a service), опубликованном в начале 2014 г. Выводы экспертов Gartner представлены в классическом для компании магическом квадранте.
В данной статье сосредоточимся на платформах, наиболее популярных на российском рынке облачных решений.
Коммерческие (проприетарные) облачные платформы
Force.com (Salesforce.com)
Salesforce.com уже не первый год уверенно держит лидерство на рынке облачных вычислений. Недавно компания объявила о выходе нового продукта Salesforce1 Platform, объединяющего возможности двух своих PaaS-решений – Force.com и Heroku. Платформа предназначена для разработчиков, независимых поставщиков программного обеспечения и клиентов, которые хотят использовать сторонние сервисы (Dropbox, Evernote, LinkedIn и др.) под единым управлением Salesforce.
К уникальным достоинствам платформы можно отнести Database.com – облачную систему управления базами данныхСУБД и мобильные приложения, обеспечивающие унифицированный способ использования приложений Salesforce.com (созданных клиентами самостоятельно либо разработанных партнерами Salesforce.com), а также встроенную внутреннюю систему коммуникации пользователей Salesforce.
Среди недостатков – слабая интеграция Force.com и Heroku: эти платформы пока не могут работать ни как единое целое, ни как независимые решения. Также пока нет функций поддержки приложения On-premises software (размещенного на локальных вычислительных мощностях и не предоставляющегося в модели SaaS).
Windows Azure (Microsoft)
Вплотную к лидеру рынка PaaS приблизилась Microsoft Windows Azure – гибкая и многофункциональная облачная платформа для размещения решений любого уровня сложности. Главное отличие Microsoft Windows Azure от других облачных платформ – она не укладывается в рамки aPaaS (Application Platform as a Service). Платформа включает в себя средства хранения данных SQL Database (dbPaaS), сервисы обмена сообщениями (Windows Azure Service Bus), распределенный кэш (Windows Azure Cache) и функционал iPaaS (Windows Azure BizTalk Services).
В дополнение к основным сервисам aPaaS платформа обеспечивает поддержку сервисов интеграции, вычислений в памяти (in-memory), обмена сообщениями и других функций, а также включает в себя быстрорастущую платформу IaaS, что позволяет разработчикам использовать требуемый уровень абстракции и комбинировать PaaS- и IaaS-подходы в рамках одной задачи.
Омрачает картину недостаточная инструментальная поддержка быстрой разработки приложений на основе моделей в виде GUI-инструментов (несмотря на наличие инструментария Visual Studio).
Google Cloud Platform
Собственная облачная платформа Google, которая позволяет разработчикам запускать ПО внутри виртуальных машин на инфраструктуре Google. В составе платформы – Compute Engine (решение IaaS); Cloud SQL (реляционные PaaS базы данных dbPaaS, работающие с помощью ПО с открытым исходным кодом MySQL); NoSQL Cloud Datastore (облачная система хранения данных); Cloud Endpoints API – облачный генератор API и BigQuery (решение для анализа данных больших объемов). Среди интересных особенностей решения – интеграция с googleApps на уровне API.
Hana Cloud Platform (SAP)
Облачная платформа Hana от SAP включает одноименный aPaaS; портал PaaS (SAP Hana Cloud ); SAP Mobile Platform, Enterprise Edition, сервис интеграции iPaaS (SAP Hana Cloud Integration); аналитический функционал (SAP Lumira Cloud); встроенный функционал для создания корпоративных социальных сетей(SAP Jam), СУБД in-memory PaaS (SAP Hana One AWS).
Среди преимуществ платформы – поддержка популярных открытых стандартов (например, Java EE); совместимость Enterprise Edition с NetWeaver Java Application Server, позволяющая создавать гибридные архитектуры. Компонент in-memory Computing Engine делает возможным создание и выполнение вычислений на основе потоковых данных. Вендор говорит об использовании в данном решении передовых алгоритмов сжатия и структуры данных, позволяющих минимизировать объем памяти, который необходим для работы системы.
Недостатки платформы – среда тестирования не поддерживает работу с необлачными (on-premises) приложениями; есть ограничения в реализации преимуществ облачной архитектуры (например, отсутствие автомасштабирования).
SmartCloud Application Services (IBM)
IBM SmartCloud Application Services (SCAS) – решение, обладающее серьезным потенциалом. Анонсированная в начале 2013 г. платформа PaaS может разворачиваться на базе SmartCloud Enterprise и SmartCloud Enterpise+ и существенно упрощает установку, настройку, конфигурирование и управление приложениями, связующим ПО и прикладными инструментами.
SCAS предоставляет прикладную инфраструктуру с полным набором управляемых сервисов для разработки и развертывания приложений в облачной среде, а ее сильной стороной являются сервисы для различных сценариев работы с «большими данными».
Облачные платформы с открытым кодом
Heroku (Salesforce.com)
Heroku – это PaaS-сервис с открытым кодом для развертывания приложений Java, Ruby, Python, Clojure, node.js и Scala, которые могут быть расширены дополнительными ресурсами.
Сервис уникален ориентацией на горизонтальное масштабирование. Приложения развертываются в отдельных веб-контейнерах (dyno): при необходимости расширения системы нужно просто добавить больше dyno, позволив Heroku обрабатывать больше одновременных веб-запросов. Для каждого приложения обеспечивается динамическая балансировка нагрузки.
OpenShift Online (Red Hat)
OpenShift Online – открытое PaaS-решение класса on-premise для корпоративного сектора, реализованное на базе Red Hat Linux. Платформа включает в себя два пакета с открытым кодом, предназначенных для управления процессом разработки и развертывания приложений — Maven и Jenkins.
Платформа поддерживает программные службы серверов приложений Jboss Enterprise Application Platform и Tomcat, веб-сервер Apache, СУБД MySQL и PostgreSQL, позволяет управлять выделением ресурсов максимально детально. OpenShift Online оптимизирована для локального развертывания в частном облаке корпоративного пользователя или в стороннем дата-центре, а также в рамках публичных или гибридных облаков.
Среди недостатков – отсутствие высокопроизводительных инструментов для OpenShift aPaaS в рамках управляемых моделей, кроме того, неуверенная поддержка технологий работы с «большими данными», обработки динамически изменяющихся потоков данных в режиме реального времени, мобильных технологий.
CloudFoundry (VMware)
CloudFoundry – открытая PaaS-платформа, которая позволяет сформировать инфраструктуру для выполнения в облачных окружениях конечных приложений на Java (Spring), Grails, Ruby (Rails, Sinatra), JavaScript (Node.js), Scala и других языках, работающих поверх JVM.
У CloudFoundry хорошо организована поддержка популярных систем разработки (Spring, Ruby on Rails, node.js) с использованием различных дополнительных сервисов (MySQL, Redis, MongoDB, RabbitMQ). Уникальная особенность – облако Cloud Foundry может быть развернуто на специализированной площадке CloudFoundry.com, на корпоративном сервере, на инфраструктуре поставщика публичных IaaS-услуг, а адаптированная версия Micro Cloud позволяет разместить облако просто на ноутбуке разработчика.
Apache Hadoop
Apache Hadoop – открытая платформа для распределенной обработки больших объемов данных с использованием парадигмы MapReduce (распараллеливания задач на множество мелких обособленных фрагментов, каждый из которых может быть запущен на отдельном узле кластера).
В 2013 г. увидела свет новая версия Apache Hadoop 2.0, которая позволяет одновременно работать в реальном времени с большими нагрузками, с множеством приложений на серверах. Платформа имеет встроенные механизмы для быстрого и эффективного развертывания массивов данных на высоких скоростях. В числе новых компонентов Apache Hadoop 2.0 – YARN (Yet Another Resource Negotiator), новый виток развития системы Hadoop MapReduce. Hadoop и YARN предоставляют пользователям возможность стабильно работать в реальном времени с огромными массивами данных.
Систему Hadoop активно используют многие крупные компании, в том числе Amazon, AOL, Apple, Ebay, Facebook, Hewlett-Packard и др. Hadoop лежит в основе платформы Oracle Big Data, некоторых продуктов Microsoft, IBM, Teradata и SAP.
Cocaine (Яндекс)
В 2013 г. Яндекс представил российскому рынку облачную платформу с интригующим названием Cocaine (Configurable Omnipotent Custom Applications Integrated Network Engine). Cocaine – это PaaS-система с открытым исходным кодом, которая позволяет создавать собственные облачные хостинги приложений.
Благодаря потоковому интерфейсу обмена данными платформа хорошо приспособлена для обработки больших объемов данных. Использование балансировщика нагрузки дает возможность реализации отказоустойчивой высокопроизводительной шины передачи сообщений и событий. Cocaine поддерживает работу нескольких версий одного и того же приложения за счет применения открытой технологии виртуальных контейнеров Docker на основе Linux Containers – они надежно изолируют приложения и обеспечивают их независимое исполнение. Библиотеки или службы можно реализовать в Cocaine как сервис, для этого существует специальное API. К недостаткам можно отнести отсутствие поддержки Windows (не планируется).
Прежде чем предложить платформу рынку, Яндекс поставил опыт на себе: Cocaine успешно прошел апробацию и используется в проектах самого поисковика, в частности в качестве основы облачного API «Яндекс.Браузера».
Jelastic
Отечественное PaaS-решение для хостинга Java- и PHP-приложений, успешно конкурирующее с мировыми лидерами PaaS.
Среди достоинств платформы – вертикальное и горизонтальное масштабирование приложений, отсутствие Vendor Lock-In, а также алгоритм «умной живой миграции» окружений на загруженных машинах. За два года существования на рынке PaaS у Jelastic появилось более 65 тыс. пользователей со всего мира.
Погода на завтра: облака с открытым кодом
Аналитики прогнозируют: в ближайшие годы «погоду» на рынке PaaS будут делать решения с открытым исходным кодом как наиболее экономичные, гибкие и адаптивные решения. Открытые PaaS уже сегодня опережают своих проприетарных собратьев по вариативности использования различных языков программирования, сред разработки и API-интерфейсов.
Это свойство становится все ценнее для ИТ-подразделений, от которых требуется все больше оперативности и меньше затрат на надежное обеспечение текущих и новых потребностей бизнеса. Для развертывания новых ИТ-сервисов необходимы возможность быстрого подключения к различным средам разработки и исполнительным сервисам, а также интеграция облачных сервисов с приложениями On-premises, причем сделать это нужно с минимальными затратами. Таким задачам в большей степени соответствуют открытые PaaS: они изначально нацелены на быстрое развитие функциональных возможностей и снижение издержек.
Слияние IaaS и PaaS
Аналитическое исследование, проведенное по инициативе Red Hat, выявило серьезный рыночный потенциал для роста облаков, построенных на IaaS (Infrastructure-as-a-Service) с открытым кодом. Здесь пальму первенства прочно удерживает облачная платформа с открытым кодом OpenStack, которая пользуется поддержкой многих ведущих вендоров PaaS-решений: IBM, Hewlett-Packard, Dell, Intel, AT&T, Cisco, Red Hat и других известных компаний. Одно из ключевых достоинств OpenStack – масштабируемость, благодаря которой на этой платформе можно выстраивать и обслуживать инфраструктуру из сотен тысяч виртуальных серверов. Это важно и для публичных cloud-сервисов, подобных Amazon EC2, и для частных облаков компаний любого масштаба, вплоть до транснациональных корпораций. Среди поддерживаемых систем виртуализации: KVM, QEMU, UML, Xen, Microsoft Hyper-V, Citrix XenServer, контейнеры LXC и VMWare/vSphere ESX / ESXi. Фактически для облачного open source-хостинга IaaS OpenStack сегодня является тем же, чем стала Linux среди операционных систем.
Однако этот союз «железа» и платформенного софта может в скором времени трансформироваться в сторону гибридных решений. В американской ИТ-блогосфере сравнительно недавно развернулась бурная дискуссия вокруг OpenStack, в ходе которой платформа получила звание «убийцы традиционных PaaS-платформ».
Авторы и сторонники этого постулата считают, что в развитии IaaS наметилась важная тенденция: появление все большего числа программных компонентов, которые в будущем смогут вытеснить с рынка PaaS-решения. Предпочтение, считают ИТ-специалисты, будет отдаваться решениям Open sourceс открытым кодом, которые позволят снизить конечную стоимость сервисов для пользователя благодаря использованию свободного ПО и обеспечить необходимую динамику обновлений благодаря активности масштабного сообщества разработчиков.
Косвенным признаком правоты блоггеров служит появление «облачных конструкторов», объединяющих возможности IaaS и Paas. На российском рынке пионером «облачного конструирования» на открытом коде стала компания «АйТеко»: в 2012 г. она запустила сервис MakeCloud, развернутый на OpenStack. Гибкость платформы позволила разработчикам в течение года значительно расширить функционал решения: начав со стандартных опций создания и объединения виртуальных машин, сегодня MakeCloud также предоставляет пользователям DNS-хостинг, пакетированные решения для среднего и малого бизнеса, аппаратный VPN и другие возможности.
Связующая нить
Чем больше приложений и данных переносятся в облако, тем более значима для организаций проблема интеграции информационных ресурсов, размещаемых в публичных облаках и на локальных площадках. Исследование Gartner, проведенное среди компаний, переходящих на SaaS, выявило, что 56% организаций главным препятствием перехода на SaaS считают сложности интеграции SaaS с существующими корпоративными приложениями и корпоративными данными.
Решить проблему призван новый класс облачных средств – платформы Integration Platform as Service (iPaaS). iPaaS представляет собой платформу для построения и развертывания интеграционных решений в облаке, а также между облаком и локальными ресурсами предприятия. Платформы позволяют управлять полным жизненным циклом интеграции. Рынок iPaaS находится в стадии зарождения, поэтому четкие ориентиры по выбору платформы пока только формируются. Вероятно, стоит прислушаться к аналитикам Gartner, которые советуют выбирать решения производителей iPaaS, обладающих экспертными знаниями в ESB и SOA.