PaaSTA — открытая PaaS от Yelp, использующая Docker-контейнеры для деплоя
Авторы популярного онлайн-сервиса для поиска услуг с элементами социальной сети Yelp опубликовали исходный код своего PaaS-решения PaaSTA.
PaaSTA — это решение категории платформа-как-сервис (PaaAS, platform-as-a-service), использующее современные Open Source-компоненты для сборки, деплоя и мониторинга веб-приложений. Основные инструменты написаны на Python и применялись в production внутри Yelp более полутора лет. Для описания сервисов в PaaSTA используется предметно-ориентированный язык (DSL) в формате YAML. PaaSTA построена по принципу микросервисов, реализует сервис-ориентированную архитектуру (SOA), которую авторы называют единственным здравым способом поставки кода.
С PaaSTA интегрируются следующие популярные программные компоненты, решающие свои конкретные задачи:
- Docker для «доставки» кода и изоляции его возможностей;
- Apache Mesos для исполнения кода и планирования (запускает контейнеры Docker);
- Marathon от Mesosphere для управления сервисами, работающими долгое время;
- Chronos для запуска заданий по таймеру;
- SmartStack для регистрации сервисов и их обнаружения;
- Sensu для мониторинга и уведомлений;
- Jenkins (опционально) для непрерывной интеграции разработки.
Исходный код PaaSTA распространяется на условиях свободной лицензии Apache License v2.0 и доступен на GitHub.
Дмитрий Шурупов по материалам Yelp Engineering Blog.