Migracja danych Dynamics 365 do chmury bez strat

Migracja danych Dynamics 365 do chmury budzi u architektów systemowych jeden konkretny strach: utratę dorobku, który zespół budował latami. Niestandardowe encje, pluginy .NET, klasyczne workflows i integracje z systemem ERP to często osiem lat pracy, której nikt nie chce stracić w jednym projekcie. Ten strach jest częściowo uzasadniony, ponieważ nie każdy komponent przenosi się jeden do jednego. Nasi konsultanci podczas audytów migracyjnych widzą jednak powtarzalny wzorzec: większość customizacji trafia do chmury bez zmian, część wymaga refaktoryzacji, a tylko ułamek trzeba przepisać. W tym artykule pokazujemy dokładną mapę tego podziału na bazie sześciu realnych migracji, żebyś mógł zaplanować migrację Dynamics 365 on-premise do chmury i ocenić, co stanie się z każdą kategorią Twoich rozszerzeń w Dynamics 365 Sales.

Dlaczego strach przed utratą customizacji blokuje decyzję o migracji

Decyzja o migracji rzadko zatrzymuje się na argumentach finansowych czy regulacyjnych. Zatrzymuje się na pytaniu architekta: co stanie się z kodem, który pisaliśmy przez lata. Często identyfikujemy ten strach jako realną przyczynę odkładania projektu, nawet w organizacjach, które już policzyły koszt zwlekania i wiedzą, dlaczego dalsze utrzymanie środowiska on-premise stało się decyzją o ryzyku regulacyjnym i operacyjnym. Trzy scenariusze poniżej pokazują, skąd ten strach się bierze i dlaczego w większości przypadków jest większy niż faktyczna skala pracy.

Osiem lat pluginów i workflows, których nikt nie chce stracić

Nasi konsultanci podczas audytów migracyjnych najczęściej spotykają środowiska Dynamics CRM rozbudowywane nieprzerwanie od wdrożenia w 2016 lub 2017 roku. Przez ten czas powstają dziesiątki pluginów .NET, setki klasycznych workflows i niestandardowe encje obsługujące procesy, których nie ma w standardzie produktu. Każdy z tych komponentów rozwiązywał realny problem biznesowy w momencie powstania, dlatego zespół traktuje je jako dorobek, nie jako dług. Strach przed migracją danych Dynamics 365 do chmury bierze się stąd, że wygląda ona jak ryzyko zresetowania całej tej pracy w jednym projekcie.

W rzeczywistości reset całego środowiska to scenariusz, który spotykamy najrzadziej. Większość pluginów obsługujących logikę biznesową, walidacje i automatyzacje pól przenosi się do chmury bez zmiany kodu, ponieważ model rozszerzeń Dynamics 365 pozostał spójny między wersją on-premise a chmurową.

Problem nie polega więc na utracie dorobku, ale na braku wiedzy, które konkretnie komponenty wymagają uwagi. Bez tej wiedzy całe środowisko wygląda na zagrożone, choć faktyczne ryzyko dotyczy zwykle kilkunastu procent rozszerzeń.

Typowy dorobek po 8 latach
Pluginy .NET47
Workflows klasyczne130
Niestandardowe encje22
Integracje zewnętrzne18

Wartości z rzeczywistego inwentarza środowiska produkcyjnego

Integracje oparte na bezpośrednim dostępie do SQL Server

Drugi scenariusz dotyczy komponentów, które na on-premise korzystają z bezpośredniego dostępu do bazy SQL Server. Często identyfikujemy pluginy i konektory do systemu ERP, które odpytują tabele SQL wprost lub zapisują dane z pominięciem standardowego Web API. To rozwiązanie działało lokalnie, ponieważ baza i aplikacja były w tym samym środowisku. W Dynamics 365 Cloud bezpośredni dostęp do SQL jest ograniczony, dlatego właśnie te integracje wymagają zmiany podejścia, nie zaś automatycznego przeniesienia.

Ta kategoria budzi największy niepokój architektów, ponieważ integracja z systemem ERP zwykle obsługuje proces krytyczny, na przykład synchronizację faktur albo statusów zamówień. Awaria takiej integracji podczas migracji oznaczałaby realną przerwę operacyjną.

