Vexor - собственное CI/CD решение в облаке

5 марта 2021, 13:47
0

Vexor - собственное CI/CD решение в облаке

Команда Evrone столкнулась с распространённой проблемой масштабирования: были трудности в непрерывной интеграции сразу нескольких рабочих проектов. Чтобы ускорить DevOps-процессы, мы разработали облач
Vexor - собственное CI/CD решение в облаке

Vexor — это инструмент CI/CD, непрерывной интеграции и непрерывной поставки. Мы начали работу над Vexor, чтобы улучшить внутренние процессы и решить проблемы, с которыми часто сталкивались наши разработчики. Проект стал для нас ещё и полем для экспериментов, тестирования новых технологий и погружения в микросервисную архитектуру.

Со временем продукт вышел за рамки Evrone, у Vexor появились первые клиенты. Наш софт привлекал внимание двумя преимуществами:

  • Нет ни минимального, ни фиксированного чека. Разработчик платит  исключительно за время тестирования. Обычно на это уходит несколько минут. Если же проводить настройки самостоятельно, расходы будут значительно выше. За разработку собственного решения компании не берутся вовсе.

  • Vexor адаптирует расход ресурсов в зависимости от задачи и может выполнять неограниченное количество тестов одновременно.

Стек и технические показатели 

Мы отказались от Amazon EC2 в пользу мультиоблака Rackspace. Это дало нам больший контроль над физическими вычислительными ресурсами и больше возможностей для масштабирования.

Для извлечения данных из репозитория и выполнения непрерывной интеграции Vexor полагается на контейнеры Docker. Ubuntu Linux использовался в создании тестовых контейнеров. В комплекте с Vexor идут виртуальный X-сервер Xvfb, системы управления базами данных Postgresql и Mysql, поисковый движок Elasticsearch и ещё несколько пакетов.

Vexor поддерживает работу на одиннадцати языках программирования. Инструмент автоматически распознаёт язык и команды, которые необходимо запустить для выполнения тестирования. Если Vexor не справляется, разработчик может поменять значения в хранилище вручную.

Для проведения оплат мы использовали CloudPayments. Система поддерживает необходимые нам рекуррентные платежи с API и библиотеками на Ruby.

Оболочка Vexor

Когда Vexor начал использоваться другими командами, мы решили, что пришло время разработать ему айдентику и лендинг. Главный элемент — лента мёбиуса, спираль в непрерывном движении. Для её воплощения мы использовали CSS3, WebGL, SVG и Three.js.

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

Ответить?
Введите капчу