Проект миграции сервисов 1С состоял из нескольких этапов.
Этап 1. Предпосылки.
Идея переноса родилась после аварийного отлучения основной и резервной систем кондиционирования в главном серверном помещении на площадке заказчика. Температура в серверной за считанные минуты подобралась к отметке в 45 градусов, было принято решение «тушить» стойки с серверным и сетевым оборудованием на время восстановления системы кондиционирования. Простой производства составил 2,5 часа, что в современном мире категорически неприемлемо с точки зрения финансово-экономических показателей бизнеса.
На чашу весов в сторону облака также упали второстепенные причины:
- нежелание заказчика поддерживать сетевую и серверную инфраструктуру в актуальном высокопроизводительном состоянии, в том числе нести расходы на закупку нового оборудования, ЗИПа, лицензии, смартнеты и т.д. Учитывая текущую сложившуюся ситуацию в стране и мире, решение было верным, или, как говорится, одной головной болью меньше.
- нежелание заказчика нести косвенные операционные расходы на содержание серверных помещений (система координирования, СКУД, система пожаротушения, электропитание, пультовая охрана и т.д.). Все эти статьи расхода на техническое обслуживание и ремонт в годовом эквиваленте формировались во внушительную стоимость.
- желание заказчика иметь возможность быстро и без особых усилий развернуть нужные серверные мощности в требуемой конфигурации, а также изменить как в большую, так и в меньшую сторону конфигурацию существующего инстанса в режиме реального времени.
- желание заказчика иметь техническую поддержку серверного оборудования в режиме 24/7/365, включая неограниченные консультации от облачного провайдера по телефону/email/мессенджеру.
- прозрачную систему начисления платежей и матрицу стоимости ресурсов и услуг.
Учитывая вышеизложенные пункты пришли к мнению, что полностью требованиям PROF-IT GROUP удовлетворяет наш партнер.
Этап 2. Анализ возможностей переноса.
После принятого решения «Мигрируем!» началась подготовительная работа к переносу сервисов. Первым делом была проведена инвентаризация серверных мощностей и информационных сервисов, развернутых на данных мощностях. Совместно с заказчиком определили пул сервисов, подлежащих миграции и сервисов, которые остаются в периметре площадки на «железных» мощностях (до определенного момента).
Перечень сервисов, подлежащих миграции, условно разбили на несколько очередей. Нас в данной статье интересует очередь по переносу ресурсов 1С, включающих в себя следующие сервисы:
-
1С:УПП
-
1С:Бухгалтерия
-
1С:ЗУП
-
1С:Управление персоналом
-
1С:Документооборот
-
1С:Метрология
-
1С:Путевые лист
-
1С:Система ритмичности работы прессов
-
1С:Учет производственных затрат
-
1С:Кайдзен
-
1С:Командировки
Таким образом, предстоящая задача миграции заключалась в следующем:
- перенести сервисы 1С для Заказчика и 9 его дочерних организаций.
- общее количество информационных баз 1С, подлежащих переносу, – 36, суммарным объемом – более 23 Тб.
- смигрировать 4 сервера СУБД, 4 сервера приложений, 2 тестовых контура, развернуть данные вычислительные мощности в двух различных облачных проектах (один проект для Заказчика, второй – для дочерних организаций).
- развернуть отказоустойчивую терминальную ферму для одновременного подключения 800+ пользователей.
- развернуть сопутствующую облачную инфраструктуру, в том числе сетевую обвязку, межсетевой экран, сервер лицензирования, файловый сервер для хранения профилей пользователей, брокер соединений и т.д.
- главным условием миграции от заказчика было сохранение существующей архитектуры, конфигураций и интеграции между информационными системами 1С, с целью сохранить весь производственный процесс, выверенный и отлаженный годами.
Оценив все исходные данные, пришли к выводу, что невыполнимых задач не существует и приступили к реализации данного кейса.
Этап 3. Моделирование облачного проекта. Оценка рисков.
Заручившись поддержкой коллег перешли к этапу моделирования облачного проекта, а также оценке рисков.
По результатам инвентаризации (Этап 2) была составлена спецификация виртуальных машин, подлежащих переносу («as is») и развертыванию с нуля в облачных проектах.
Совместно с коллегами подобраны конфигурации всех инстансов, рассчитаны флейворы (flavors). Было принято решение в основном использовать высокопроизводительные CPU (High Freq vCPU 3.7GHz Xeon Gold) и High-IOPS SSD диски. Подробнее ознакомиться с техническими характеристиками можно на портале VKCS.
Совместно с системными администраторами и 1С-разработчиками была сформирована матрица рисков, представлена заказчику на согласование. Под каждый пункт/риск, который не принимал заказчик, были предложены пути отката к изначальной конфигурации. Таким образом исключили все варианты, при которых возникала угроза бесперебойной работе предприятия в целом.
Этап 4. Расчет облачного проекта и трудозатрат на перенос.
После утверждения спецификации облачных ресурсов и матрицы рисков была рассчитана ежемесячная стоимость облачного проекта, представлена заказчику на согласование.
Также была сформирована команда под данный проект, рассчитаны и согласованы с заказчиком все трудозатраты и сроки реализации задачи.
В команду проекта вошли системные администраторы (2 человека), 1С администраторы СУБД (2 человека), разработчики и консультанты 1С (6 человек, бизнес-аналитик (1 человек), руководитель проектов (1 человек).
Этап 5. Пробная миграция и тестирование.
Под пробное развертывание и тестирование коллеги партнера любезно предоставили бесплатный тестовый стенд, а также добавили в данный проект необходимые квоты на vCPU, RAM и SSD.
Была разработана и утверждена заказчиком матрица тестирования. За целевые показатели принимались значения, полученные в результате тестов на «железе».
Параллельно работающему на площадке заказчика продукт-контуру стартовала пробная миграция и тестовое развертывание в тестовом контуре. В общей сложности данный процесс занял порядка 8-9 часов. Проверили интеграции, связанности – все ок.
Следующим шагом было нагрузочное тестирование тестового контура согласно утвержденной матрице. Результаты оказались удовлетворительными, а местами выше наших ожиданий. Так, тест Гилева показал 31 пункт.
Скорректировав конфигурации некоторых виртуальных машин перешли к основному этапу – миграция и развертывание продукт контура.
Этап 6. Боевая миграция и проверка работоспособности.
Основной проблемой для переноса продут-контура, как ни странно, оказалось согласование с бизнесом окна для остановки сервисов 1С и выполнения запланированных работ. Данную задачу усложнял тот факт, что перенос сервисов затрагивал более десятка подразделений (~1000 пользователей), и несколько десятков бизнес-процессов. Руководство предприятия поставило задачу выполнить работы с минимальным негативным эффектом для бизнеса.
Было принято решение стартовать работы в пятницу в 23:00 с предварительным уведомлением всех пользователей о запланированных работах. На завершение всех подготовительных операций отводилось 5 дней.
На миграцию и развертывание закладывалось 24 часа, еще столько же на тестирование и отладку, а также 6 часов на откат в случае нештатной ситуации.
Таким образом, к 6 утра понедельника у нас должен был быть полноценный работоспособный 1С сервис «в облаке» или «на земле».
Этап 7. Подведение итогов.
В результате проделанной работы успешно смигрированы производственные 1С сервисы в облачное пространство.
Мы получили следующие результаты:
- перемещены с физических серверных мощностей в облачный проект сервисы 1С для Заказчика и 9 его дочерних организаций.
- общее количество перенесенных ресурсов – 36 информационных баз 1С суммарным объемом более 23 Тб.
- смигрировано и развернуто в двух облачных проектах 24 инстанса, в том числе 4 сервера СУБД, 4 сервера приложений, 2 тестовых контура.
- развернута отказоустойчивая терминальная ферма для одновременного подключения 800+ пользователей.
- развернута сопутствующая облачная инфраструктура: сетевая обвязка, межсетевой экран, сервер лицензирования, файловый сервер для хранения профилей пользователей, брокер соединений и т.д.
- сохранены существующие архитектура, конфигурации, интеграции.
- общее время выполнения работ: подготовка – 18 дней, миграция – 36 часов.