Mechanizm rozwiązania jest jednak znany i powtarzalny: bezpośredni dostęp do SQL zastępuje się wywołaniem przez Dataverse, a logikę przenosi się do warstwy, która w chmurze odpowiada za integracje. Efektem jest komponent stabilniejszy niż pierwotny, ponieważ przestaje zależeć od struktury bazy, która i tak zmienia się przy każdej aktualizacji.

Dostęp do danych: on-premise vs chmura
On-premise
Plugin → bezpośrednie zapytanie SQL Server → tabela
wymaga zmiany podejścia
Dynamics 365 Cloud
Plugin → Dataverse API → warstwa danych

Deklarowana skala customizacji kontra rzeczywisty inwentarz

Trzeci scenariusz jest najbardziej kosztotwórczy, choć na pierwszy rzut oka wygląda niewinnie. Podczas pierwszych rozmów klient zwykle deklaruje, że ma może dziesięć pluginów i kilkanaście workflows. Na projektach wdrożeniowych nauczyliśmy się, że deklaracja i rzeczywistość rozjeżdżają się o rząd wielkości, ponieważ przez lata customizacje dokładali różni dostawcy, a dokumentacja rzadko nadążała za zmianami. Skutkiem jest wycena migracji oparta na założeniach zamiast na danych, co prowadzi wprost do przekroczenia budżetu i terminu.

Różnica między deklaracją a inwentarzem nie wynika ze złej woli, lecz z natury środowiska, które rosło organicznie. Workflow dodany na potrzeby jednego działu trzy lata temu nadal działa w tle i nikt o nim nie pamięta, dopóki narzędzie inwentaryzacyjne go nie wykryje.

Implikacja dla decydenta jest prosta: realny business case migracji powstaje dopiero po inwentaryzacji, a nie przed nią. Każda liczba podana wcześniej jest prognozą, a nie wyceną, i traktowanie jej jak wyceny jest najczęstszą przyczyną rozjazdu projektu.

Deklaracja vs inwentarz
Deklaracja klienta
~10 pluginów · kilkanaście workflows
Po inwentaryzacji
47 pluginów · 130 workflows · 22 encje
Rozjazd rzędu wielkości to norma, nie wyjątek

Co realnie dzieje się z customizacjami po migracji do chmury

Diagnoza strachu z poprzedniej sekcji prowadzi do pytania, na które architekt potrzebuje konkretnej odpowiedzi: co dokładnie stanie się z każdą kategorią rozszerzeń. Nasi konsultanci po sześciu migracjach środowisk produkcyjnych widzą powtarzalny podział na trzy grupy komponentów. Około sześćdziesiąt do osiemdziesięciu procent przenosi się bezpośrednio, piętnaście do dwudziestu pięciu procent wymaga refaktoryzacji, a pięć do piętnastu procent trzeba przepisać lub zastąpić. Te trzy liczby są szkieletem całego business case migracji danych Dynamics 365 do chmury, ponieważ od nich zależy nakład pracy i harmonogram projektu.

Co przenosi się bezpośrednio: encje, formularze, większość workflows

Często identyfikujemy największą grupę komponentów jako tę, która przenosi się do chmury bez zmiany. Niestandardowe encje, pola, relacje, formularze, widoki i większość klasycznych workflows opierają się na modelu metadanych, który jest wspólny dla wersji on-premise i chmurowej. Po migracji te elementy działają w Dynamics 365 Sales tak samo jak wcześniej, ponieważ nie dotykają warstwy, która zmieniła się między platformami. To właśnie ta grupa odpowiada za uczucie ulgi, które obserwujemy u zespołów po pierwszym dniu inwentaryzacji.

Bezpośrednia migracja nie oznacza, że komponent zostaje skopiowany w niezmienionej formie. Oznacza, że jego logika i konfiguracja działają bez przepisywania kodu, choć zostają osadzone w nowym środowisku rozwiązania i objęte modelem zarządzania chmurowego.

Dla architekta praktyczna konsekwencja jest taka, że większość pracy wykonanej przez lata zachowuje swoją wartość. Im wyższy udział tej grupy w Twoim środowisku, tym tańszy i krótszy projekt migracji, co inwentarz pokazuje już w pierwszym tygodniu.

