О чём история
ООО «Смарт Шелл» — разработчик облачной платформы для управления компьютерными клубами, интернет‑кафе и кибераренами. Программный комплекс SmartShell Cloud установлен в более чем 550 компьютерных центрах в России и СНГ. За несколько месяцев с момента релиза продукт занял больше 20% рынка, ежемесячно им пользуются свыше 300 тысяч человек.
В середине 2022 года компания решила сменить облачную платформу для того, чтобы повысить отказоустойчивость, улучшить работу сервиса под нагрузками, оптимизировать и ускорить разработку, а также обеспечивать соблюдение требований 152‑ФЗ. Всего за 7 дней компании удалось развернуть инфраструктуру в Yandex Cloud и полностью перенести проект. В результате миграции сервиса «Смарт Шелл» построили отказоустойчивую инфраструктуру, значительно увеличили скорость развёртывания продукта и в десятки раз сократили время доставки обновлений.
Задача компании
ООО «Смарт Шелл» — российский стартап, резидент Сколково, разработчик специализированной мини‑ERP‑системы для компьютерных клубов, интернет‑кафе и киберарен. Компания выпустила облачную версию SmartShell Cloud в июне 2022 года.
Приоритеты компании — удобство клиентов, простота установки и лёгкость управления программным комплексом. Поэтому в «Смарт Шелл» изначально стремились к быстрому масштабированию, эффективному управлению процессами CI/CD, простоте развёртывания и бесшовным обновлениям. Использование облачной инфраструктуры и микросервисной архитектуры идеально подходили для этой задачи. Довольно быстро выяснилось, что текущая облачная платформа не соответствует требованиям компании. Ответы техподдержки были долгими, инструкции недостаточно подробными, состояние инфраструктуры было сложно оценить из‑за отсутствия метрик и дашбордов. Кроме того, иногда случались даунтаймы с непрогнозируемым временем восстановления работоспособности сервисов. Компания решила найти более стабильную облачную платформу с большим набором управляемых сервисов и качественной поддержкой.
Поиск масштабируемой и отказоустойчивой инфраструктуры
С помощью новой облачной платформы компания хотела решить четыре основные задачи:
- гарантировать клиентам стабильность и отказоустойчивость;
- оптимизировать и ускорить разработку, сократив time to market;
- обеспечить готовность продукта к изменяющимся нагрузкам;
- легко масштабировать инфраструктуру.
Кроме того, SmartShell Cloud обрабатывает и хранит персональные данные клиентов клубов, в том числе несовершеннолетних, поэтому для компании было критично обеспечить соблюдение требований 152‑ФЗ.
Компания рассматривала несколько облачных сервисов и в итоге остановилась на Yandex Cloud. Ключевыми факторами стали гарантированное SLA, возможности масштабирования в нескольких странах, подходящий набор управляемых сервисов, прозрачность использования ресурсов и наличие мониторинга.
Микросервисная архитектура в Yandex Cloud
Компания «Смарт Шелл» переносила сервис в Yandex Cloud силами собственных DevOps‑специалистов. Решено было сразу же разворачивать продакшен‑окружение из‑за проблем с даунтаймом на предыдущей платформе.
Для дев‑, стейдж‑ и продакшен‑окружений в SmartShell Cloud развернули 18 виртуальных машин Yandex Compute Cloud. Для обработки информации развернули 2 кластера Yandex Managed Service for PostgreSQL, а статические данные хранятся в Yandex Object Storage. Кроме того, «Смарт Шелл» использует такие сервисы, как Network Load Balancer, Application Load Balancer, Cloud DNS и Monitoring.
Миграция заняла меньше семи дней. За первые два дня перенесли микросервисы в подготовленный кластер Kubernetes и базы данных. Развёртывание прошло успешно. Но как только к сервису стало поступать большое количество запросов от клиентов, он стал работать заметно медленнее. Команде специалистов из «Смарт Шелл» и Yandex Cloud удалось быстро найти и устранить проблему. Многопоточный пул соединений для PostgreSQL Odyssey не справлялся с количеством соединений. На конфигурирование Odyssey и финальную настройку всей инфраструктуры потратили ещё несколько дней.
Для организации непрерывной интеграции и непрерывной поставки кода компания «Смарт Шелл» обратилась к стороннему подрядчику, который с помощью собственных скриптов и инструментов выстроил CI/CD‑пайплайн.
Сейчас сервис работает штатно для более чем 300 тысяч уникальных посетителей в месяц. Кроме того, команда «Смарт Шелл» реализовала бесшовные фоновые обновления. Микросервисная архитектура и отказоустойчивая облачная инфраструктура помогают избежать даунтайма ERP‑системы и быстрее обновлять продукт в более чем 550 компьютерных клубах по всей стране. Это выгодно отличает SmartShell Cloud от большинства ERP‑систем для компьютерных клубов и киберарен. Большинство решений на рынке — монолитные, и обычно они распространяются как продукты on‑premise или на удаленных серверах.
Стабильная работа продукта и сокращение времени на развёртывание
В результате перехода на облачную платформу Yandex Cloud удалось достичь следующих результатов:
- Стабильная работа продукта благодаря гарантированному SLA облачной платформы.
- Готовность инфраструктуры к масштабированию и резким повышениям нагрузки.
- Сокращение затрат времени на решение инфраструктурных вопросов и ускорение разработки приблизительно на 30%.
- Ускорение установки и запуска SmartShell Cloud у клиентов по сравнению с конкурентами.
- Сокращение затрат времени на доставку обновлений в десятки раз.
- Гибкость тарифов и возможность создания индивидуальных тарифов для клиентов.
- Запас прочности для масштабирования. Компания планирует рост проекта на 25–30% в ближайшие 3 месяца за счёт активного маркетинга.
Также «Смарт Шелл» удалось добиться сокращения времени на развёртывание микросервисов до 15–20 минут и построить CI/CD-пайплайн, обеспечивающий непрерывность доставки обновлённых версий продукта в продакшен.
«Смарт Шелл» планирует не только масштабировать продукт, но и подключить новые сервисы. Сейчас компания в процессе внедрения Yandex Managed Service for Apache Kafka® и Yandex Managed Service for ClickHouse, а также Yandex Cloud Functions и других инструментов бессерверных вычислений.
Мнение
По удобству и эффективности Yandex Cloud значительно превосходит других провайдеров. Конечно, сначала есть неуютные ощущения после перехода от монолита к микросервисам в облаке ввиду потери контроля над «внутренностями» серверов и баз данных. Но плюсы от использования микросервисной архитектуры в облаке перевешивают этот дискомфорт, особенно когда провайдер сервиса выполняет обязательства и сам сервис работает безотказно.