В чем SmartShell сильнее конкурентов и что это дает пользователям
Этот кейс был создан совместно с Yandex Cloud. Публикуем версию, дополненную нашими комментариями насчет некоторых технических решений. Оригинальную статью вы можете прочитать здесь.
Задача компании
ООО «Смарт Шелл» — российский стартап, резидент Сколково, разработчик специализированной мини‑ERP‑системы для компьютерных клубов, интернет‑кафе и киберарен. Компания выпустила облачную версию SmartShell Cloud в июне 2022 года.
Позже компания решила сменить облачную платформу для того, чтобы повысить отказоустойчивость, улучшить работу сервиса под нагрузками, оптимизировать и ускорить разработку, а также обеспечивать соблюдение требований 152‑ФЗ. Всего за 7 дней компании удалось развернуть инфраструктуру в Yandex Cloud и полностью перенести проект. В результате миграции сервиса «Смарт Шелл» построили отказоустойчивую инфраструктуру, значительно увеличили скорость развёртывания продукта и в десятки раз сократили время доставки обновлений.
Приоритеты компании — удобство клиентов, простота установки и лёгкость управления программным комплексом. Поэтому в «Смарт Шелл» изначально стремились к быстрому масштабированию, эффективному управлению процессами 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. С их помощью обеспечивается доступ к приложениям, возможность мониторинга и другие функции.
Так выглядит интерфейс для клиента – ярлыки и фон можно кастомизировать
⚡️ Читайте также:
«Почему SmartShell – самый удобный продукт с точки зрения клиента»
Миграция заняла меньше семи дней. За первые два дня перенесли микросервисы в подготовленный кластер 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 месяца за счёт активного маркетинга.
⚡️ Читайте также:
«Как клуб RedX сменил 4 софта в поисках стабильного решения»
Также «Смарт Шелл» удалось добиться сокращения времени на развёртывание микросервисов до 15–20 минут и построить CI/CD-пайплайн, обеспечивающий непрерывность доставки обновлённых версий продукта в продакшен.
«Смарт Шелл» планирует не только масштабировать продукт, но и подключить новые сервисы. Сейчас компания в процессе внедрения Yandex Managed Service for Apache Kafka® и Yandex Managed Service for ClickHouse, а также Yandex Cloud Functions и других инструментов бессерверных вычислений.
Click House – это решение используется в SmartShell для создания отчетов. Инструмент позволяет мгновенно строить любые отчеты – за любой период времени.
Apache Kafka – решение, использующееся для создания системы лояльности. Оно помогает строить события на основе действий пользователей – в режиме реального времени.