Платформа IBM Bluemix развивалась стремительно, и это не удивляет: в 2014 году появились сообщения в прессе, что компания инвестирует в разработку облачной платформы 1 млрд долл. В январе 2014-го версия Bluemix была предложена для бета-тестирования, а летом того же года стала доступна рабочая версия. Такие масштабы вложений и такие темпы тоже понятны, ведь IBM Bluemix работает в облаке как PaaS — «платформа как услуга», а это бурно развивающийся перспективный рынок, и лидерство на нем значит немало.

Платформа IBM Bluemix упрощает разработку ПО в облаке
В одной только России более 5 тыс. компаний и индивидуальных разработчиков используют Bluemix для создания приложений

Сейчас только в России более 5 тыс. компаний и индивидуальных разработчиков используют Bluemix для создания приложений. И более 100 компаний-стартапов являются обладателями грантов на использование облачных ресурсов IBM. Для России это большие цифры. Но адресована платформа, разумеется, всем разработчикам планеты, а их десятки миллионов.

Вторая составляющая стратегии, принесшей успех: людям не навязывают старые или новые инструменты разработки IBM, им предоставляется весьма широкий выбор самых разнообразных сред и средств разработки, популярных в мире. Особое внимание уделено ПО с открытым кодом. А поскольку Bluemix — открытая экосистема, то выбор со временем становится все шире и шире. Такое обстоятельство может стать важным и для российских компаний, следующих принципу снижения зависимости от производителя ПО.

Сама архитектура платформы отражает эти выигрышные тенденции. Bluemix базируется на версии открытого проекта Cloud Foundry, которую в IBM оптимизировали для работы на облачной инфраструктуре SoftLayer, являющейся с 2013 года собственностью IBM.

Сначала был код

Средствами разработки возможности Bluemix отнюдь не исчерпываются, но с них все начиналось, и список их первым появляется перед взором того, кто решился воспользоваться платформой. Если, конечно, не считать меню выбора ЦОД, где физически будут размещаться его приложения (имеются ЦОД на юге США, в Великобритании и Австралии).

Платформа IBM Bluemix упрощает разработку ПО в облаке
Bluemix популярен как у стартапов, так и у больших компаний, запускающих проекты, которые должны поспевать за быстрыми изменениями рынка

Средства разработки (и, более широко, поддержки жизненного цикла приложения) соответствуют темпам Bluemix и ее ориентации на новшества. В их основе идеология DevOps (development и operations), более динамичная и гибкая, чем такие классические принципы, как «водопадная» разработка (следующий ее этап начинается только тогда, когда завершится текущий). Современные варианты DevOps, кроме тесного взаимодействия тех, кто разрабатывает, и тех, кто эксплуатирует, подразумевают применение метода Agile, для которого характерна итеративность на всех этапах разработки, тестирования и развертывания приложений. Они помогают учитывать частые изменения кода и быстро сменяющиеся версии готового программного продукта. Поэтому Bluemix так популярен у стартапов. Но колоссальную выгоду получают и большие компании, запускающие проекты, призванные обеспечить их быструю адаптацию к динамично меняющимся требованиям рынка. Есть пример, когда банку GE Capital удалось очень быстро запустить веб-сайт и развернуть обслуживающие его приложения, значительно опередив намеченные сроки.

Среди инструментов разработки и ее планирования есть, разумеется, и представители семейства Rational, ударной силы IBM. Так, можно использовать Rational System Architect для открытой коммуникации между командами и ускорения бизнес-процессов (а также для аналитики) и Rational DOORS для повышения прозрачности и легкого отслеживания требований. IBM свидетельствует, что по опыту пользователей Collaborative Lifecycle Management повышает эффективность работы отчетных сервисов в десять раз. Для хранения и управления кодом используется популярный репозиторий Git.

Неудивительно, что те, кто привыкли работать в традиционных средах IBM (Eclipse, сервер приложений WebSphere), найдут все необходимое и в Bluemix (в том числе WebSphere Liberty Profile). Но корпорация предлагает еще и многое другое: IBM SDK for Node.js; IBM XPages, запускающие эти web-контейнеры в Bluemix; разнообразные языки, серверы приложений и фреймворки: Go, PHP, Python, Ruby on Rails, Tomcat, Swift. Поддерживается и Microsoft Visual Studio, и ASP.NET Core со свободным кодом.

К мобильным приложениям и умным вещам

Если делить приложения, которые поможет разработать Bluemix, по целевым платформам, то бросаются в глаза два больших раздела: мобильные приложения и Интернет вещей. IBM и здесь стремится быть на пике моды или даже опережать ее. Для разработчиков мобильных приложений есть все необходимое: мобильная аналитика, всевозможные инструменты тестирования под Android, iOS и Windows. И главное, есть даже своя Mobile Dashboard — панель управления мобильными проектами. IBM Mobile Foundation for Bluemix запускает популярную среду разработки IBM MobileFirst Platform Foundation. Отмечены случаи, когда компаниям удавалось сократить время разработки пилотной версии мобильного приложения с месяцев до недель (такой эффект наблюдался у американской транспортной компании Bay Area Repid Transit). Сервис IBM Push Notifications for Bluemix, который управляет рассылкой сообщений, может интегрироваться с входящей в Bluemix NoSQL СУБД Cloudant, а кто в наше время не рассылает сообщений, чтобы привлечь новых клиентов и поддерживать лояльность уже имеющихся?

