Comments 46
Спасибо за статью. А можете вкратце рассказать, как вы дорабатываете «облачное решение»? Допустим там есть стандартные модули с функционалам каким-то. Дальше доделываются плагины или как? Например, надо добавить на форму Purchase Order какую-то колонку или поле (и в базу тоже). Как это происходит, и как потом это все поддерживается при обновлении базового продукта Dynamics?
Цели вендора тоже понятны — сделать приложения клиентов всегда актуальными с минимальными трудозатратами. Ведь не секрет, что для классической ERP обновление версии зачастую равнозначно новому внедрению.
И можете все-таки по моему примеру: как расширить форму заказа на закупку или продажу. Например, хочется добавить какую-то волшебный параметр, а затем пересчитывать цены в заказе на основе параметра. Как это в общих чертах делается?
Если вкратце, то для таблицы заказов на покупку нужно создать расширение, добавить в него новое поле (параметр). Дальше все зависит от задачи. Если это отдельная кнопка по пересчету цен, то можно создать свой класс с логикой расчета, для вызова класса создать MenuItem, для формы также сделать Extension, в который положить новый MenuItem. Если есть необходимость вклиниться с новым параметром в существующую логику расчета, то нужно смотреть возможность расширения этих стандартных классов. Можно также сделать делегаты на события, в которые включить нужную логику расчета цен, например, при изменении нашего нового параметра запустить логику расчета цен.
Примерно так и делали. Это связано ещё с новой схемой программирования и переноса кастомизаций моделями, хоть модели и были в предыдущих версиях. Например, сначала мы делали разные модели для разных блоков функциональности. Потом пришли к выводу, что проще не множить зависимости между библиотеками (dll), и весь свой код иметь и деплоить одной моделью
Кроме сроков был еще вопрос бюджета: разворачивать и обслуживать в Германии собственную ИТ-инфраструктуру и покупать корпоративные программные лицензии слишком дорого в пересчете на одного пользователя.
А почему нельзя было просто запустить это все на российской инфраструктуре? Пинг до Германии где-то 50мс, разве этого недостаточно?
Тут нету прямой зависимости между пользователями и нагрузкой. 20 пользователей может нагенерировать достаточно данных для фоновой обработки, как в нашем случае. Если чуть более конкретно, то сайзинг окружения считается, исходя из запускаемых процессов (какая функциональность будет использоваться) и из количества номенклатур, поставщиков, клиентов, количества складских транзакций, количества финансовых транзакций, наличия интеграций и т.д. Это все указывается в опросном шаблоне перед выходом в продакшн.
Если говорить конкретно про 7 наших виртуальных машин, то их роли такие — БД, 4 сервера приложений, 2 сервера отчетности.
Могу ответить про сайзинг виртуальных машин, которые мы используем для разработчиков — это OneVM DevBox в Azure Standard E8 v3 (8 vcpus, 64 GiB memory)
Прошу прощения, если не совсем точно объяснил. История с чеклистом для клауда работает так, что он не возвращается назад к клиенту, на основании него MS принимает решение, какого масштаба нужна инфраструктура под клиента в облаке, и ее готовит. В итоге мы просто получили по факту тот набор серверов, который я описал.
В случае решения клиента запускать D365 on-premise, насколько я понимаю, этот чек-лист подгружается в утилиту hardware estimator на портале LCS, и клиент получает рекомендации по сайзингу, но решение остаётся окончательно за ним. Кстати, я могу попробовать прогнать наш чек-лист через эту утилиту и поделиться результатом.
История с чеклистом для клауда работает так, что он не возвращается назад к клиенту, на основании него MS принимает решение, какого масштаба нужна инфраструктура под клиента в облаке, и ее готовит
То есть эти 7 виртуальных машин — это именно в облаке? А цены на эти 7 виртуальных серверов одинаковые? Или там просто цены за пользователя и эти 7 машин — это просто справочная информация?
Кстати, я могу попробовать прогнать наш чек-лист через эту утилиту и поделиться результатом.
Было бы очень интересно.
Цены только за пользователей.
А результатами оценки сайзинга поделюсь в ближайшее время.
А Infrastructure estimator вижу только для предыдущей версии AX2012 — это не очень интересно.
Похоже, что для on-premise решений придется руководствоваться только этим гайдом.
Классически, по-менеджерски завуалированная издёвка над людьми, которые вкалывали по 12 часов при зарплате явно несравнимой с европейской.
Особенно комментарий о преимуществах облачного решения.
Всего 7 VM на 20 пользователей? Счастливчики.
А как вам локальная инфраструктура на 200 юзеров и вынесенный в облако WebShop? Даже сказать страшно Сколько VM.
Здание на фото, кстати, – это Rocket Internet Tower, инкубатор стартапов. Оттуда, например, происходит и немецкий аналог Lamoda – Zalando
есть трудности с интеграцией с немецким банком
Можете немного подробнее рассказать в чем трудности? Это проблема конкретного банка или европейских банков в целом? Или проблема не а банке а исключительно в сроках?
Трудности с интеграцией связаны прежде всего с ограничениями стандартного функционала по генерации файлов для интернет-банка по международным и местным платежам, который не позволяет, например, объединять в одну платежку несколько платежей (за несколько инвойсов) с одинаковыми реквизитами, при этом корректно указывая в назначении платежа весь список исходных документов, за которые идет оплата.
Также была чисто техническая проблема с кодировкой создаваемых файлов — D365 генерит их в UFT-8, а интернет банк ожидает только ANSI.
И ещё есть заморочка с факторингом: либо мы не научились его "готовить", либо в немецкой локализации нет этого функционала.
Есть же компания Норбит, которая как раз внедряет решения от MS. Или они не к облаку делают?
Норбит — далеко не единственная консалтинговая компания — партнёр Microsoft, занимающаяся внедрением ERP Microsoft. Но именно клаудную версию D365 мы запустили вторыми.
И как планируете иметь дело с ежемесячными обновлениями данной системы?
Обновления регулярно накатываем, и пока процесс нравится. Пользуемся вариантом с объединением package'а обновления с моделью собственных разработок, и единым пакетом деплоим. Тестируем обновленное приложение в SAT environment, затем выкатываем в прод.
Большие ожидания связаны с недавно анонсированной утилитой автоматических регрессионных тестов.
Технологии, аутсорс и менталитет: как мы внедряли Microsoft Dynamics 365 в немецком офисе Lamoda