О чём эта история
Компания Test IT разработала систему управления тестированием программных продуктов. Чтобы клиенты могли использовать программное обеспечение без необходимости покупать и настраивать инфраструктуру, компания решила сделать облачную версию. Благодаря программе Yandex Cloud Boost и помощи архитекторов Yandex Cloud, Test IT удалось в короткие сроки и без привлечения дополнительных ресурсов поэтапно мигрировать в облако и провести закрытое бета‑тестирование облачной версии системы перед коммерческим релизом.
Задачи и проблемы компании
Test IT — система управления тестированием программных продуктов (TMS — Test Management System), которая позволяет уменьшить стоимость разработки и тестирования на 15‑20%. В ПО заложена функциональность хранения тестовых артефактов, организация работы ручных тестировщиков и разработчиков автоматизированных тестов в едином пространстве, а не в сторонней CI‑системе. Основная ценность продукта для клиентов заключается в снятии репутационных рисков от дефектов в релизах, оптимизация времени работы команды тестирования и обеспечения качества.
TMS разрабатывалась как корпоративное решение для B2B‑сферы, которое разворачивалось на инфраструктуре клиента. Однако использование on‑premise остается прерогативой для компаний, а массовый рынок предпочитает решения, для которых не нужен собственный сервер и практики DevOps. В связи с пандемией у рядовых пользователей только выросла потребность в качественных цифровых продуктах, поэтому крупные и средние разработчики всё чаще стараются использовать системы управления тестированием.
Поэтому компания задумала предложить клиентам облачное SaaS‑решение, которое позволит им не тратить ресурсы на поддержку собственной архитектуры и мощностей. Компании переводят свои продукты на SaaS/PaaS‑модель, в первую очередь, чтобы лучше отвечать требованиям рынка: обеспечивать скорость обновления продукта, доступность, низкий порог входа и затраты на поддержание. Выход в облако — закономерное развитие продукта.
В Test IT решили участвовать в программе поддержки стартапов Yandex Cloud Boost, которая позволяет получить грант до 1 миллиона рублей на IT‑инфраструктуру в Yandex Cloud и доступ к другим сервисам Яндекса на особых условиях. Это дало возможность протестировать все возможности облачной платформы без привлечения дополнительных ресурсов и бюджетов.
Также на выбор облачной платформы повлияли следующие факторы:
- Возможность размещения виртуальных машин в трёх географически распределённых зонах доступности для обеспечения отказоустойчивости.
- Наличие сервиса Yandex Managed Service for Kubernetes® для управления кластерами Kubernetes® в Yandex Cloud. Сервис позволяет разворачивать, масштабировать приложение и управлять им, используя публичные и внутренние сервисы различных типов.
- Наличие управляемых баз данных и масштабируемого S3‑совместимого хранилища.
- Высокая безопасность сервисов, соответствие отраслевым стандартам и федеральным законам, в том числе в области персональных данных.
Миграция в облако с помощью команды Yandex Cloud
Перед началом миграции в облако IT‑архитектор Yandex Cloud помог сконфигурировать работу с сервисами, отталкиваясь от особенностей приложения. Это позволило протестировать все компоненты, не настраивая распределение данных по дата‑центрам и не беспокоясь об обслуживании серверов.
Для развёртывания SaaS‑решения были взяты следующие сервисы:
- Yandex Compute Cloud + Marketplace — виртуальные машины позволили сэмулировать тестовую среду, чтобы провести отладку, функциональное и нагрузочное тестирование системы.
- Yandex Managed Service for Kubernetes® — с помощью этого сервиса развернули контейнеризованное приложение в инфраструктуре Yandex Cloud. Настроили различные окружения, в том числе для тестирования. И всё это с распределением нагрузки по дата‑центрам, чтобы обеспечить отказоустойчивость.
- Yandex Managed Databases (Managed Service for PostgreSQL, Managed Service for Redis) — управляемые базы обеспечивают непрерывный доступ к данным с различными типами хранения. Разворачиваются буквально в два клика вместо нескольких месяцев работы DevOps‑инженера.
- Yandex Object Storage — универсальное масштабируемое хранилище поддерживает международный стандарт хранения данных, является S3‑совместимым. Инструменты Яндекса позволяют работать с Object Storage как с иерархической файловой системой, что значительно упрощает процессы.
- Yandex Virtual Private Cloud — служит для управления облачными сетями и связи облачных ресурсов между собой и с интернетом. Virtual Private Cloud позволяет создавать сети, подсети в зонах доступности Yandex Cloud, назначать облачным ресурсам внутренние и публичные IP‑адреса и позволяет защитить от DDoS‑атак с помощью компонента DDoS‑Protection.
- Yandex Network Balancer — высокопроизводительный сервис, который распределяет сетевую нагрузку по облачным ресурсам, обеспечивая отказоустойчивость сайтов и приложений.
- Yandex Cloud DNS — служит для управления зонами DNS и доменными именами ресурсов.
В Yandex Cloud развернули несколько окружений — Development, Performance, Stage и Production. Компоненты, используемые в среде Production, сконфигурировали для обеспечения отказоустойчивости и доступности, а распределение окружений по разным каталогам облака позволило гибко управлять доступом и ресурсами и контролировать расходы.
Всю инфраструктуру описали в Terraform, а благодаря подробной документации Yandex Cloud и большому количеству инструкций этот процесс прошёл быстро и гладко. Такой подход дал возможность в короткие сроки готовить новые окружения и осуществлять Disaster Recovery. Ещё одной важной задачей было настроить тоннели между корпоративной сетью и виртуальными сетями в облачной платформе, например для подключения раннеров в GitLab, скачивания Docker‑образов из локального регистра, мониторинга и т. д.
Программа Yandex Cloud Boost помогла не только выполнить поэтапную миграцию в облако и провести закрытое бета‑тестирование облачной версии системы перед коммерческим релизом, но и сэкономить средства на начальном этапе.
Результаты
Сегодня с помощью Test IT свои цифровые продукты тестируют более 200 компаний из разных отраслей. Это крупные банки Россельхозбанк, МТС Банк, IT‑компании Luxoft, Ростелеком, Solit Clouds, ритейлеры уровня Ашана, а также Почта России. Клиентам важна автономность системы управления тестированием из соображений безопасности, поэтому создание облачной версии было шагом в сторону новых рынков: средних и небольших клиентов, которые не могут или не хотят содержать инфраструктуру или работают с распределёнными командами.
В планах расширять предлагаемые виды тестирования, в первую очередь, поддерживать нефункциональное: нагрузочное, тестирование безопасности, стресс‑тестирование. Кроме того, продолжать увеличивать пул интегрированных с Test IT систем разного назначения, чтобы в системе могли работать команды с любым стеком.
Мнение
«Работа в Yandex Cloud показалась нам очень удобной на всех этапах: с момента проектирования решения до его релиза и поддержки в продакшене. На данный момент удалось имплементировать важнейшие DevOps‑практики: инфраструктуру как код, быструю доставку изменений до пользователей, мониторинг и логирование. Мы построили высокодоступное и масштабируемое решение благодаря использованию сервисов Yandex Cloud, не затрачивая времени на закупку, размещение и конфигурирование „железа“. Мы видим большие возможности для совершенствования и нашего приложения, и инфраструктуры — это позволит нам ещё более гибко управлять производительностью и доступностью Test IT Cloud».