Использование технологии Intelligent Edge для организации мульти-национальных инсталляций Dynamics 365 Business Central с разными локализациями
В Росси пока нет официальной облачной локализованной версии Dynamics 365 Business Central. Но если очень хочется, можно получить вариант разворачивания, максимально приближенный к SaaS, позволяющий консолидировать данные из нескольких по-разному локализованных и кастомизированных инсталляций, да ещё заодно и соответствующий ограничениям, накладываемы законодательством о контроле за персональными данными – без плагинов де-персонализации. И стало это возможно с появлением технологии Intelligent Edge.
Вообще, технология Intelligent Edge является частью концепции Intelligent Cloud, запущенной компанией Майкрософт в первую очередь для удобного обмена данными с конечными IoT устройствами, находящимися так сказать «на границе» облака. В данном случае этот же термин используется для организации бесшовной репликации данных между двумя инсталляциями – локально развёрнутой базой и облачным SaaS решением – и создан именно командой разработки Business Central. Видимо, локально развёрнутая база в этом случае тоже воспринимается как некое конечное устройство на краю облака.
Если кратко, то это – обёрнутая в «юзер-френдли» оболочку интеграционная тулза, основанная на Azure Data Fabric, и позволяющая реплицировать данные из локальных инсталляций в облачные. Поскольку прямого доступа к базе данных в облаке у пользователей и партнёров нет, её появление обусловило появление нескольких интересных сценариев, и даже таких, о которых сама продуктовая команда не догадывалась.
В настоящее время большое количество существующих облачных сервисов Azure можно использовать, интегрируя их как с облачной SaaS версией, так и с локальными инсталляциями (при этом не важно, где они развёрнуты – в облачном дата-центре Azure или вообще локально на ноутбуке в офисе). Однако, не секрет, что если для SaaS решения настройка крайне проста и по большому счёту уже подготовлена и существует, то подключить скажем сервис Microsoft Flow или PowerApp к локальной инсталляции Business Central’а – задача не совсем тривиальная, и неподготовленному пользователю будет нужно немного помучаться с настройками. Поэтому, всегда хотелось какой-то простоты и доступности сервисов Azure для локальных инсталляций, особенно – для тех стран, где
SaaS версия с их локализацией официально не доступна.
Выпущенная в конце 2018го года для Dynamics 365 Business Central, технология Intelligent Edge была призвана при минимальных затратах на настройку обеспечить пользователям локально развёрнутых решений доступ к облачным сервисам. Для этого, они могли настроить интеграцию и автоматизировано передавать данные из локальной инсталляции в облачную, а дальше – из обрабатывать и пользоваться полученным результатом.
Фактически, при соответствующей настройке, обеспечивалась постоянная репликация данных из локальной базы в облачную на уровне SQL средствами Azure Service Fabric (в разрезе отдельных компаний), но так, чтобы у пользователей не было доступа к настройке этой репликации – передавалось сразу и практически всё. При этом, облачная база рассматривалась как read-only решение, обеспечивающее просто более удобный последующий доступ к облачных сервисам Azure. Совершенно не предполагалось вводить новые или изменять реплицированные в облаке данные, потому что при следующей репликации из локальной базы они просто перетирались. Локальная инсталляция была эталонной мастер-базой данных в этом сценарии, и всё, что происходило с данными в ней, автоматически реплицировалось в облачную версию.
Такая архитектура подразумевает, что в процессе репликации (и чтения данных) не вносится никаких изменений в источник данных – в базу локальной инсталляции. (За одним исключением. При работе SQL-сервера локальной инсталляции данные определённым образом кэшируются для оптимальной работы. Т.е. те данные, которые пользователи используют чаще, SQL-сервер перемещает в кэш. Поскольку при работе Intelligent Edge происходит массовое чтение данных из источника, этот кэш сбивается и потребуется определённое время для того, чтобы он восстановился.)
Первые пользователи сразу оценили инструмент и стали применять его в целях разовой миграции с локальных инсталляций в облако. Поскольку стандартного инструмента миграции из локальных версий Dynamics 365 Business Central в SaaS не существовало, Intelligent Edge сразу заполнил этот вакуум. Пользователи настраивали Intelligent Edge, данные перегонялись между базами, и потом он сразу отключался, а работа продолжалась в уже облачном решении.
Большим плюсом являлось то, что технология работала и для правильно кастомизированных решений: данные экстеншенов, развёрнутых на локальной инсталляции, успешно и полностью автоматически реплицировались в облако при наличии там этих же экстеншенов.
Однако, первая версия обладала рядом ограничений: прежде всего, это полная идентичность схем обеих баз данных. При наличии расхождений репликация отваливалась с ошибкой. Кроме того, нельзя было переходить с версий более ранних, чем Dynamics NAV 2018 R2 с соответствующим накопительным обновлением. Поэтому, появившаяся на рынке эйфория уменьшилась.
С выходом следующей версии технологии Intelligent Edge для Dynamics 365 Business Central в апреле 2019го года ситуация изменилась. Пожалуй, самым главным нововведением явилась возможность иметь разные схемы баз данных, и при этом репликация не отваливалась с ошибками. В частности, если длина полей таблиц локальной инсталляции Business Central превышала длину полей таблиц облачной версии, то данные просто обрезались при репликации (truncate), а если в облаке вообще не было таких полей, то они игнорировались.
Это открыло дополнительные возможности использования этой технологии, о которых собственно и пойдёт речь далее.
С одним из зарубежных клиентов Awara IT, который открывал офис в России и очень хотел пользоваться облачной версией (которой, напомню, пока нет), был реализован следующий архитектурный сценарий. Локализованная российская версия была развёрнута в локальном дата-центре, и сотрудники офиса клиента начали работать именно с ней (т.е. вводить и первично обрабатывать данные на территории России). Настроенная репликация Intelligent Edge позволила загружать эти данные в отдельную компанию в SaaS инсталляции клиента в головном офисе в Европе. Финансовые контролёры, которые в основном являются потребителями отчётов и не вносят коррекций в данные, вполне удовлетворились тем фактом, что данные создаваемой в облаке компании являются read-only. Помимо удобных отчётов и всяких сервисов Azure, которые далее стали использоваться, данные далее консолидировались уже штатными средствами Dynamics 365 Business Central в консолидационную компанию SaaS инсталляции. Это решение также позволило соответствовать условиям законодательства в части обработки и хранения персональных данных.
В дальнейшем, решение позволяет подключать одновременно несколько разных локальных инсталляций в тех странах, которые не имеют облачной локализации, и реплицировать их в головной офис, который также работает на своей локализации. Разумеется, локализация обычно подразумевает наличие дополнительных полей, в том числе и на уровне таблиц финансовых книг G/L Entry, которых нет в локализации (или в версии W1) головного офиса, и такие поля не будут реплицированы. Однако, репликации стандартных общих полей вполне достаточно для того, чтобы эта схема работала и головной офис получал полную картину о том, что происходит в локальных офисах разных стран, только на основании анализа данных своего облачного решения.
Вопрос оптимизации лицензирования в настоящий момент остаётся открытым. С одной стороны, клиенты, которые имеют активную SaaS подписку, могут воспользоваться правом Dual User Rights, позволяющим сгенерить на клиентском портале лицензию для локальной инсталляции. Таким образом, покупая SaaS версию, можно в теории организовать описанную выше архитектуру без дополнительных затрат на лицензии. С другой стороны, не понятно, можно ли будет генерить локальную лицензию с локализацией, отличной от SaaS подписки. Этот вопрос в настоящее время обсуждается с лицензионной командой Майкрософт.
О том, как именно подключать и настраивать Intelligent Edge для Dynamics 365 Business Central – читайте в следующем блоге.
*This post is locked for comments