Если мобильные приложения — это наступившее будущее, то Интернет вещей (IoT) — будущее наступающее. Оно наступает на компании, выпускающие высокотехнологичную продукцию (авиастроение, автомобильная, электронная промышленность), но об IoT сейчас начали задумываться не только они. А значит, инструменты для работы с IoT представляют собой решения для отраслей: IoT for Automotive, IoT for Electronics и даже набор для страховых компаний IoT for Insurance. Для тех, кто хочет создать приложения для IoT быстро и без написания строчек кода, есть конструктор приложений от компании IQP — одного из многочисленных партнеров IBM по Bluemix.

Где хранить? Глаза разбегаются

Раздел приложений — самый впечатляющий. Здесь IBM опять проявила минимум консерватизма: очень много названий, знакомых по тематике Больших Данных. Поддерживается и Hadoop, и набравший обороты Apache Spark. Удивителен своим многообразием набор СУБД: SQL соседствует с NoSQL, коммерческие СУБД — с их собратьями с открытым кодом, а предлагаемые как сервис — с отданными в полное самообслуживание.

Классическая IBM DB2 предлагается как dbPaaS, то есть в качестве платформы, а не просто СУБД. Разработчики Bluemix дали возможность пользователям контролировать все настройки DB2 так, как если бы она была не в облаке, а в серверной комнате предприятия. А следовательно, вся ответственность за эффективность работы ложится на пользователя-разработчика. Особое значение придается шифрованию и другим мерам безопасности данных.

PostgreSQL, популярнейшая СУБД с открытым кодом, предлагается в двух вариантах: как площадка для разработчиков и экспериментаторов и как готовое решение от Compose — компании (приобретенной IBM в 2014 году), последовательно воплотившей принцип «СУБД как услуга». В предложения от Compose входят: документоориентированная гибкая и легко масштабируемая MongoDB (она может работать и как кэш SQL-базы); Redis — сетевое журналируемое хранилище данных типа «ключ — значение»; Elasticsearch — еще одна документоориентированная СУБД с продвинутыми возможностями поиска. И это лишь часть списка СУБД. Упомянем еще и графическую СУБД — сервис IBM Graph на базе Apache TinkerPop. Обход графов — актуальная процедура, особенно для тех, кто использует возможности социальных сетей.

Вершина: аналитика

Список инструментов аналитики не менее обширен. Знакомая SPSS появляется в Bluemix в виде сервиса IBM Predictive Analytics. IBM Streams, обрабатывающая потоки данных в реальном времени, представлена как сервис Streaming Analytics. Есть средства анализа данных геолокации, погодных данных. Имеется даже специальное приложение IBM Insights for Twitter, обрабатывающее выборочный поток данных через decahose или отфильтрованный поток через PowerTrack. Есть и экзотика: приложение Blockchain для систем типа биткоин (пока в экспериментальном режиме).

Ну и кульминация интеллектуального пира — Watson. Для примера возьмем IBM Watson Tone Analyzer Service. На вход подаются тексты, в которых люди выражают свое отношение к кому-то или к чему-то. Пусть это будут электронные письма клиентов. Tone Analyzer, применяя алгоритмы лингвистического анализа, определяет основную эмоцию текста (она выбирается из перечня, скажем: «гнев», «страх», «радость», «грусть», «отвращение»), социальные тенденции («открытость», «сознательность», «экстравертность», «сговорчивость», «диапазон эмоций») и языковой стиль («конфиденциальный», «аналитический», «осторожный»). Воспользоваться результатами можно как обратной связью, помогающей откорректировать, к примеру, ведение переговоров или общение с клиентами. Можно обобщить реакцию аудитории. IBM предлагает даже использовать этот сервис при программировании роботов, общающихся с людьми. Напомним, что ПО Watson прославилось победой в финале шоу-викторины Jeopardy! (российский аналог — «Своя игра») над экспертами-людьми. Сервис Conversation помогает создавать таких роботов не ради победы над людьми, а ради упрощения и удешевления коммуникации с клиентами. Но и без говорящих роботов от такой тонко настроенной аналитики определенно выиграют компании, чей бизнес зависит от спроса на товары и услуги или чувствителен к качеству обслуживания клиентов. Watson умеет распознавать и синтезировать речь, преобразуя ее в текст и обратно, распознавать изображения и может помогать людям делать выбор (сервис Tradeoff Analytics) в случаях, когда приходится учитывать несколько критериев. В таких ситуациях используется алгоритм многокритериальной оптимизации, или, иначе, «оптимизации по Парето».

Узнайте больше об облачных когнитивных технологиях IBM
Подробнее об IBM Bluemix