Migracja bezpośrednia 60–80%
Niestandardowe encje, pola, relacje
Formularze i widoki
Większość workflows klasycznych
Pluginy z logiką biznesową bez SQL
Role bezpieczeństwa i zestawy uprawnień

Co wymaga refaktoryzacji: workflows klasyczne i pluginy na SQL

Druga grupa to komponenty, które działają poprawnie, ale w chmurze powinny opierać się na innej technologii. Refaktoryzacja oznacza tu zachowanie funkcji biznesowej przy zmianie sposobu jej realizacji. Najczęściej dotyczy to klasycznych workflows, które warto przenieść do Power Automate, oraz pluginów korzystających z bezpośredniego dostępu do SQL Server. Po migracji ten zakres często domykamy w ramach optymalizacji Dynamics 365, ponieważ refaktoryzacja jest dobrym momentem na uproszczenie logiki, która narastała latami.

Refaktoryzacja budzi obawę o czas, ale zwykle jest tańsza, niż wygląda. Logika biznesowa workflow zostaje ta sama, zmienia się narzędzie, które ją wykonuje, a Power Automate odwzorowuje większość wzorców klasycznych workflows gotowymi akcjami.

Korzyść wykracza poza samą migrację. Przeniesiona logika staje się łatwiejsza w utrzymaniu, ponieważ zespół konfiguruje ją wizualnie zamiast utrzymywać kod, a każda przyszła zmiana procesu nie wymaga już dewelopera.

Refaktoryzacja 15–25%
Workflow klasyczny
Power Automate (cloud flow)
Plugin z dostępem do SQL
Plugin na Dataverse API lub Azure Functions

Co trzeba przepisać lub zastąpić innym rozwiązaniem

Trzecia grupa jest najmniejsza, ale wymaga najwięcej uwagi architektonicznej. Widzimy częsty problem komponentów, które na on-premise rozwiązywały lukę w funkcjonalności produktu, a w chmurze ta luka już nie istnieje, ponieważ Microsoft dodał natywny odpowiednik. Inne komponenty są tak mocno związane z lokalną infrastrukturą, że ich przeniesienie nie ma sensu, a tańszym kierunkiem jest zastąpienie ich dedykowanym rozwiązaniem opartym na aplikacji Microsoft tworzonej na zamówienie lub funkcją Azure.

Przepisanie komponentu brzmi jak strata, ale w praktyce często jest najlepszą wiadomością z całego inwentarza. Oznacza, że proces, który przez lata wymagał własnego kodu, ma teraz odpowiednik dostępny w standardzie platformy lub w usłudze chmurowej.

Decyzja w tej grupie zawsze jest indywidualna i wynika z trzech parametrów komponentu, które opisujemy w kolejnej sekcji. Bez tej analizy łatwo przepisać coś, co dało się zachować, albo zachować coś, co taniej było zastąpić.

Przepisanie lub zastąpienie 5–15%
Komponent z natywnym odpowiednikiem w Dynamics 365
Rozszerzenie silnie związane z lokalną infrastrukturą
Logika do przeniesienia na funkcję Azure
Najmniejsza grupa, najwięcej decyzji architektonicznych

Ile kosztuje refaktoryzacja i dlaczego inwentarz zwraca się od pierwszego dnia

Podział na trzy grupy komponentów odpowiada na pytanie, co się przenosi. Pozostaje pytanie, ile to kosztuje, a na nie nie da się odpowiedzieć bez inwentarza. Postrzeganie refaktoryzacji wyłącznie przez pryzmat dodatkowego kosztu jest częstym błędem strategicznym, który spotykamy w organizacjach budujących business case migracji danych Dynamics 365 do chmury. Podczas konsultacji często wskazujemy na to, że koszt refaktoryzacji jest policzalny dopiero wtedy, gdy każdy komponent zostanie sklasyfikowany według trzech parametrów, a sam inwentarz zwraca się szybciej niż jakakolwiek inna faza projektu.

Trzy parametry każdego komponentu: aktywny, krytyczny, ma odpowiednik natywny

