Универсальное решение для развертывания инфраструктуры без облаков и интернета

К нам обратились с простой задачей, а в итоге мы построили гибкую, автономную инфраструктуру, которая одинаково эффективно работает как в облаке, так и на режимных объектах без интернета. Рассказываем, как с помощью GitOps и open source-инструментов мы автоматизировали доставку сложного ПО и упростили жизнь клиентам Histoscan.

06 мая 2025

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

В конце 2024 года команда Histoscan обратилась в Evrone с задачей развертывания демонстрационного стенда на площадке их потенциального клиента. Необходимо было подготовить инфраструктуру без доступа к интернету, установить Kubernetes и развернуть сложный продукт, состоящий из нескольких микросервисов и баз данных. В дальнейшем задача масштабировалась — нужно было унифицировать процесс доставки ПО и настройки инфраструктуры у клиентов. Основные вызовы заключались в:

  • разнообразии оборудования и операционных систем у конечных клиентов;
  • необходимости работы в полностью изолированных средах;
  • стремлении Histoscan автоматизировать процесс и сократить издержки на настройку каждого стенда вручную.

У клиента уже было некое решение, но оно не было никак описано, и почти никто не понимал, как оно работает. Поэтому первой нашей задачей стал аудит и трансформация существующего подхода для стабильной работы и дальнейшего обслуживания. Далее мы предложили архитектуру, в которой даже в условиях airgapped-инфраструктуры (полного отсутствия интернет-доступа) процесс развертывания происходит максимально автоматизировано и стабильно.

Kubernetes в оффлайн-среде

В качестве базовой ОС для поднятия кластеров мы выбрали Talos — специализированный дистрибутив, который предназначен для автоматической раскатки Kubernetes на виртуальные машины. Мы разработали роли, позволяющие быстро создавать ВМ на базе KVM (Kernel-based Virtual Machine), управляемого через libvirt — универсальный интерфейс, поддерживающий множество гипервизоров. Это позволило нам отказаться от менее гибких решений вроде Proxmox, и завести всё под единую библиотеку libvirt.

Особое внимание уделили унификации окружений: теперь вне зависимости от того, есть интернет-доступ или нет, установка проходит одинаково. В случае с изолированной инфраструктурой все происходит также, но требуется небольшая подготовка, а локальный Docker registry обеспечивает автономную работу.

GitOps и декларативное управление

Мы внедрили GitOps-подход, позволяющий управлять всей инфраструктурой через YAML-манифесты. Это обеспечило прозрачность, воспроизводимость и быструю настройку как в on-premise, так и в облачных окружениях. Конфигурация всех компонентов теперь задается идентично, что существенно ускоряет развертывание новых стендов.

У Evrone большая экспертиза в Kubernetes и мы часто используем GitOps для решения задач наших клиентов. Подробный рассказ о том, что это и чем отличается от привычного DevOps, можно посмотреть на нашем YouTube-канале. Наш технический директор Александр Кириллов регулярно выступает на конференциях, где рассказывает о кейсах и полезных лайфхаках работы с окружениями. 

Управление базами данных

Для управления PostgreSQL мы использовали CloudNativePG — оператор, позволяющий декларативно управлять как одиночными инстансами, так и кластерными конфигурациями с мастер-слейв репликацией. Решение базируется на Kubernetes и позволяет создавать резервные копии, отслеживать консистентность данных и восстанавливать инфраструктуру при сбоях без необходимости постоянного присутствия инженеров на месте.

География, масштабируемость и сложные кейсы

На текущем этапе мы поддерживаем десять кластеров в разных точках, включая как bare-metal инфраструктуру, так и облачные решения. Первый облачный кластер появился совсем недавно. Мы значительно прокачали экспертизу в области настройки сложных сетапов без использования managed-решений, отработали кейсы развертывания локальных хранилищ и настройки сетей между кластерами с помощью Talos.

Результаты и текущее состояние проекта

Проект Histoscan — пример того, как можно создать единый подход к развертыванию инфраструктуры, который одинаково эффективно работает как в условиях полной изоляции, так и в облачной среде. Мы создали удобный пайплайн, где все сложности скрыты под капотом, а для клиента всё выглядит как «одна кнопка».

Мы продолжаем работу над проектом и развиваем инструменты, чтобы сделать доставку медицинского ПО еще быстрее, стабильнее и удобнее.

Если вы столкнулись с необходимостью развертывания сложной инфраструктуры в условиях ограниченного доступа к интернету или хотите автоматизировать доставку ПО клиентам с разной IT-средой — команда Evrone поможет найти надежное, масштабируемое решение. Мы работаем с bare-metal, виртуальными машинами и облаками, создавая универсальные пайплайны под любые задачи. Свяжитесь с нами, чтобы обсудить ваш кейс и построить инфраструктуру, которая работает стабильно даже без интернета.

Мы обратились в Evrone с довольно простой задачей, но в процессе стало ясно, что необходима гораздо более масштабная и гибкая архитектура. Команда быстро погрузилась в контекст, предложила грамотные технические решения и помогла выстроить полностью автономный процесс доставки и развертывания нашего ПО. Особенно ценим внимание к деталям, прозрачную коммуникацию и высокий уровень экспертизы. Сотрудничество продолжается, и мы уверены, что вместе сможем реализовать еще больше.
Евгений Конечный
Сo-founder & CTO, Histoscan
Будем на связи
Прикрепить файл
Максимальный размер файла: 8 МБ.
Допустимые типы файлов: jpg jpeg png txt rtf pdf doc docx ppt pptx.