О чём история
Компания EnDocs предоставляет SaaS‑решение для автоматизации электронного документооборота. Компания искала облачную платформу, которая бы предоставляла управлемый сервис Kubernetes и полностью соответствовала Федеральному закону № 152‑ФЗ «О персональных данных». Под требования подошла платформа Yandex Cloud, и в начале 2022 года команда приняла решение о миграции. В результате переезда, который занял три месяца и прошёл с нулевым даунтаймом, уменьшился пинг и ускорилась загрузка документов на 1‑3 секунды.
Как мигрировать кластер Kubernetes
EnDocs занимается автоматизацией электронного документооборота и процессов обработки документов. Решения компании помогают организовать корпоративный электронный архив, автоматизировать документооборот, обработку бухгалтерских документов и т. д. EnDocs была создана 10 лет назад в виде on‑premise решения. Три года назад компания разработала SaaS‑продукт с аналогичной функциональностью — EnDocs Cloud.
Инфраструктура компании изначально располагалась на облачной платформе Microsoft Azure и релиз облачной версии также проходил на ресурсах Azure. В начале 2022 года команда EnDocs начала поиск российской облачной платформы, которая полностью соответствовала бы Федеральному закону № 152‑ФЗ «О персональных данных» и предоставляла необходимое количество управляемых сервисов.
Важным критерием при выборе облачного провайдера была поддержка микросервисной архитектуры и Kubernetes. В Azure компания использовала Kubernetes как сервис и большую часть поддержки на себя брал облачный провайдер. Такая организация работы существенно экономила время сотрудников EnDocs. Требовалось, чтобы на новой площадке провайдер отвечал следующим требованиям:
- развёртывание виртуальных машин;
- настройка сети;
- установка ОС и ПО;
- обновление кластера и групп узлов;
- резервное копирование;
- обеспечение безопасности хранилища.
В результате анализа рынка компания выбрала Yandex Cloud, который предоставлял необходимый управляемый сервис — Yandex Managed Service for Kubernetes® и имел все аттестаты соответствия требованиям безопасности информации и персональных данных.
Три месяца на миграцию всех сервисов
Миграция в Yandex Cloud для EnDocs проходила в два этапа.
На первом этапе была перенесена бизнес‑логика, реализованная в среде Kubernetes. Микросервисная архитектура проекта состоит из трех контуров разработки (тестовый, производственный и контур разработки) и следующих сервисов:
- веб‑интерфейс;
- внешнее API;
- API мобильной версии;
- автоматические фоновые процессы.
Метаинформация, такая как тема и реквизиты документов, хранилась в СУБД MYSQL, а пользовательские документы в облачном S3‑хранилище.
Сначала был разработан план переезда и составлен обновлённый пайплайн всей среды Kubernetes. На первом этапе решили перенести бизнес‑логику, а S3‑хранилище оставить в облаке Azure.
Список задач, которые необходимо было решить на этом шаге:
- разработать адаптер, который бы связывал среду, расположенную в Yandex Cloud, с хранилищем данных в Azure;
- внести изменения в деплой, который отличается в архитектурах Microsoft и Yandex Cloud;
- развернуть и настроить кластер в Yandex Managed Service for Kubernetes®;
- перенести метаданные в сервис Yandex Managed Service for MySQL;
- перенести данные пользователей в сервис Yandex Managed Service for Redis.
Реализация первого этапа миграции заняла полтора месяца. Чтобы снизить риски, её производили постепенно. Сначала переносили сервисы тестового окружения, проверяли их работоспособность, вносили изменения. Затем те же шаги повторили с окружением разработки и продакшена. После того как работоспособность всех сервисов была проверена, системные администраторы переключили DNS и настроили редирект с Azure.
На втором этапе, который также занял полтора месяца, перенесли 60 Гб данных из S3‑хранилища Azure в Yandex Object Storage. Для пользователей этот процесс прошёл незаметно: перенести данные удалось без даунтайма. Для миграции использовалась собственная утилита, разработанная командой EnDocs.
Облачный сервис, соответствующий 152‑ФЗ
После миграции EnDocs получили надежный облачный сервис, который соответствует российским и международным стандартам безопасности, в том числе Федеральному закону РФ № 152‑ФЗ. Теперь в компании планируют разработку модуля обработки кадровых документов, который будет содержать персональные данные. Также в EnDocs отметили, что за счет уменьшения пинга загрузка документов и превью стала происходить быстрее на 1‑3 сек.
Мнение
Мы переезжали от крупного западного провайдера, поэтому, чтобы наша миграция прошла максимально легко, нам важно было найти российского поставщика с аналогичным списком сервисов. Платформа Yandex Cloud предоставляет очень широкий набор сервисов, среди которых нашлись и те, которые используем мы. Переезд прошёл достаточно гладко и теперь мы думаем о том, чтобы попробовать другие сервисы, например Яндекс Трекер, для работы нашей службы поддержки.