Nasi architekci systemowi podkreślają, że wycena migracji nie wynika z liczby komponentów, lecz z ich klasyfikacji. Każdy plugin, workflow i integracja dostaje odpowiedź na trzy pytania: czy jest aktywny, czy obsługuje proces krytyczny i czy ma natywny odpowiednik w chmurze. Komponent nieaktywny znika z zakresu projektu, co od razu obniża wycenę. Komponent aktywny, ale z natywnym odpowiednikiem trafia do grupy do zastąpienia, a nie do przepisania. Dopiero komponent aktywny, krytyczny i bez odpowiednika wymaga rzeczywistej pracy refaktoryzacyjnej.

Ta klasyfikacja jest powodem, dla którego dwa środowiska z tą samą liczbą pluginów mogą mieć zupełnie różną wycenę migracji. Liczy się nie ilość, ale udział komponentów wymagających pracy, a ten ujawnia się dopiero po przejściu trzech parametrów.

Dla decydenta oznacza to, że pierwsza rozmowa o cenie migracji bez inwentarza jest przedwczesna. Realna liczba pojawia się po klasyfikacji, a różnica między prognozą a wyceną potrafi sięgać kilkudziesięciu procent.

Ścieżka decyzyjna komponentu
1. Aktywny?
Nie → poza zakresem projektu
2. Krytyczny?
Decyduje o priorytecie i testach
3. Ma odpowiednik natywny?
Tak → zastąp · Nie → refaktoryzuj

Dlaczego wycena bez inwentarza zawsze przekracza budżet i termin

Często identyfikujemy brak rzetelnego inwentarza jako najczęstszą przyczynę przekroczenia budżetu i terminu migracji. Mechanizm jest prosty: wycena oparta na deklaracji zakłada mniejszą liczbę komponentów wymagających pracy, niż ujawnia rzeczywistość. Gdy w trakcie projektu pojawiają się workflows i pluginy, o których nikt nie pamiętał, zakres rośnie, a wraz z nim koszt i harmonogram. Inwentarz odwraca tę kolejność, ponieważ ujawnia pełen zakres przed podpisaniem umowy, a nie w jej trakcie.

Doświadczenie z sześciu migracji pokazuje, że różnica między oszacowaniem własnym klienta a rzeczywistym zakresem regularnie sięga kilkudziesięciu procent, zawsze w stronę niedoszacowania. To nie jest wyjątek, lecz reguła środowisk rosnących organicznie przez wiele lat.

Inwentarz przeprowadzony przed wyceną zamienia tę niepewność w policzalny zakres. Dlatego traktujemy go jako pierwszy etap dający zwrot, a nie jako koszt wstępny, ponieważ chroni cały budżet projektu przed rozjazdem.

Wycena z inwentarzem vs bez
Bez inwentarza
Zakres rośnie w trakcie projektu · budżet i termin pod presją
Z inwentarzem
Pełen zakres znany przed umową · wycena oparta na danych
Czas inwentaryzacji w metodyce ARP Ideas
10 dni roboczych

Refaktoryzacja jako okazja do redukcji długu technologicznego

Refaktoryzacja przy migracji ma drugą stronę, której decydenci zwykle nie biorą pod uwagę. Każdy komponent przenoszony z on-premise jest okazją do oceny, czy nadal odpowiada na aktualny proces biznesowy. Część workflows i pluginów obsługuje procedury, które zmieniły się przez lata, a kod został przy starej wersji. Migracja jest jedynym momentem, w którym ten dług technologiczny da się spłacić bez osobnego projektu, ponieważ komponent i tak przechodzi przez ręce architekta.

Ważne: refaktoryzacja generuje koszt, którego nie ma przy migracji bezpośredniej, ale warto liczyć go w kontekście tego, co eliminuje, czyli utrzymania kodu, którego zespół nie chce już rozwijać. Dokładny udział każdej z trzech grup w Twoim środowisku oraz wycenę refaktoryzacji przygotowujemy indywidualnie podczas bezpłatnego Audytu Migracyjnego, którego wynikiem jest inwentarz z klasyfikacją komponentów i planem dla każdej kategorii.

Spłata długu technologicznego przy okazji migracji jest tańsza niż osobny projekt porządkowy, ponieważ nie wymaga ponownego wdrażania zespołu w kontekst komponentu. Architekt analizuje go raz, na potrzeby migracji, i przy tej samej okazji decyduje o uproszczeniu.

