Привет, Хабр! Сегодня я расскажу об одном реальном переезде с проприетарного ПО на opensource-аналоги. Миграция на СПО — тема, конечно, избитая до безобразия. Но этот кейс интересен тем, что задача решалась в комплексе: под замену пошла вся экосистема инфраструктурного и прикладного ПО заказчика. Проект завершили в конце прошлого года, и поэтому в тексте вы найдете много отсылок к экономическим соображениям. Но пока я собирался рассказать обо всем подробно, ситуация сильно поменялась и бизнес-показатели ушли на второй план. Однако сам опыт масштабной миграции стал еще более актуальным — по крайней мере, когда я заканчивал текст этого поста, Коммерсантъ сообщил о росте спроса на отечественное ПО (в основном, работающее на базе открытых технологий) на 600% только за неделю. И если вам тоже теперь нужно переезжать на СПО, надеюсь, опыт нашей команды окажется действительно полезным, а экономические выкладки, которые я делал для данной миграции, пусть остаются приятным бонусом.
Предыстория проекта, о котором я расскажу сегодня, была очень прагматичной. Кто-то из менеджмента сел и посчитал, сколько денег тратится на различные лицензионные отчисления…и пришел к выводу, что с этим что-то нужно делать. За аудитом ИТ-экосистемы они обратились в КРОК, и после этого была запланирована многошаговая миграция. В результате моя команда собрала фактически новую инфраструктуру на замену 13 корпоративным сервисам, и сегодня я расскажу о тех проблемах, которые нам приходилось решать на этом пути.
Готовимся к миграции
Перед тем как запускать процесс миграции, нужно оценить его бюджет. Во-первых, на сам переезд требуется круглая сумма. А, во-вторых, дальше вам придется самостоятельно развивать и поддерживать опенсорсные решения, а может быть передавать эту задачу на аутсорсинг специалистам из той или иной ИТ-компании. К тому же крайне желательно сделать все с минимальным дискомфортом для сотрудников (особенно высокопоставленных).
Если как следует закопаться в инфраструктуру, нередко в ней можно обнаружить какие-то артефакты (которые по-любому нужно обновлять и слава богу они еще не дали трещину), выявить устаревшие версии различного ПО, а также наиболее затратные с точки зрения поддержки и стоимости лицензий элементы инфраструктуры. Поэтому перед началом основного проекта был запущен аудит — чтобы точно определить объемы предстоящих работ.
Как и следовало ожидать, кроме уточнения общих сведений (используемые решения, объем данных, число серверов и т.д.), мои коллеги выявили и последствия долгого стихийного развития ИТ-инфраструктуры. Часть систем оказалась устаревшей: ее кто-то внедрял достаточно давно, стабильность вызывает вопросы и очевидно требуется модернизация. Часть решений была развернута на разных версиях ПО в нескольких филиалах. Это касалось как проприетарных решений, так и используемых Open Source решений (OpenVPN, Zabbix). Например, корпоративная сеть базировалась на устаревших версиях OpenVPN, работала нестабильно и не дотягивала по функционалу до текущих требований. Дополнительно, одним из желаний заказчика был перенос части нагрузок в облако КРОК, и новая корпоративная сеть должна была обеспечить достаточную серверную мощность. Это также потребовало перенастройки сети.
В результате под замену были определены сами рабочие места сотрудников, виртуализация, служба каталога и сетевые сервисы, электронная почта, терминальный доступ, серверы печати и хранения файлов, мониторинг и управление, site to site VPN, система видеоконференций, публикация ресурсов в интернет и корпоративный портал. Всего 12 компонентов, для которых нужно было подобрать и внедрить аналоги на СПО и 2 компонента на СПО для обновления и перенастройки.
Отдельная история - аудит рабочих мест для подготовки их к переводу на Linux. Для этого было решено использовать специально подготовленные скрипты.
Почему скрипты? Потому что наивно надеяться, что установленные средства мониторинга и логирования покажут реальную картину вещей (по факту они дают информацию только об установленном ПО). Наша задача была собрать больше данных, например:
использование программ, не требующих установки и веб приложений (ярлыки на рабочем столе, вкладки в браузере, последние запущенные исполняемые файлы);
локальные почтовые архивы (есть ли и какой объем);
какие каталоги и сетевые принтеры подключены;
тип BIOS и наличие защиты загрузки (Secure boot), которая помешает удаленно обновить СПО ОС;
объем данных профиля и свободная емкость на локальном диске;
сохраненные в ОС персональные сертификаты; учетные данные для автозаполнения (которые пользователь мог давно забыть);
наличие файлов, зашифрованные EFS, которые будут потеряны, если их не расшифровать до миграции.
Скрипты распространяли на рабочие места через групповые политики и выкладывали результаты на сетевую шару. В результате были получены подробные данные, необходимые для подготовки к миграции рабочих мест на СПО.
Часть собранных данных (подключенные ресурсы, вкладки в браузере) в дальнейшем использовали для настройки системы управления рабочими местами, часть (сохраненные учетные данные, почтовые архивы, сертификаты, зашифрованные файлы) - для снижения рисков миграции.
Проблемы и сложности
Конечно, такой проект не мог пройти без проблем. В частности, одним из камней преткновения на пути тотальной миграции в СПО стала служба каталога, которая изначально работала на базе Microsoft Active Directory. Из вариантов для ее замены были рассмотрены FreeIPA (Free Identity, Policy and Audit), как более стабильное. Но оно, увы, рассчитано исключительно на линуксовое окружение. В результате было решено использовать SambaDC, хотя и менее стабильное, но совместимое с Microsoft (ведь фактически SambaDC является продуктом реверс-инжиниринга AD под Linux), и сервисы каталога вполне переводятся на этот продукт…но не без возможных сложностей. Я тогда предупредил заказчика, что попробуем пройти красивым и легким путем…но в случае неудачи придется дольше повозиться с миграцией объектов службы каталога. Однако нам удалось подружить SambaDC и установленную версию AD для постепенной миграции.
Чтобы пользователи не потеряли доступ к своим системам команда сначала интегрировала SambaDC в службу каталогов заказчика, а потом вывела серверы с Microsoft Active Directory из эксплуатации. Такой подход позволял избежать наиболее трудоемкой задачи: миграции учетных записей и компьютеров между службами каталога.
Второй вопрос — это замена портала SharePoint. В случае с Linux для него есть сразу несколько альтернатив, но не каждая из них способна заменить весь функционал портала. Так было успешно реализовано файловое хранилище с поддержкой совместной работы пользователей в режиме онлайн на базе NextCloud и OnlyOffice. Однако уже к завершению проекта заказчик понял, что ему нужна и база знаний…нам оставалось только порекомендовать использовать подходящее решение, например, BlueSpice.
Кстати, Nexcloud встроил в свое решение Collabora Online Development Edition в виде модуля под брендом NextCloud Office. В будущем, видимо, будем использовать этот модуль.
Когда концепция была разработана, от нас требовалось поэтапно перевести на опенсорсные решения сервера в филиалах. И сложность заключалась в том, что в каждом городе фактически был установлен один сервер с несколькими ВМ, которые обеспечивали как маршрутизацию трафика, так и реализацию функций ИТ — сервис хранения файлов, сервис, печать, служба каталога и т.д. И тут тоже пришлось повозиться.
Вся инфраструктура на СПО
Итого моя команда перенесла целый ряд инфраструктурных элементов на опенсорсные решения, сохранив все процессы и сервисы, которыми пользуются сотрудники в 7 филиалах компании. Так, на серверах была установлена ОС Ubuntu. Сетевые сервисы переехали на BIND, NTP и isc-dhcp-server. В качестве службы терминального доступа внедрили X2GO. Видеоконференцсвязь после миграции начала работать через Jitsi meet, корпоративная электронная почта — на Kopano, а все развернутые облачные решения были опубликованы в Интернете с использованием Nginx, файловое хранилище переехало на Samba, служба печати — на CUPS. Управление рабочими станциями построили с использованием ПО Foreman и Puppet.
К новому ИТ-хозяйству были прописаны скрипты автоматизации, чтобы обеспечить автоматическое переключение коммуникации между основным каналом и резервным соединением провайдером. Также потребовалось автоматизировать назначение пользователям сетевых общих папок и принтеров по определенным критериям, чтобы сохранить те политики, которые применялись ранее на базе сервисов Microsoft.
После всего этого оставалось только провести миграцию рабочих мест пользователей, и для этого потребовалось разработать шаблон рабочего места и автоматизировать установку. В нашем случае это был Linux Mint 20 Cinnamon вместе с программным пакетом LibreOffice и другими приложениями. Шаблон (золотой образ) тиражируется с помощью доработанной Clonezilla, а после донастраивается и вводится в домен с помощью puppet. Сами же работы по постепенному переводу рабочих мест, в целях экономии (не забываем, что проект был затеян именно с этой целью) взял на себя заказчик и продолжает перевод рабочих мест постепенно, пока еще не истекли сроки лицензий на пользовательское ПО. Тем более, что нюансы миграции выявлены аудитом и учтены в заранее переданных инструкциях и в инструментах тиражирования.
Как лучше мигрировать на СПО
Выполненный проект позволил сделать несколько выводов, которые помогают сделать процесс миграции на СПО более комфортным.
Во-первых, стоит учитывать, что перенос некоторых сервисов вообще незаметен и прозрачен для пользователей — это касается сетевых служб, инфраструктуры и так далее. Их можно переносить в любом порядке и в любом режиме.
Во-вторых, существуют зависимые друг от друга службы. Например, сначала нужно перенести на СПО электронную почту, а уже потом мигрировать службу каталогов. Иначе все сломается. В зависимости от того, что именно запущено в вашей инфраструктуре, таких связок может быть несколько.
В-третьих, есть моменты, которые заметны сотрудникам. На нашем проекте это была электронная почта, портал SharePoint и миграция самих рабочих мест. Если удастся совместить хотя бы два из этих трех процессов, то уровень стресса для конечных пользователей будет ниже. Впрочем, если в компании много рабочих мест — а это характерно для целого ряда отраслей: государственных органов, представителей розничной торговли (ритейла), банков, сбытовых компаний и так далее — можно оставлять миграцию терминалов на новую платформу по отработанной шаблонной схеме на последний этап. Это действительно выходит целесообразно с экономической точки зрения.
Так сколько получилось сэкономить?
Действительно, каков экономический эффект от ведения подобных проектов. В нашем конкретном случае затраты на лицензии Microsoft удалось сократить на 90%. То есть добиться экономии в 10 раз! Но тут нельзя забывать и о том, что СПО нужно поддерживать и обслуживать. Если у компании есть для этого свои собственные ИТ-кадры, то вопрос решается сам собой. Если же нет, то поддержка подобного СПО-шного семейства продуктов, как правило, обходится примерно в 20-30% стоимости изначальных лицензий.
Однако внедрение СПО, его адаптация и переход на новые сервисы требует времени. Поэтому миграцию целесообразно затевать, например, за полгода до времени оплаты очередных лицензий. Учитывая, что затраты на миграцию сопоставимы с очередным лицензионным платежом, то в первый год подобный проект просто выходит “в ноль”, а уже со следующего года начинает давать экономию.
Нюансы, которые стоит учесть
Конечно, после миграции требования к штату ИТ-шников заказчика выросли. На общей встрече мы даже обговорили необходимые курсы повышения квалификации, которые пришлось дополнительно пройти ИТ-специалистам. Для конечных пользователей были подготовлены руководства по эксплуатации персональных рабочих мест на Linux Mint, а для администраторов — серверных решений.
При этом нужно понимать, что СПО, каким бы оно ни было, менее удобно для администраторов, особенно в крупных компаниях. Различные комьюнити и разработчики СПО отдают приоритет функциям, а не удобству сопровождения. Многие вещи приходится прорабатывать “на ходу”, а порой — мириться с командной строкой вместо красивых галочек.
В подобном проекте можно потерять часть связности сервисов. Например, карточка контактов в Outlook интегрируется во все сервисы Microsoft. Вы можете перейти в чат, позвонить, открыть документ для совместной работы и так далее. В опенсорсных проектах таких связок меньше, и при необходимости их нужно дорабатывать. Но при этом возможностей создания связок больше. К тому же сделать это можно силами своей команды разработчиков или заказать у кого-нибудь.
Заключение
Подводя небольшой итог, могу сказать, что опенсорсные решения подходят не всем. Если компания выбирает СПО, переложить ответственность на вендора уже не получится. Опенсорс требует своей экспертизы и подобный проект не подойдет для компании с недостаточной ИТ-компетенцией. Но те организации, которые прекрасно умеют оптимизировать затраты и могут наращивать внутреннюю экспертизу, все чаще успешно переезжают на СПО. Особенно это заметно в сфере банковской отрасли и розничной торговли. Учитывая большое количество рабочих мест в этих отраслях развитие собственной экспертизы оказывается выгоднее, чем оплата проприетарных лицензий.
Кстати, для тех, кто уже планирует подобный проект или находится в процессе замены проприетарных решений на СПО, в следующем посте я расскажу о технических аспектах самых проблемных зон проекта — миграции службы каталогов и замене сетевой инфраструктуры вместе с системой виртуализации. Так что подписывайтесь на наш блог, чтобы не пропустить. А если вы уже внедряли опенсорсные решения в качестве замены инфраструктурным сервисам, поделитесь своим опытом в комментариях, расскажите, какие именно продукты выбирали и почему.
Комментарии (25)
Vassssily
17.03.2022 14:45+3Расскажите, в чем там сложность с Active Directory? Нам скоро тоже нужно бы переносить контроллер домена. Боюсь начинать вообще. Почему придется повозиться?
Alexander_Donin Автор
17.03.2022 14:55+5Обязательно расскажем. Вторая часть почти готова. Выложим в ближайшие дни. Там будут подробности.
pred8or
17.03.2022 15:18+1Судя по сайту, Kopano не бесплатен. Или я чего-то не заметил?
LevOrdabesov
17.03.2022 16:22+5Класс! Даже жаль, что мне не удалось поучаствовать в этом проекте. А у вас там ещё и скрипты, мечта просто.
Придётся самому в одиночку всё пилить, но ваш опыт очень пригодится, спасибо.
Обязательно расскажите:
1. Почему выбрали именно Mint? И как организована работа с хотелками конечных пользователей типа «хочу другую/тёмную тему», «значки не те неудобно» и т.п.;
2. Из специфического: есть ли 1С, крипто-про на конечных рабочих станциях, и как прошла замена;
3. Есть/будет ли антивирус на пользовательских машинах (особенно в свете отвала ClamAV в РФ);
4. Как ваш опыт с LibreOffice? Несколько раз пытался провести им замену пакетов от MS и всякий раз сталкивался с огромными проблемами, вплоть до «открываем документ, редактируем, сохраняем, открываем опять – получаем пустой документ».Alexander_Donin Автор
17.03.2022 17:22+61. Почему выбрали именно Mint?
Подход был следующий: Debian, среда рабочего стола как в Windows, минимум проблем с драйверами.
И как организована работа с хотелками конечных пользователей типа «хочу другую/тёмную тему», «значки не те неудобно» и т.п.;
Большая часть хотелок решается самими пользователями или тех. поддержкой. Всё как и с windows.
2. Из специфического: есть ли 1С, крипто-про на конечных рабочих станциях, и как прошла замена;
По 1С. В этом проекте мы просто подготовили инфраструктуру для 1С и терминальную ферму. Но и на ней Ubuntu. Так что проблемы были и с ними разбиралась другая команда. По опыту коллег, каждый раз нужно анализировать ситуацию. Какие-то модули могут использовать COM-объекты и их нужно заменять / переписывать
С крипто про в этом проекте не пересеклись, но последние годы он уже сносно работает под Linux
3. Есть/будет ли антивирус на пользовательских машинах (особенно в свете отвала ClamAV в РФ);
Пожалуй, тут без комментариев, чтоб не нарваться на холивар :-). Скажу только, что Kaspersky пока никуда не уходит.
4. Как ваш опыт с LibreOffice? Несколько раз пытался провести им замену пакетов от MS и всякий раз сталкивался с огромными проблемами, вплоть до «открываем документ, редактируем, сохраняем, открываем опять – получаем пустой документ».
Всё сложно. Тема проблем после замены офиса достойна отдельной статьи, а тут мы постарались больший акцент сделать на серверную инфраструктуру. С пустого документами к счастью не встречался, но во следующее в любом проект вне зависимости от версии офиса (российский или СПО):
Макросы не работают
Поехавшее форматирование
Не все формулы работают в таблицах
Общий подход - создать новые шаблоны с нуля в самих документах, а не перетаскивать версии из MS Office. По возможности использовать pdf
LevOrdabesov
17.03.2022 17:30+3Спасибо за ответы.
По поводу офисных пакетов: на данный момент, по моему опыту, лучшие результаты по совместимости/надёжности у OnlyOffice, плюс он используется в достаточно распространённом NextCloud, что теоретически может облегчить боль от перехода между интерфейсами.
Но он тормозной, особенно при запуске (там JavaScript, что, конечно, чересчур прекрасно) и опять же в связи с известными событиями не удивлюсь, если перестанет работать в РФ, и, возможно, неподходящая для ваших задач лицензия.Alexander_Donin Автор
17.03.2022 17:36+2Посмотрите на Р7-офис. Тот-же OnlyOffice, но в реестре и никуда не исчезнет. По совместимости согласен. Говорят, что у китайского WPS еще лучше совместимость, но пока специально не изучал лично из за специфики проектов. Если кто уже тестировал / сравнивал, отзовитесь :-)
LevOrdabesov
17.03.2022 17:44Пробовал WPS достаточно давно и что-то мне в нём не понравилось, но уже не вспомню, что. Скорее всего, проприетарщина и origin.
Akr0n
18.03.2022 06:05Так, а что случилось с ClamAV?
Alexander_Donin Автор
18.03.2022 09:30+1Полагаю, @LevOrdabesov имел ввиду свой недавний пост. https://habr.com/ru/news/t/655781/
Лично я пока не проверял.
amarao
17.03.2022 18:09+3А я всегда говорил, что в бюджетах IT-компаний деньги распределяются между железом, ФОП и лицензиями. Меньше на лицензии - больше на ФОП.
И вы только что показали это на case study. На лицензии затраты в 10 раз снизили, треть экономии - на более классных специалистов.
И меня ещё спрашвают, почему я люблю свободное программное обеспечение.
anonymous
00.00.0000 00:00Alexander_Donin Автор
17.03.2022 19:37Пока через оснастки Windows https://wiki.samba.org/index.php/Setting_up_a_Share_Using_Windows_ACLs
mixsture
18.03.2022 03:14И как то вскользь в статье упомянуто про руководства для пользователей. Я так понимаю, онбординг любого нового сотрудника вырос. Если раньше условный секретарь после найма готов к работе, то теперь на пути добавилось изучение руководства. Есть какие-нибудь оценки, какие потери получили с этой стороны? это ведь тоже затраты
Alexander_Donin Автор
18.03.2022 09:11+1И как то вскользь в статье упомянуто про руководства для пользователей.
Да, статья больше про инфраструктурные службы. Потому что в данном проекте основное время и мозговые усилия инженеров были направлены на построение единой ИТ-инфраструктуры на СПО компонентах. Интерес к теме рабочих мест видим в комментариях. В будущем, возможно затронем и эту тему на примере других проектов.
Если раньше условный секретарь после найма готов к работе, то теперь на пути добавилось изучение руководства. Есть какие-нибудь оценки, какие потери получили с этой стороны? это ведь тоже затраты
Специально исследование не проводили. По опыту других проектов скажу, сто большинство пользователей не замечает переход на Linux если оставить элементы интерфейса в тех же местах, где они были в старой ОС. Основные проблемы вызывает замена офиса. При этом чем выше компетенция пользователя, тем ему сложнее. Само собой это связанно с предыдущим опытом. Тут ничего лучше инструкций и обучения не придумаешь. Кстати, после недавних событий с отказом MS работать в России, предыдущий опыт тоже может начать меняться в сторону LibreOffice или МойОфис, который теперь предустанавливается по умолчанию на новые компьютеры.
Akr0n
18.03.2022 06:08+1Каким образом решили проблему ПО и драйверов, которое работает только на Windows? Неужели во всей конторе такого не встретилось?
Alexander_Donin Автор
18.03.2022 09:28По опыту, с драйверами проблемы обычно бывают двух типов: компоненты самого компьютера (жесткие диски и видеокарты) и периферия.
Первое актуально при клонировании образов и решается по мере выявления. дополнительные библиотеки с драйверами диска можно подключить на этапе запуска ОС, драйвер видеокарты установить скриптом после определения оборудования.
Второй пункт решается на этапе аудита. Изучаем имеющиеся принтеры/сканеры/MFU, подбираем драйверы. В крайнем случае потребуется замена части парка периферийной техники или, в случае частичного отказа от MS на рабочих местах, рокировка.
Что касается ПО, то отчасти для этого и выполнялся подробный аудит рабочих мест (что где используется). методы решения, думаю, тоже очевидны: Замена ПО на аналоги, отказ от замены компьютера либо костыли в виде терминального доступа (в данном проекте не делали) и WINE. Наличие несовместимого с Linux - ПО один из факторов снижения затрат на MS на 90%, а не полного отказа :-)
Akr0n
18.03.2022 10:06+2Вся эта теория понятна. Но есть, например, софт госорганов или какого-то редкого оборудования, который невозможно заменить. Можете рассказать о конкретных примерах с которыми столкнулись?
svasl
18.03.2022 15:40+2Сложилось впечатление, что это какой то банальный офис, где рабочие машины на 99 % - печатные машинки. И по сути заменили один почтовый клиент на другой и печатную машинку.
Mudrist
А ведь действительно похоже на Outlook! Расскажите, и как - сотрудники нормально приняли? Не было "бунта на корабле"?
Alexander_Donin Автор
Нет, бунта не было. :-) Компания расположена далеко от Москвы и, по опыту, в регионах изменения в ИТ воспринимают проще, даже если они вынужденные не дают много преимуществ для самих пользователей, как в случае с переходом на OpenSource.