О чём эта история
Компания «Бинго‑Софт» специализируется на разработке информационных систем для государственных структур и коммерческих предприятий из различных сфер деятельности. Компания собственными силами за два дня перенесла рабочие и демонстрационные кейсы своей 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.