Efektem jest środowisko po migracji lżejsze niż przed nią, ponieważ nieaktywne komponenty zostały odcięte, a logika narosła przez lata została uproszczona. To korzyść, której nie widać w arkuszu wyceny, ale którą zespół odczuwa od pierwszych tygodni pracy w chmurze.

Co zyskuje środowisko przy refaktoryzacji
Odcięcie nieaktywnych workflows i pluginów
Logika konfigurowana wizualnie zamiast w kodzie
Mniej zależności od pojedynczego dewelopera
Krótszy czas każdej przyszłej zmiany procesu

Jak technicznie przenosi się pluginy, workflows i dane

Klasyfikacja komponentów daje obraz zakresu, ale architekt potrzebuje wiedzieć, co dokładnie dzieje się z kodem na każdej z trzech ścieżek. Nasi architekci systemowi podkreślają, że poprawne rozpoznanie mechanizmu technicznego decyduje o tym, czy refaktoryzacja zamknie się w przewidzianym czasie. Trzy obszary mają tu kluczowe znaczenie: pluginy .NET, klasyczne workflows oraz warstwa danych, na której opiera się cała migracja danych Dynamics 365 do chmury. Każdy z nich ma własną logikę przenoszenia i własne granice odwzorowania jeden do jednego.

Pluginy .NET: bezpośrednia migracja kontra Azure Functions

Często identyfikujemy pluginy .NET jako komponent, który budzi największy niepokój, a okazuje się najprostszy. Plugin operujący na danych przez standardowy model rozszerzeń Dynamics 365, czyli reagujący na zdarzenia rekordów i modyfikujący pola, przenosi się do chmury bez przepisywania kodu, ponieważ ten model pozostał spójny między platformami. Refaktoryzacji wymagają dopiero pluginy korzystające z bezpośredniego dostępu do SQL Server lub z zasobów lokalnego serwera, których w chmurze nie ma. Te przenosi się na Azure Functions, gdzie logika działa jako usługa wywoływana przez Dataverse.

Granica przebiega więc nie po samym pluginie, ale po tym, czego on dotyka. Plugin zamknięty w modelu danych Dynamics 365 jest bezpieczny. Plugin sięgający poza ten model, do bazy SQL albo do plików na serwerze, wymaga przeniesienia tej części logiki na usługę chmurową.

Dla zespołu praktyczna konsekwencja jest taka, że nie trzeba przepisywać całego pluginu, lecz wydzielić fragment sięgający poza platformę. Reszta kodu zostaje, co znacząco skraca pracę w porównaniu z przepisaniem komponentu od zera.

Plugin .NET: która ścieżka
Migracja bezpośrednia
Plugin operuje wyłącznie na modelu danych Dynamics 365
Refaktoryzacja na Azure Functions
Plugin sięga do SQL Server lub zasobów lokalnego serwera

Klasyczne workflows do Power Automate i granice odwzorowania jeden do jednego

Drugi obszar to klasyczne workflows, które w chmurze warto przenieść do Power Automate. Na projektach wdrożeniowych nauczyliśmy się, że większość wzorców klasycznych workflows ma gotowy odpowiednik w postaci akcji Power Automate, dlatego ich przeniesienie jest konfiguracją, a nie programowaniem. Granica odwzorowania jeden do jednego pojawia się przy workflows wywołujących własny kod lub zależnych od kolejności wykonania w obrębie transakcji, ponieważ Power Automate działa w innym modelu wykonania. Te fragmenty rozdziela się na akcję konfiguracyjną i wydzieloną logikę.

Najczęstszy błąd na tym etapie to założenie, że każdy workflow przeniesie się bez zmian, albo odwrotnie, że żaden się nie przeniesie. Prawda leży pośrodku i wynika z analizy konkretnego workflow, nie z ogólnej reguły.

Korzyść z przeniesienia do Power Automate wykracza poza migrację. Proces staje się czytelny dla zespołu biznesowego, który może go modyfikować bez angażowania dewelopera, co obniża koszt utrzymania w każdym kolejnym roku.

Workflow: odwzorowanie w Power Automate
Warunki i rozgałęzienia1:1
Aktualizacja i tworzenie rekordów1:1
Powiadomienia i zadania1:1
Wywołanie własnego koduwydzielić

Dataverse, SQL i On-Premises Data Gateway: gdzie kończy się natywność

