Облако IBM

Бессерверное программирование

Share this post:

Программирование в бессерверных средах: новые возможности для разработчиков

Бессерверная архитектура является относительно новым подходом и поэтому требует некоторых пояснений. Три года назад этой предметной области вообще не существовало. С точки зрения разработчиков, бессерверные среды устраняют необходимость установки и управления серверной инфраструктурой для запуска приложений. Это, конечно, не означает, что серверы не задействованы – совсем наоборот. Однако программирование в бессерверных средах освобождает разработчиков от принятия различных решений по управлению серверами и распределению вычислительных мощностей.

Более того, раньше специалисты должны были знать, как настраивать конфигурацию множества различных сервисов и программных платформ, таких как Apache, Nginx, Postfix, PHP и т.д. Сейчас бессерверные технологии поддерживают обширный набор языков программирования, и разработчики выбирают тот, который лучше всего знают. Как результат – у специалистов больше времени для внедрения инновационных решений вместо управления серверами, на базе которых функционирует их программный код.

Скорость, простота и рентабельность

Как же применять эту новую технологическую парадигму? Если в целом, то благодаря своей новизне она опирается не на традиционные решения, а на современные облачные приложения и микросервисы. Бессерверные вычисления лучше всего подходят для невысоких рабочих нагрузок из-за ограниченного доступа к ресурсам, который предоставляют облачные провайдеры.

Одним из наиболее интересных примеров использования бессерверных решений является создание API, благодаря ускорению разработки таких интерфейсов. API – это программные посредники, которые позволяют двум приложениям взаимодействовать друг с другом. В бессерверных средах разработчики могут создавать API без необходимости управлять для этого какой-либо серверной частью. Например, разработчики пользовательских интерфейсов на JavaScript теперь могут создавать API намного быстрее, так как не нужно сосредотачиваться на работе операций нижнего уровня и разбираться в нескольких языках программирования.

Помимо более быстрой и легкой разработки API, бессерверные решения можно использовать для выполнения задач, связанных с обработкой потока запросов. Нагрузка на API может быть как равномерной в течении дня, так и со всплесками, которые трудно прогнозировать. К примеру, компании по продаже билетов нужно будет справиться с огромным наплывом заявок после анонса премьеры нового фильма или спектакля. Им не обязательно потребуется высокий уровень пропускной способности сервера на все время работы, но решение должно быть готово к этому. Бессерверные решения позволяют справиться с подобными сценариями и повысить экономическую эффективность решения, поскольку вы платите за ресурсы только при поступлении запросов и их обработку.

И для стартапов, и для крупных предприятий

Учитывая низкие стартовые затраты, бессерверные решения отлично подходят для стартапов, поскольку компании начинают платить за услуги только при появлении трафика. Помимо стартапов, бессерверные технологии могут быть интересны предприятиям любого масштаба, заинтересованным в разработке API. Преимущества такого подхода очевидны: это не только наиболее оптимальное соотношение цены и качества, но и скорость, удобство и сокращение рисков при внедрении.

Разработчики из SiteSpirit являются отличным примером того, как архитектура бессерверной обработки данных помогает решать бизнес-задачи путем оптимизации рабочих процессов. SiteSpirit позволяет заказчикам создавать прекрасный маркетинговый материал на основе медиабиблиотеки как сервиса. В сферах услуг с высокой значимостью визуальной составляющей, таких как туризм или недвижимость, маркетологам необходим быстрый и легкий доступ к выразительным иллюстрациям для создания эффектных кампаний. Благодаря такому облачному сервису не нужно беспокоиться о хранении, тегировании, извлечении и обработке тысяч изображений. Теперь эти функции выполняются на бессерверной архитектуре, что снижает издержки.

Платформы с открытым кодом открывают доступ к инновациям

Тем не менее, есть и определенные проблемы, связанные с проприетарностью. Дело в том, что код, написанный и развернутый в облаке, в этот момент неразрывно связан с поставщиком облачных решений. Это означает, что приложения становятся оптимизированными для конкретной облачной среды, а замена облачного провайдера может привести к снижению производительности и скорости отклика приложения. Вот почему многие разработчики теперь ищут решения с открытым исходным кодом. Набор функций как сервиса IBM Cloud Functions создан на основе Apache OpenWhisk  – бессерверной платформы с открытым исходным кодом и предоставляющей доступ разработчикам ко всей экосистеме. При этом нужно понимать, что IBM Cloud Functions за счет облачной инфраструктуры обеспечивает обработку запросов в любых масштабах, а Apache OpenWhisk зависит от инфраструктуры и серверов на которых запущен.

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

Бессерверные решения: в интересах сообщества разработчиков

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

 

Эксперт: Джеймс Томас (James Thomas), разработчик IBM

Add Comment
No Comments

Leave a Reply

Your email address will not be published.Required fields are marked *

More Облако IBM Stories
By Николай Марин on 17/10/2018

Поднимая планку открытости и совместимости

IBM всегда была лидером в открытости – от ранних дней ОС Linux и языка программирования  Java до нашего времени с ПО Kubernetes и блокчейн-платформы на базе Hyperledger Fabric. Заказчикам сегодня нужна не только открытость, но и надежная совместимость приложений и платформ от самых разных поставщиков, а также безопасная возможность организации совместного доступа к данным. Открытость […]

Continue reading

By Дмитрий Шпиль on 17/09/2019

Об отношении россиян к возможностям облачных сервисов и подходах к корпоративным облачным стратегиям

  В последние годы рынок облачных технологий стабильно развивается во всем мире, в том числе и в России. Актуальным отражением этого тренда с точки зрения бизнес-модели b2b является, в частности, то, что российские ИТ-дистрибуторы все чаще становятся операторами облачных маркетплейсов, предлагая своим партнерам облачный доступ к решениям IBM. Облачные технологии в любом своем воплощении призваны […]

Continue reading