Как Мы Строили Процесс От Хранилища До Лицензирования По: Проект Supplylab



Как мы строили процесс от хранилища до лицензирования ПО: проект SupplyLab

Positive Technologies — продуктовая компания.

Это значит, что мы развиваемся большое количество продуктов , и важно понимать, что все они «коробочные».

Соответственно, нам нужно как-то доставлять разработанные нами решения до инфраструктуры конечного заказчика.

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

Кроме того, нельзя забывать, что не все клиенты покупают все, что можно — у каждого продукта есть свои типы лицензий, которые обеспечивают доступ к определенному функционалу.

Это значит, что нам нужно как-то сделать так, чтобы наше ПО не только дошло до клиента, но и чтобы он мог использовать именно то, за что заплатил.

Чтобы решить все эти проблемы, мы решили разработать общую систему публикации и обновления программного обеспечения.

Проект называется SupplyLab, и сегодня мы хотели бы поговорить об этом инструменте подробнее.



Что должна уметь система

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

Итак, она должна уметь:

  • сборки релизов магазина;
  • опубликовать их;
  • лицензия;
  • фильтр;
  • доставить программное обеспечение в инфраструктуру заказчика;
  • развернуть его в этой инфраструктуре;
  • настроить продукт под конкретные задачи клиента.

За выполнение всех этих задач отвечает огромное количество программ и компонентов, например, хранение можно осуществлять с помощью Yum и Nuget, лицензирование можно осуществлять с помощью Guardant и Gemalto Sentinel, а для развертывания можно использовать SaltStack или Ansible. И как совместить все это многообразие, да еще и сделать это решение кроссплатформенным, работающим на любой инфраструктуре заказчика (о которой мы заранее ничего не знаем)?

SupplyLab: стремление к оптимальному сочетанию

В итоге мы разработали систему под названием SupplyLab, которая объединяет ряд инструментов.

  • SaltStack отвечает за развертывание;
  • Для публикации обновлений используется собственный глобальный сервер обновлений (GUS) компании;
  • Для доставки необходим передний локальный сервер обновлений (FLUS);
  • Artifactory — эта система была выбрана в качестве репозитория пакетов;
  • LicenseLab — мы не смогли найти на рынке готовую систему лицензирования кода, которая бы нас устроила, поэтому нам приходится создавать ее самим на базе Guardant и Gemalto Sentinel.


Как мы строили процесс от хранилища до лицензирования ПО: проект SupplyLab

Давайте поговорим о том, как «живет» код в нашей системе.

После сборки пакет попадает на хранение в Artifactory, затем релиз-менеджер публикует его на Глобальном сервере обновлений (это можно сделать автоматически по выбранным критериям), оттуда код попадает на Front Local Update-серверы, которые разворачиваются на конкретные сайты.

С этими серверами обращается инструмент развертывания SaltStack — в момент такого доступа происходит фильтрация по лицензированию (может ли клиент получить код обновления).



Как мы строили процесс от хранилища до лицензирования ПО: проект SupplyLab

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

В конечном итоге схема развертывания обновлений с помощью SupplyLab от самого начала и до последнего этапа выглядит так:

Как мы строили процесс от хранилища до лицензирования ПО: проект SupplyLab

Результаты внедрения и анализ производительности разрабатываемой нами системы SupplyLab мы сможем представить уже в следующем году.



Планы

Мы не почиваем на лаврах; очевидно, что нам еще предстоит много работы.

В дальнейшем мы планируем дорабатывать систему и внедрять в нее новые компоненты.

В частности, в планах:

  • Создание общего LicenseServer на стороне заказчика;
  • Идентификация установки заказчика будет осуществляться через разработанный LicenseServer.
  • Также мы планируем расширять количество производителей программного и аппаратного обеспечения, чтобы не быть привязанными к решениям какой-то одной компании.

  • Кроме того, мы хотим наладить интеграцию с CMS производителей ключей (например, Gemalto) — это упрощает и ускоряет работу с ключами.

P.S. Рассказ о нашей системе SupplyLab был представлен в рамках DevOps-митапа, который прошел недавно в Москве.

По мере разработки отдельные части системы SupplyLab будут размещаться на Открытый репозиторий сообщества DevOpsHQ .

К связь представили презентации 16 докладов, представленных в ходе мероприятия.

Все презентации и видео выступлений будут добавлены в таблицу в конце статьи.

тема объявления .

Автор : Александр Паздников Теги: #ИТ-инфраструктура #DevOps #хранилище ПО #лицензирование ПО

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.