Trzeci obszar to warstwa danych, na której opiera się różnica między platformami. On-premise przechowuje dane w bazie SQL Server z dostępem przez Web API oraz bezpośrednio przez SQL. Dynamics 365 Cloud opiera się na Dataverse, wspólnej warstwie danych dla aplikacji Microsoft. Tu konieczne jest precyzyjne rozróżnienie, które często bywa upraszczane. Natywnie wyłącznie funkcje sztucznej inteligencji i Microsoft Copilot dla Dynamics 365 wymagają Dataverse i nie uruchomią się na żadnej ścieżce poza chmurą, co opisujemy szerzej w kontekście ekosystemu AI niedostępnego dla wersji on-premise.

Power Automate, Power Apps i Power BI potrafią pracować z danymi z on-premise CRM, ale wymagają wtedy dodatkowej warstwy, najczęściej On-Premises Data Gateway, oraz akceptacji ograniczeń wydajnościowych i funkcjonalnych w porównaniu z natywną pracą na Dataverse. To istotne, ponieważ zależność od Dataverse dotyczy natywnie tylko warstwy AI, a nie całego Power Platform.

Dla architekta wniosek jest praktyczny. Migracja na Dataverse nie jest warunkiem korzystania z Power Platform, ale jest warunkiem korzystania z niego bez dodatkowej warstwy integracyjnej i bez ograniczeń, które ta warstwa wprowadza. Pełną ocenę tej zależności w Twoim środowisku przygotowujemy w ramach projektu migracji Dynamics 365 do chmury.

Zależność od Dataverse
Wymaga Dataverse natywnie
AI i Microsoft Copilot dla Dynamics 365
Działa też z on-premise, z ograniczeniami
Power Automate, Power Apps, Power BI przez On-Premises Data Gateway

Jak zaplanować migrację customizacji, pierwszy krok

Wiedza o tym, co przenosi się bezpośrednio, co wymaga refaktoryzacji, a co przepisania, prowadzi do jednego pytania operacyjnego: od czego zacząć. Nasi konsultanci podczas spotkań z architektami i sponsorami projektów regularnie wskazują na ten sam wzorzec. Migracja danych Dynamics 365 do chmury nie zaczyna się od przenoszenia komponentów, lecz od decyzji o inwentaryzacji, ponieważ to ona zamienia strach przed utratą dorobku w policzalny plan dla każdej kategorii rozszerzeń.

Pięć sygnałów, że Twoje środowisko jest gotowe do inwentaryzacji

Decyzja o starcie inwentaryzacji nie wymaga spełnienia wszystkich warunków jednocześnie. Wystarczą trzy z pięciu poniższych sygnałów, żeby audyt customizacji miał sens biznesowy. Pierwszym sygnałem jest sytuacja, w której nikt w zespole nie potrafi podać dokładnej liczby aktywnych pluginów i workflows, co oznacza, że środowisko rosło szybciej niż dokumentacja. Drugim sygnałem jest obecność integracji z systemem ERP opartej na bezpośrednim dostępie do SQL Server, ponieważ to ona najczęściej wymaga zmiany podejścia w chmurze. Trzecim sygnałem jest zatwierdzony przez zarząd plan wykorzystania sztucznej inteligencji lub Copilota w sprzedaży albo obsłudze, którego nie da się zrealizować bez warstwy Dataverse. Czwartym sygnałem jest rosnący koszt utrzymania komponentów, których nikt nie chce już rozwijać, a które nadal wymagają uwagi dewelopera. Piątym sygnałem jest planowana zmiana w procesie biznesowym, która i tak wymusi modyfikację istniejących workflows, co czyni migrację naturalnym momentem na ich uporządkowanie.

Każdy z tych sygnałów osobno wygląda na problem jednego zespołu lub jednego komponentu. Razem stają się argumentem za inwentaryzacją, ponieważ pokazują, że środowisko przekroczyło próg, powyżej którego ręczne panowanie nad customizacjami przestaje być możliwe.

Próg trzech sygnałów nie jest przypadkowy. To granica, powyżej której koszt braku wiedzy o własnym środowisku zaczyna przewyższać koszt jej zdobycia, a inwentaryzacja przestaje być opcją, a staje się warunkiem racjonalnej wyceny.

