Positive Technologies — продуктовая компания.
Это значит, что мы развиваемся большое количество продуктов , и важно понимать, что все они «коробочные».
Соответственно, нам нужно как-то доставлять разработанные нами решения до инфраструктуры конечного заказчика.
При этом наше программное обеспечение зачастую имеет сложную конфигурацию — оно имеет множество различных компонентов, которые необходимо установить на разные целевые машины, и эти компьютеры имеют разные роли и т. д. То есть нам нужно иметь возможность выпускать и доставлять продукты через Интернет, а затем еще и развертывать их на конечной инфраструктуре.
Кроме того, нельзя забывать, что не все клиенты покупают все, что можно — у каждого продукта есть свои типы лицензий, которые обеспечивают доступ к определенному функционалу.
Это значит, что нам нужно как-то сделать так, чтобы наше ПО не только дошло до клиента, но и чтобы он мог использовать именно то, за что заплатил.
Чтобы решить все эти проблемы, мы решили разработать общую систему публикации и обновления программного обеспечения.
Проект называется SupplyLab, и сегодня мы хотели бы поговорить об этом инструменте подробнее.
Что должна уметь система
Прежде чем приступить к созданию системы, мы провели анализ и выявили несколько ее функциональных особенностей.Итак, она должна уметь:
- сборки релизов магазина;
- опубликовать их;
- лицензия;
- фильтр;
- доставить программное обеспечение в инфраструктуру заказчика;
- развернуть его в этой инфраструктуре;
- настроить продукт под конкретные задачи клиента.
SupplyLab: стремление к оптимальному сочетанию
В итоге мы разработали систему под названием SupplyLab, которая объединяет ряд инструментов.
- SaltStack отвечает за развертывание;
- Для публикации обновлений используется собственный глобальный сервер обновлений (GUS) компании;
- Для доставки необходим передний локальный сервер обновлений (FLUS);
- Artifactory — эта система была выбрана в качестве репозитория пакетов;
- LicenseLab — мы не смогли найти на рынке готовую систему лицензирования кода, которая бы нас устроила, поэтому нам приходится создавать ее самим на базе Guardant и Gemalto Sentinel.
Давайте поговорим о том, как «живет» код в нашей системе.
После сборки пакет попадает на хранение в Artifactory, затем релиз-менеджер публикует его на Глобальном сервере обновлений (это можно сделать автоматически по выбранным критериям), оттуда код попадает на Front Local Update-серверы, которые разворачиваются на конкретные сайты.
С этими серверами обращается инструмент развертывания SaltStack — в момент такого доступа происходит фильтрация по лицензированию (может ли клиент получить код обновления).
Одним из важнейших элементов системы является механизм лицензирования, который мы называем LicenseLab. В настоящее время мы разрабатываем этот инструмент. На данный момент идеология предполагает, что у одного заказчика имеется большое количество лицензий, и каждая лицензия может иметь множество программных клавиш.
В конечном итоге схема развертывания обновлений с помощью SupplyLab от самого начала и до последнего этапа выглядит так:
Результаты внедрения и анализ производительности разрабатываемой нами системы SupplyLab мы сможем представить уже в следующем году.
Планы
Мы не почиваем на лаврах; очевидно, что нам еще предстоит много работы.В дальнейшем мы планируем дорабатывать систему и внедрять в нее новые компоненты.
В частности, в планах:
- Создание общего LicenseServer на стороне заказчика;
- Идентификация установки заказчика будет осуществляться через разработанный LicenseServer.
- Также мы планируем расширять количество производителей программного и аппаратного обеспечения, чтобы не быть привязанными к решениям какой-то одной компании.
- Кроме того, мы хотим наладить интеграцию с CMS производителей ключей (например, Gemalto) — это упрощает и ускоряет работу с ключами.
По мере разработки отдельные части системы SupplyLab будут размещаться на Открытый репозиторий сообщества DevOpsHQ .
К связь представили презентации 16 докладов, представленных в ходе мероприятия.
Все презентации и видео выступлений будут добавлены в таблицу в конце статьи.
Автор : Александр Паздников Теги: #ИТ-инфраструктура #DevOps #хранилище ПО #лицензирование ПО
-
Ssd Для Серьезных Людей
19 Oct, 24