О чём эта история

Компания «Бинго‑Софт» специализируется на разработке информационных систем для государственных структур и коммерческих предприятий из различных сфер деятельности. Компания собственными силами за два дня перенесла рабочие и демонстрационные кейсы своей low‑code‑платформы в Yandex Cloud с помощью документации облачной системы. С момента запуска проект вырос от 5 виртуальных машин для тестовых стендов до 110.

Задача компании

Основной продукт компании «Бинго-Софт» — цифровая low-code платформа «Акцент». Она объединяет преимущества коробочных продуктов и заказной разработки: учет специфики заказчика при коротких сроках внедрения, надежности и масштабируемости.

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

С помощью визуальных редакторов платформы можно быстро создавать ПО и адаптировать его к меняющимся требованиям. Базовые компоненты не привязаны к какой‑либо отрасли, поэтому с помощью платформы «Акцент» можно автоматизировать широкий спектр процессов. Например, её использовали, чтобы автоматизировать бизнес‑процессы в федеральных и региональных органах власти. Среди заказчиков компании — ФАУ «РосКапСтрой», Почта России, Социальный фонд России и др.

Работая над проектом, команда столкнулась с нехваткой вычислительных ресурсов. Сначала «Бинго‑Софт» закупала физические серверы для собственного ЦОД. Но быстро стало понятно, что обслужить такой объём оборудования не получится.

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

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

Компания учла требования, которые предъявляют к ПО регулирующие органы России, и решила использовать российскую облачную платформу. Сравнив несколько облачных провайдеров, «Бинго‑Софт» выбрала Yandex Cloud. При выборе основное внимание уделяли качеству, прозрачности и скорости работы поддержки, высокой доступности виртуальных машин, а также простой и понятной консоли, с которой удобно работать. Также очень важна была возможность вертикального и горизонтального масштабирования.

Дополнительными преимуществами стали гарантированный высокий уровень безопасности облачной инфраструктуры, понятная система биллинга и широкий набор управляемых сервисов, прежде всего Yandex Managed Service for PostgreSQL и Yandex Managed Service for Kubernetes®. Кроме того, при большом резерве вычислительных мощностей Yandex Cloud гарантирует скидку.

Масштабирование ресурсов low‑code‑платформы «Акцент»

Платформа «Акцент» состоит из набора микросервисов, написанных на PHP, .NET, Python и JavaScript. Изначально платформа была монолитной и разворачивалась целиком на одной виртуальной машине или сервере.

С переходом на микросервисы схема сборки и доставки платформы до окружений сильно изменилась — появилась система CI/CD на базе сервера интеграций Gitlab и Ansible. Введение релизных циклов ещё больше усложнило процессы поставки, но сделало работу платформы в окружениях более стабильной и предсказуемой.

Архитектура микросервисов платформы построена на единых принципах и подходах. Широко применяется предметно‑ориентированное проектирование (DDD) и паттерн разделения всех событий на команды и запросы (CQRS). Это позволяет придерживаться чистой архитектуры (Clean Architecture) и обеспечивать высокую производительность запросов с соблюдением транзакционной целостности операций.

Платформа поддерживает разнообразные интеграционные шлюзы, которые могут быть как синхронными, так и асинхронными. При этом платформа может быть и поставщиком, и приёмщиком данных, и интеграционным шлюзом, обеспечивая взаимодействие различных IT‑систем друг с другом. Основа таких возможностей — распределённый брокер сообщений Apache Kafka® и механизм захвата изменений Debezium CDC.

Для администрирования геоданных команда задействовала GeoServer и собственную геопространственную СУБД на основе PostGIS. Чтобы создавать карты на основе программного интерфейса, применили библиотеку OpenLayers, а чтобы использовать 3D‑геопространственные данные — платформу Cesium. В платформу встроены алгоритмы трансформации, оптимизации, сжатия и потокового отображения данных. Возможно отображение данных как в веб‑интерфейсе, так и внутри VR‑приложений на базе Android. Последние создаются с помощью интеграции с движком Unreal Engine.

Фронтенд платформы написан на JavaScript. Основная СУБД — PostgreSQL.

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

Собственных ресурсов для растущего числа стендов и демоокружений не хватало, и у команды не было достаточного опыта обслуживания Kubernetes. Поэтому компания обратилась к сервисам и инструментам Yandex Cloud.

Компания решила перенести демонстрационные стенды для развёртывания прикладных решений, которых становилось всё больше, на облачную платформу. Первоначально запустили несколько стендов, для чего использовали сервисы Yandex Compute Cloud и Yandex Managed Service for Kubernetes. На развёртывание новых стендов и запуск платформы в кластере Kubernetes ушло всего несколько дней.

Удобство облачных технологий неоспоримо перед содержанием и администрированием собственных серверов. Это позволяет в разы быстрей разворачивать системы, что хорошо в итоге для конечных пользователей. Мы продолжаем работать с Yandex Cloud и каждый год продлеваем резерв, который становится всё больше и больше.

Андрей Евграфов,
руководитель инженерного отдела

Результаты

Компания очень быстро подключила в облаке 5 виртуальных машин. Работа с ними позволила почувствовать эффективность сервиса — и в настоящее время в «Бинго‑Софт» подключено более 110 виртуальных машин, на которых тестируются прикладные решения для заказчиков компании. Средние характеристики каждой ВМ — 4 CPU, 16 ГБ RAM и 200 ГБ SSD.

Кроме того, «Бинго‑Софт» создала в облаке отдельный стенд для разработки и администрирования контейнерных приложений с применением Yandex Managed Service for Kubernetes. На этом стенде тестируются возможности использования k8s в продуктах заказчиков.

Облачное развёртывание позволило практически неограниченно наращивать количество демостендов. Это позитивно повлияло на прирост клиентской базы и партнёров.

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

Мнение

Илья Астахов,
заместитель директора по развитию
Илья Астахов,
заместитель директора по развитию

Применение Yandex Cloud дало нашей компании возможность в любой момент предлагать заказчикам демостенды и продуктивные сервера, не оглядываясь на загрузку собственных серверных мощностей. Оценка стоимости предоставления серверов стала удобнее и прозрачнее. Увеличился гарантированный SLA.