Компания IBM анонсировала набор новых инструментов для своей событийно-управляемой модели программирования Bluemix OpenWhisk, использующей контейнеры Docker.

Эти новые инструменты позволят разработчикам создавать интуитивно-понятные приложения, с легкостью подключающиеся к Интернету вещей (IoT), а также воспользоваться преимуществами более серьезных сервисов, таких как когнитивные вычисления, аналитика и др., при этом не нужно будет развертывать и поддерживать дополнительную инфраструктуру, утверждают представители IBM.

«OpenWhisk позволяет разработчику делать следующее: не прибегая к помощи какой бы то ни было серверной архитектуры, он может загрузить свою программу, указать, когда этой программе нужно запуститься (например, в ответ на какие-либо изменения в базе данных внутри облака или в случае, если кто-то запрашивает страницу в Интернете), а затем при наступлении соответствующего события эта программа запускается, и среда IBM автоматически выделяет под нее необходимые ресурсы», — пояснил Майк Гилфикс, вице-президент подразделения трансформации мобильных и бизнес-процессов в IBM.

«Поэтому мы гарантируем, что сервис масштабируется до необходимых разработчику объемов, при этом он платит только за нужные ему вычислительные ресурсы, использованные для фактического исполнения его кода», — уточнил он.

На конференции DockerCon 2016 компания IBM представила новые инструменты для OpenWhisk — NPM Module и Node-RED. По утверждению компании, они позволят разработчикам быстрее создавать событийно-зависимые приложения, автоматически выполняющие пользовательский код в ответ на внешние действия и события.

Сверх того, по словам Эндрю Хейтли, технического директора по облачной архитектуре IBM, компания также планирует выпустить новые обновления OpenWhisk, упрощающие программистам работу с пользовательским интерфейсом этой среды. К ним относятся пошаговая визуализация рабочего процесса, новые мастера настройки сторонних сервисов и каналов данных, а также новый редактор последовательности действий.

Node-RED — это открытый IoT-инструмент от IBM для создания событийно-зависимых приложений. Он дает возможность программистам начать работу над прототипами своих идей без необходимости сперва писать код. Node-RED может инициировать триггеры и действия внутри OpenWhisk, предоставляя приложениям доступ к аналитической IoT-платформе IBM Watson и множеству других сервисов в рамках платформы Bluemix.

Хейтли заявил, что усилия IBM направлены на то, чтобы сделать платформу OpenWhisk более интуитивно понятной для всех разработчиков независимо от предпочитаемого ими языка программирования, чтобы они могли с пользой для себя приобщиться к событийно-зависимому, бессерверному стилю разработки.

«По большому счету мы продолжаем двигаться в сторону повышения удобства этой системы для программистов-полиглотов, самостоятельно выбирающих язык, на котором они хотят писать», — сказал он.

Исходя из этих соображений, IBM продолжает осуществлять первоклассную поддержку Node.js ввиду ее популярности среди разработчиков кода для IoT и различных устройств, рассказал Хейтли.

«Что касается направления Node, мы серьезно нацелились на развитие нашей платформы Node-RED, — сказал он. — Наша работа заключается в том, чтобы собрать вместе многочисленные открытые технологии, пользующиеся поддержкой крупных сообществ разработчиков, и продолжить их совершенствование, улучшая их взаимную интеграцию. IoT представляет собой, пожалуй, самый яркий пример того, как люди желают осуществлять крайне бережливую интеграцию, основанную на информационных сообщениях».

«У нас в сообществе Node есть немалый контингент пользователей Node.js, — сообщает Тодд Мур, вице-президент по открытым технологиям в IBM. — И мы понимали, что можем значительно облегчить им жизнь. Мы видим, что Node является одним из доминирующих языков в рамках Bluemix. Более половины из того, что развертывается [на Bluemix], написано на Node».

Что касается модуля NPM от IBM, то он предоставляет клиентскую библиотеку на JavaScript для интерфейсов REST API к платформе OpenWhisk. Он открывает разработчикам простой способ вызова сервисов на платформе OpenWhisk без необходимости вручную конструировать HTTP-запросы, объясняет IBM. Разработчики смогут писать приложения, напрямую интегрированные с OpenWhisk с помощью Node.js, при этом им не нужно будет заучивать весь набор endpoint-ов для REST API платформы, говорит Хейтли.

Гилфикс утверждает, что OpenWhisk от IBM задействует модель, коренным образом отличающуюся от традиционных моделей облачных вычислений. В традиционной облачной модели организациям приходится поддерживать постоянно работающую в облаке виртуальную машину. Организации оплачивают эту виртуальную машину, независимо от того, используют ли они ее содержимое, а уж о затратах на конфигурацию, поддержку и запуск стека и говорить не приходится.

«Теперь же разработчики могут сосредоточиться на создании высококачественного кода и оперативном запуске своих микросервисов, а уж наше облако позаботится о масштабировании, — заявил Гилфикс. — Мы видели, что этой моделью программирования заинтересовалось множество разработчиков, так что мы выбрали открытый подход к этому вопросу. Ключевым моментом такой модели программирования является основа из огромного количества различных событий, от которых можно оттолкнуться».

OpenWhisk работает на облачной платформе IBM Bluemix и позволяет разработчикам запускать свой код внутри контейнеров Docker. Хейтли подчеркнул, что с помощью OpenWhisk разработчики могут немедленно приступить к созданию контейнеров на Bluemix, не тратя времени и сил на конфигурирование и подключение необходимых программ и кода.

Более того, IBM реализовала в OpenWhisk открытую модель для упрощения написания событийно-зависимого кода в облаке. IBM также выбрала ее в качестве одной из первых площадок для создания клиентских и серверных программ на языке Swift, говорит Гилфикс.

«Мы предвидим невероятные возможности для повышения продуктивности работы программистов», — поделился он.

Сегодня многие из разработчиков, программирующих на Swift, специализируются на создании клиентских приложений и не обладают опытом, необходимым для разработки комплексных систем. Но IBM хочет помочь им справиться с разработкой серверной части кода их мобильных приложений в облаке.

«Мы считаем, что для этих целей оптимально подходит сочетание OpenWhisk, являющейся событийно-зависимой, бессерверной моделью программирования, и языка Swift, так как в этом случае разработчики могут загрузить свои программы в облако, указать условия их исполнения — и облако само позаботится о процессе масштабирования, — объяснил Гилфикс. — Это пример невероятно мощного прироста продуктивности».

Между тем, разработчики могут снова и снова пользоваться своими знаниями и умениями в области клиентского и серверного ПО, программируя свои комплексные приложения на одном языке и с помощью единого набора технологий, добавил он.

Пресс-секретарь IBM заявил, что благодаря интеграции контейнеров Docker платформа Bluemix еженедельно привлекает свыше 20 тыс. новых разработчиков, которые создают в общей сложности более 120 тыс. приложений ежемесячно.