Pięć sygnałów gotowości
1Nieznana liczba aktywnych pluginów i workflows
2Integracja z ERP na bezpośrednim SQL Server
3Zatwierdzony plan AI lub Copilota w organizacji
4Rosnący koszt utrzymania nierozwijanych komponentów
5Planowana zmiana procesu wymuszająca edycję workflows
Próg decyzyjny: 3 z 5 sygnałów

Od inwentarza technicznego do go-live, rola partnera wdrożeniowego

Inwentaryzacja jest pierwszym etapem, ale nie jedynym, w którym rola partnera wdrożeniowego jest decydująca. Po inwentarzu następuje klasyfikacja każdego komponentu według trzech parametrów, a po niej projekt migracji, w którym dane, encje i formularze przenoszą się bezpośrednio, workflows trafiają do Power Automate, a pluginy sięgające poza model danych na Azure Functions. Ostatnim etapem jest optymalizacja Dynamics 365 po migracji, podczas której dostrajamy przeniesione komponenty i uruchamiamy funkcje niedostępne wcześniej na on-premise.

Rekomendacja

Migracja danych Dynamics 365 do chmury bez utraty customizacji nie jest pytaniem o to, czy zachowasz dorobek zespołu, lecz o to, ile z niego wymaga uwagi — a tę liczbę daje wyłącznie inwentarz. Pierwszym krokiem, który możesz wykonać w ciągu najbliższych dwóch tygodni, jest umówienie audytu, którego wynikiem jest klasyfikacja każdego komponentu i plan dla trzech grup, zanim podejmiesz jakąkolwiek decyzję o zakresie i koszcie projektu.

W tej sekwencji rola partnera jest najbardziej widoczna na początku i na końcu. Inwentarz wymaga doświadczenia w rozpoznawaniu komponentów, które wyglądają na proste, a kryją zależność od lokalnej infrastruktury. Optymalizacja po go-live wymaga znajomości funkcji platformy, które dopiero teraz wchodzą do codziennej pracy zespołu. Pełny zakres projektu migracji omawiamy podczas migracji Dynamics 365 on-premise do chmury, a pierwszą ocenę gotowości środowiska w trakcie bezpłatnego Audytu Migracyjnego.

Najczęściej zadawane pytania o migrację customizacji

Sześć pytań, które najczęściej zadają architekci i sponsorzy projektów planujący migrację danych Dynamics 365 do chmury bez utraty pracy własnego zespołu.

? Czy migracja danych Dynamics 365 do chmury oznacza utratę naszych customizacji?

Nie, choć część komponentów wymaga zmian. W audytach migracyjnych powtarza się podział, w którym 60 do 80 procent customizacji przenosi się bezpośrednio, 15 do 25 procent wymaga refaktoryzacji do Power Platform lub Azure Functions, a 5 do 15 procent trzeba przepisać lub zastąpić natywnym odpowiednikiem.

Dokładne proporcje dla Twojego środowiska wynikają z inwentaryzacji, a nie z założeń, dlatego rzetelna wycena migracji Dynamics 365 on-premise do chmury powstaje dopiero po audycie technicznym.

Źródło: Microsoft Learn, program migracji Dynamics CRM on-premises do online

? Jak technicznie przenosi się pluginy .NET z on-premise do chmury?

Plugin operujący wyłącznie na modelu danych Dynamics 365 przenosi się bez przepisywania kodu, ale w chmurze działa w trybie Sandbox z ograniczonym zaufaniem i limitem czasu wykonania około dwóch minut, podczas gdy on-premise dopuszczał pełne zaufanie. Pluginy sięgające do bazy SQL Server lub do zasobów lokalnego serwera wymagają przeniesienia tej części logiki na Azure Functions lub Azure Service Bus.

W praktyce nie przepisuje się całego pluginu, lecz wydziela fragment sięgający poza platformę, a resztę kodu zachowuje. Ten zakres realizujemy w ramach tworzenia aplikacji Microsoft na zamówienie.

Źródło: Microsoft Learn, rejestracja pluginów w trybie Sandbox

? Czy klasyczne workflows zastępuje się w pełni przez Power Automate?

Większość wzorców klasycznych workflows ma gotowy odpowiednik w postaci akcji Power Automate, więc warunki, aktualizacje rekordów, powiadomienia i zadania przenoszą się jeden do jednego jako konfiguracja. Granica pojawia się przy workflows wywołujących własny kod lub zależnych od kolejności wykonania w obrębie transakcji.

Te fragmenty rozdziela się na akcję konfiguracyjną i wydzieloną logikę, a całość warto domknąć podczas optymalizacji Dynamics 365 po migracji. Więcej: jak audyt porządkuje logikę narosłą przez lata.

Źródło: Microsoft Learn, migracja do Dynamics 365 online

? Ile kosztuje refaktoryzacja customizacji przy migracji?

Koszt zależy od udziału dwóch grup wymagających pracy, czyli 15 do 25 procent do refaktoryzacji i 5 do 15 procent do przepisania, a ten udział ujawnia dopiero inwentaryzacja środowiska. Wycena podana wcześniej jest prognozą, nie wyceną, a różnica między oszacowaniem własnym a rzeczywistym zakresem regularnie sięga kilkudziesięciu procent.

Koszt refaktoryzacji warto liczyć w kontekście tego, co eliminuje, czyli utrzymania kodu, którego zespół nie chce już rozwijać. Udział trzech grup w Twoim środowisku wyceniamy podczas bezpłatnego Audytu Migracyjnego.

Źródło: Microsoft Learn, program migracji on-premises do online

? Od czego zacząć, żeby ocenić realną skalę refaktoryzacji?

Od inwentaryzacji środowiska, podczas której każdy plugin, workflow i integracja przechodzi przez trzy parametry: czy jest aktywny, czy obsługuje proces krytyczny i czy ma natywny odpowiednik w chmurze. Komponent nieaktywny znika z zakresu, komponent z odpowiednikiem trafia do grupy do zastąpienia, a dopiero aktywny, krytyczny i bez odpowiednika wymaga refaktoryzacji.

W metodyce ARP Ideas inwentaryzacja zamyka się w dziesięciu dniach roboczych i staje się podstawą projektu migracji Dynamics 365 do chmury. Więcej: dlaczego utrzymanie on-premise stało się decyzją o ryzyku.

Źródło: Microsoft Learn, migracja do Dynamics 365 online

? Kiedy lepiej przenieść plugin 1:1, a kiedy przepisać go do Power Automate lub Azure Functions?

Plugin przenosi się jeden do jednego, gdy operuje wyłącznie na modelu danych Dynamics 365 i mieści się w limitach trybu Sandbox. Logikę procesową, czyli warunki, powiadomienia i aktualizacje rekordów, warto przenieść do Power Automate, ponieważ staje się wtedy konfigurowalna bez dewelopera.

Azure Functions wybiera się wtedy, gdy komponent sięga poza platformę, do lokalnego SQL Server lub plików, albo gdy przekracza limit czasu wykonania w trybie Sandbox. Po migracji te komponenty wracają do codziennej pracy zespołu w Dynamics 365 Sales.

Źródło: Microsoft Learn, integracja Dynamics 365 z Azure

Bezpłatny Audyt Migracyjny

Boisz się utraty customizacji przy migracji do chmury?

Podczas Audytu Migracyjnego architekt ARP Ideas inwentaryzuje Twoje pluginy, workflows i integracje, klasyfikuje każdy komponent według ścieżki migracji i pokazuje, ile z Twojego dorobku przenosi się bezpośrednio, a ile wymaga uwagi. Bez zobowiązań i bez presji decyzji.

✓ Inwentarz customizacji z klasyfikacją w 10 dni roboczych
✓ Plan dla trzech grup komponentów przed wyceną projektu
Porozmawiaj z architektem migracji

Ocena gotowości środowiska w 30-minutowej rozmowie

Image

Autor: Dobrosław Przebieracz

Business Lead / MS Power Platform Architect Expert

Od lat łączy analizę biznesowo-systemową z projektowaniem rozwiązań idealnie dopasowanych do potrzeb klienta. Prowadził liczne wdrożenia Dynamics 365 CRM, SharePoint oraz aplikacji niestandardowych. Pasjonat nowych technologii i AI, którym interesuje się od 2019 (zanim to było modne). W ARP Ideas odpowiada za rozwój standardów pracy konsultantów i usprawnienia organizacyjne.

Related Articles