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

Вероятно, это звучит знакомо: облачной инфраструктурой в виде сервиса конечным пользователям тоже управлять не требуется, этим занимаются провайдеры – Amazon Web Services, Microsoft Azure и др. Так называемые бессерверные вычисления развивают эту концепцию: облачные сервисы выполняют код, написанный разработчиками, расходуя ровно столько ресурсов, сколько для этого нужно – ни больше ни меньше. Как только наступает заранее заданное событие, запускающее код, бессерверная платформа выполняет задачу. Конечному пользователю не нужно уведомлять провайдера о том, как часто будут происходить события-триггеры. Каждый раз, когда выполняется функция, заказчик платит доли цента. Некоторые считают, что данную концепцию лучше было бы назвать «функциями в виде сервиса» (functions as a service, FaaS) или «событийно-зависимыми вычислениями».

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

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

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

 

Особенности бессерверных вычислений

Считается, что создателем нового рынка стала компания Amazon Web Services, представившая в 2014 году платформу бессерверных вычислений Lambda. По словам Мэтта Вуда, генерального менеджера AWS по стратегии, новшество было создано по образцу одного из самых популярных продуктов компании – Simple Storage Service, или S3.

В чем сходство S3 и Lambda? Принцип действия S3 состоит в том, что вы предоставляете объект и сервис хранит его, причем вам не важно, как и где, вам не нужно заниматься обслуживанием накопителей, заботиться о свободном месте и т. д. Нет опасности зарезервировать слишком много или слишком мало места в S3 – соответствующие задачи решает он сам.

По словам Вуда, те же принципы в AWS решили предложить для вычислений: «Lambda работает с функциями. Вы предоставляете их код, и сервис их выполняет по требованию. Нет опасности зарезервировать излишне много или очень мало вычислительной...

Это не вся статья. Полная версия доступна только подписчикам журнала. Пожалуйста, авторизуйтесь либо оформите подписку.

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF