VMware Dispatch: новый фреймворк для работы с serverless-приложениями

2017-й стал годом расцвета Kubernetes. Как отметили в RightScale, процент компаний, работающих с Kubernetes, за прошлый год увеличился с 7 до 14%. Kubernetes вошел в пятерку самых популярных DevOps-инструментов, которые «приняли на вооружение» в 2017 году, и стал вторым среди планируемых к внедрению.

Kubernetes стали чаще использовать средние и малые компании. Кроме того, фреймворк уже внедрили и крупные организации — Google, Red Hat, IBM, Microsoft и другие.

Одна из причин популярности платформы — богатый набор инструментов, разрабатываемых на её основе. Одним из таких релизов стал проект VMware Dispatch — фреймворк для создания и работы с serverless-приложениями. В этой статье рассмотрим новый продукт, а также расскажем о его особенностях и возможностях.

jbzodzjrc0s95tbhn49yqcwo7p0.png
/ Pixabay / distel2610 / CC

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

Решить проблему помогают serverless-архитектуры которые позволяют создавать и запускать сервисы без необходимости управления инфраструктурой. Serverless-приложения строятся на основе функций, каждая из которых выполняют одну небольшую и специфическую задачу (например, отвечает за обработку базы данных).

Решение Dispatch от VMware построено на базе Kubernetes и предоставляет инструменты и сервисы для развертывания и управления serverless-архитектурами (FaaS, или «функция как услуга»).

Особенности Dispatch


Однако, по словам разработчиков, Dispatch не является рядовым FaaS-решением. Новый фреймворк дает возможность интеграции с одной или несколькими реализациями FaaS: на момент запуска Dispatch включал драйверы для OpenFaaS и Riff (поддержка других FaaS-реализаций будет добавлена в будущем).

Как отмечает Коди Де Аркланд (Cody De Arkland), старший системный инженер VMware, Dispatch использует движок OpenFaaS, но с неким «волшебным соусом», повышающим гибкость технологии и позволяющим запускать одну и туже функцию в нескольких средах одновременно.

Структура Dispatch включает в себя следующие сервисы:

  • Event gateway;
  • Function gateway;
  • Function schema validation;
  • FaaS Implementation (OpenWhisk);
  • Image Manager;
  • Identity Service;
  • API Gateway;
  • CLI;
  • UI.


Все сервисы развертываются как контейнеры на Kubernetes. Они используют единое центральное хранилище данных, доступ к которому осуществляется через интерфейс, обеспечивающий адекватный уровень абстракции. Это позволяет избежать привязки к какой-либо базе данных и дает возможность проводить независимые тесты сервисов.

Dispatch предоставляет среду, в которой можно управлять всеми функциями и проверять их. Pivotal Container Service (PKS) от VMware обеспечивает безопасный сервис Kubernetes. Также фреймворк позволяет работать в многопользовательской среде и интегрируется с сервисами, поддерживающими OAuth 2.0, такими как GitHub и Active Directory.

Дополнительно Dispatch включает драйвер VMware vCenter Server, который позволяет функциям взаимодействовать с событиями vCenter.

Особенности развертывания


Dispatch — проект с открытым исходным кодом. Исходники и документацию можно найти в репозитории на Github. Как отмечает, в своем блоге Коди Де Аркланд, перед установкой Dispatch необходимо сконфигурировать кластер Kubernetes с помощью Kubeadm и настроить менеджер пакетов Helm. Алгоритм для начала работы с Dispatch Коди подробно описал в своем блоге (руководство написано для CentOS).

Также пошаговую инструкцию по развертыванию Dispatch вы можете найти в официальном репозитории на GitHub.

P.S. Вот еще несколько постов из блога 1cloud:

  • Балансировка нагрузки системы: цели и способы
  • Как создать компьютерный класс в облаке
  • Объектное хранилище файлов: об особенностях и областях применения
  • Облачные тенденции 2017 года (Часть 1, Часть 2, Часть 3, Часть 4, Часть 5)
  • Все, что нужно знать о сетевом нейтралитете: принципы и защита

© Habrahabr.ru