Cum să migrezi un sistem Dynamics CRM la Dynamics 365 ( în 10 pași )

Migrarea Dynamics CRM în online nu este un subiect nou pentru noi. În trecut am analizat avantajele si dezavantajele unei asftel de migrări, pentru a incuraja business-urile să ia decizii informate asupra sistemelor pe care le folosesc și prin care departamentele operaționale își desfășoară activitatea.

Considerând că un client bine informat a decis migrarea la noul sistem și apelează la serivciile unui partener pentru migrarea Dynamics CRM în sistemul online, Dynamics 365, procesul optim de migrare ramane de multe ori o necunoscută pentru acesta. El ajunge să realizeze după migrare că aplicația migrată a rămas fără multe funcționalități, procesele sunt diferite sau că importul de date a fost realizat incomplet, ducând la o impresie negativă asupra sistemelor Dynamics 365.

În acest articol ne propunem să definim un proces optim de migrare, în 10 pași, pentru a te asigura că migrarea de la Dynamics CRM la Dynamics 365 se face conform unor standarde corecte, fie că ești un partener de implementare aflat la început de drum, fie că ești un client care iși dorește să știe mai multe despre migrare.

Înainte de a descrie procesul trebuie sa ne oprim asupra unor informații pe care este esential să le comunicăm clientului , si pe care acesta trebuie să le înteleagă pe deplin înainte de migrare.

Considerații esențiale de business

Costuri recurente

În momentul în care se decide migrarea unui CRM la versiunea online, unul dintre factorii esențiali ce trebuie luat in considerare este modelul de licențiere. Pentru aplicatiile din suita Dynamics 365, Microsoft mizează pe un model bine împământenint în rândul serviciilor moderne de tip SaaS și anume cel pe bază de subscripție lunară, altfel cunoscut ca modelul pay-as-you-go. Acest model de licențiere intră sub incidența cheltuelilor operaționale recurente, un posibil obstacol în calea firmelor care nu pot susține la nivel operațional costuri tehnologice.

GDPR

Un alt factor decisiv in aprobarea deciziei de migrare poate fi protecția datelor cu caracter personal. Dacă aplicația de CRM care se dorește migrată stochează date personale ale clienților noștri trebuie să întreprindem toate demersurile legale pentru a ne asigur că datele migrate pot fi stocate in afara țării sau, după caz, în afara continentului.

Perspectivă Tehnică

Versiunea CRM-ului on prem

Înainte de a incepe migrarea CRM-ului este foarte important să identificăm versiunea de CRM din mediul on-premise. Este indicat ca inaintea migrarii in mediul online, CRM-ul on-premise sa fie actualizat la ultima versiune (cel putin v9).

Migrarea între versiuninile mai vechi trebuie făcută progresiv. Nu putem sări direct de la Dynamics CRM 2011 la Dynamics 365.  Va trebui să migrăm progresiv aplicația de la 2011 la 2013, de la 2013 la 2015, 2015 la 2016 si abia apoi putem vorbi despre posibilitatea de a migra către 365. Cu cât versiunea de CRM instalată este mai veche, cu atât migrarea va fi mai dificilă, deoarece customizarile și codul aplicației vor fi „deprecated”, adică folosesc metode și tehnologii învechite, care nu se mai află în standardele de calitate impuse de Microsoft pentru 2021.

Sitemul de migrare al bazelor de date

Microsoft recomandă ca migrarea CRM-ului din mediul on-premise in mediul online să fie făcută tot prin intermediul bazei de date, cu ajutorul Fast Track.  Acesta este un serviciu pus la dispozitie de catre cei de la Microsoft pentru migrarea aplicațiilor din mediul on-premise in mediul online.  Mai multe informatii despre eligibiliate aici : https://cloudpartners.transform.microsoft.com/resources/fasttrack

Pentru migrarea aplicației Dynamics CRM din mediul on-premise către Dynamics 365 partenerul de implementare lucrează împreună cu Microsoft și Fast Track pentru a pregati baza de date și aplicația înaintea migrarii. Migrarea finală se va face după efectuarea mai multor migrări de tip DRY RUN, ce au ca scop verificarea compatibilității soluției on-prem cu mediul Dynamics 365.

Afectarea funcționalităților custom

Cel mai important pas este cel de pregatire a planului de migrare in asa fel incat impactul in productivitate sa fie minim. Trebuie sa stiti ca in momentul migrarii aplicatiei de CRM in mediul online o serie de functionalitati pot fi afectate. Acest lucru depinde de gradul de customizare al aplicatiei si modul in care au fost efectuate customizarile.

 

Dacă toate potențialele blockere au fost preînâmpinate și rezolvate este timpul sa trecem la pregatirea planului de migrare Dynamics CRM on-premise in Dynamics 365 online. Trebuie ținut minte faptul că procesul de migrare poate fi diferit în funcție de necesitățile clientului și în funcție de procesele interne ale acestuia. Planul de mai jos reprezintă  doar o serie de acțiuni ce se impun, în linii mari, oricărei migrări. În practică nevoile de business diferă de la client la client. De aceea echipa LINKSOFT personaizează în mod meticulos planul de migrare pentru fiecare implementare in parte.

Plan generic pentru migrarea Dynamics CRM
on-premise la Dynamics 365 online :

1.Pregătirea instanțelor Dynamics 365

Punctul 0 al migrării este deschiderea a două medii online, un mediu izolat de testare (Sandbox) și mediul de producție, destinația finală a CRM-uli nostru. Acest pas este făcut in exclusivitate de către partenerul de implementare, după ce la nivelul clientului a fost asumată decizia de migrare.

2.Faza de evaluare

Prima fază majoră a oricărei mgrări este cea de evaluare a aplicației Dynamics CRM on-premise. Este recomandat ca această evaluare să fie facut atât din punct de vedere tehnic cât și din punct de vedere al proceselor de business.

Din punct de vedere tehnic evaluarea aplicatiei  este făcută pentru a ne asigura ca functionalitatile odata migrate in mediul online vor avea acelasi comportement ca in mediul on-premise cu care suntem obisnuiți, astfel încât la nivelul utilizatorului final să nu existe diferențe majore de User Experience.

Evaluarea proceselor de business este realizată în scopul identificării zonelor în care procesele pot fi optimizate, în vederea unui redesign și pentru a identifica nevoia de adaptare și training in cazul in care diferenta de versiune intre mediul on-premise de unde pornim migrarea si mediul online este mare. De asemenea trebuie sa ne asiguram ca procesele de business sunt bine cunoscute pentru a putea pregatii scenariile de testare in mediul online.

I.Evaluarea tehnică

În evaluarea tehnică participă atât echipa partenerului de implementare cât și reprezentanții tehnici ai clientului cu scopul identificării tuturor elementelor ce trebuie modificate sau adaptate în migrarea CRM-ului. De asemenea, pentru implementarile cu un număr foarte mare de utilizatori este recomandat ca in partea de asessment sa fie implicata si echipa Microsoft. Inginerii Microsoft pot pune la dispoziție o serie de tool-uri cu care putem scana aplicatia aflată pe serverele locale și putem obtine automat o lista de probleme ce trebuie rezolvate până la migrăre. Ce evaluăm in această fază:

JavaScript-uri

Metodele folosite pot deveni deprecated sau unsupported pentru folosirea in mediul online. Lista acestora se poate obtine prin folosirea tool-uri pe care Microsoft le pune la dispozitie.

Plugin-uri

La fel ca în cazul JavaScript-urilor metodele folosite la nivel de plugin pot fi deprecated sau unspported. Avem în vedere la acest punct și limitarea de procesare la 2 minute impusă de Microsoft proceselor ce se desfățoară în mediile Dynamics 365. De asemenea se impune izolarea plug-in-urilor la nivel de Sandbox și testarea funcționalității înainte de integrare.

Integrări cu alte sisteme

Verificarea modului in care au fost dezvoltate interfetele de integrare si pregatirea unui plan de adaptare la noul mediu.  Aceasta proces poate implica:

  1. schimbarea metodei de autenficare si punerea la dispozitie a unui nou endpoint – in cazul ideal.
  2. rescreirea totala a interfeței în cazul în care a fost folosită o metoda de integrare unsupported sau deprecated – un caz destul de frecvent pentru implementările vechi.
  3. inlocuirea acesteia cu una nativa – in mediul online foarte multe integrarii se pot efectua intr-un mod nativ fara a fi necesare dezvoltari suplimentare.

Metode de raportare

Rapoartele ce folosesc proceduri de SQL nu pot fi utilizate în Dynamics 365 online.
Se impune transformarea tuturor rapoartelor folosind Fetch XML sau Power BI.

Aplicații consolă

De asemenea analizăm dacă există aplicații consolă ce necesită înlocuire sau adaptare la noul mediu online. În funcție de complexitate, decizia poate fi de rescriere a acestora folosind alte mijloace (ex: Microsoft Flow) sau de adaptare a acestora pentru a putea fi folosite împreună cu Dynamics 365 online. Trebuie să ne asiguram că avem la dispozitie ca serverul unde este instalata aplicatia consola și ca mașina gazdă se poate conecta la Dynamics 365 online.

Modificări ale bazei de SQL, proceduri stocate / triggere

Decizia în acest caz este una simplă. Limbajul SQL nefiind suportat sub nicio formă în noul mediul online va trebui să rescriem totul folosind metode suportate.

Portal

În ceea ce priveste portalul de Dynamics 365 online, acesta este fundamental diferit față de portalul CRM-ului on-prem.  Portalul din mediul online face parte din suita Power Platform fiind realizat prin Power Apps și se integrează nativ cu aplicația de CRM doar prin configurare.

II.Evaluarea proceselor de business

În evaluarea proceselor de business participă echipa partenerului de implementare prin consultanții de business, cât și reprezentanții operaționali ai clientului. Pentru această analiză  trebuie să avem în vedere că în procesele analizate pot surveni modificări esențiale, pentru a putea fi optimizate pentru noul mediu.

Analiza proceselor de business

La acest nivel fiecare proces de business din Dynamics CRM este analizat separat cât și contextualizat, pentru a identifica oportunități de optimizare, astfel încât aplicația din mediul online să poată performa la capacitate maximă.

Analiza utilizatorilor și modulelor folosite

Dynamics 365 online este construit, asa cum spuneam mai devreme, folosind ca baza Datavaerse si Power Platform. Noutatea este că, pentru fiecare rol care acesează CRM-ul, putem defini/construi un model driven app (acestea poate fi vazut ca un container de obiecte/functionalitati) la care are access un anumit rol. De aceea, obiectivul analizei este de a grupa cât mai eficient utilizatorii pentru a asigura o structură de securitate coerentă și scalabilă.

Licențe și drepturi

Este foarte important să identificăm tipul de licență și drepturile asociate, necesare fiecărui utilizator. Dacă la nivelul Dynamics CRM on-prem nu exista limitari tehnice din acest punct de vedere, mediul online este foarte restrictiv. Ne putem gasi în situația în care ca accesul la anumite module si entități să fie limitat sau inexistent caz în care utilizatorului nu i-au fost acordate drepturile și licențele corespunzătoare.

3.Rezolvarea problemelor identificate în evaluare

Problemele tehnice pot fi rezolvate atat in mediul on-premise cat si direct in mediul online. Decizia asupra mediului se face în funcție de fiecare problema în parte.

Este recomandat ca rezolvarea problemelor tehnice ce vizează izolarea plugin-urilor sau rescrierea metodelor unsoported de JavaScript să se desfășpare în mediul sursă și să fie migrate în producția Dynamics CRM-ului on-premise înainte de migare. În acest fel este minimizat riscul aparitiei unor probleme adiționale în momentul migrării finale. Cu alte cuvinte este indicat să pregătim cât mai mult aplicatia on-premise înainte de migrare, asftel încât CRM-ul nostru să fie adaptat cerințelor Dynamics 365 online.

Există și varianta ca unele probleme să nu poată fi rezolvate direct în mediul sursa și să necesite rezolvarea direct in noul mediul online. Aceste probleme pot fi identificate și rezolvate doar dupa primul DRY RUN.

4.DRY RUN 1 (Identificare)

Pentru cei neavizați, un dry run reprezintă un proces de testare care simulează importul de date în scopul identificării problemelor rămase în sistem și care nu au putut fi identificate în procesul de analiză.

Înainte de începerea dry run-unul inițial, Microsoft definește o serie de prerechizite ce trebuie îndeplinite pentru pregatirea bazei de date ce urmează a fi migrată. Este foarte important ca toate modifcarile aduse bazei de date sa fie documentate, pentru că acestea vor trebui refacute inaintea fiecarui DRY RUN. Cea mai presantă din aceste prerechizite este cea care vizează dimensiunea maximă ce trebuie migrată. Baza de date trebuie să se încadreze într-o dimensiune maximă de 1TB, ceea inseamna ca în cazul în care baza noastră de date depășește această dimensiune, trebuie să gasim variante de reducere a acesteia.

Efectuarea primului DRY RUN este făcută de către partenerul de implementare, în stransă colaborare cu Microsoft și așa cum am menționat și anterior, reprezintă importul bazei de date exportate din mediul on-premise Dynamics CRM în mediul online Dynamics 365.

Putem considera ca DRY RUN-ul a fost efectuat cu succes în momentul în care aplicația Dynamics 365 CRM poate fi accesata online și ne pune la dispoziție toate customizările și datele din mediul on-premise (chiar dacă inițial nu sunt functionale).

După efectuarea importului urmează testarea proceselor de business în mediul online Dynamics 365.  Testarea se face pe baza scenariilor de testare pregatite în timpul evaluării și are ca scop identificarea problemelor reale ale sistemului după migrare. În urma testării vom obtine o imagine reală asupra stării sistemului precum și o listă de probleme ce vor fi trimise către echipa de dezvotare.

5.Rezolvarea problemelor identificate în DRY RUN

Rezolvarea problemelor  identificate se poate face direct in mediul sursa on-premise Dynamics CRM, iar modificarile pot fi migrate cu ajutorul unei soluții in mediul online pentru retestare. Rezolvând problemele direct in mediu sursă reducem posibilitatea reaparțieiei lor la migrare finală.

Dacă problemele nu se pot rezolva în mediul sursă recurgem la a le se rezolva direct în mediul onine. Este important sa pregatim o serie de soluții care vor fi exportate și reimportate după fiecare DRY RUN sau dupa migrarea finală. Vom numi aceste soluții “patchu-uri de migrare”.

Rezolvarea problemelor presupune și abordarea punctuală a fiecărui item al evaluarii tehnice, pentru a ne asigura că nimic nu este lăsat la voia întâmplării. Tot la acest pas includem și adaptarea aplicatiilor terțe integrate cu sistemul CRM, având un mediu care simulează perfect soluția finală, în care dezvolatorii aplicațiilor terțe pot identifica concret nevoile de adaptare ale codului.

6.DRY RUN 2 (Evaluare)

În efectuarea celui de-al doilea DRY RUN trecem din nou prin pașii descriși la punctul anterior, după ștergerea tuturor datelor din DRY RUN 1. Acest lucru asigură efectuarea corectă a acțiunilor și ne pregătește pentru migrarea finală în mediul gol de Producție a sistemului Dynamics 365 Online.

Trecem din nou prin prerechizitele de migrare, prin importul bazei de date, singura diferență intervenind după import, când vom importa și patch-urile de migrare, definite la punctul anterior. Reluam procesul de testare cu toți pașii efectuați și în DRY RUN 1, iar în funcție de rezultatul testării se decide nevoia unui DRY RUN final, o ultimă “repetiție” înainte de migrarea finală. Este foarte important ca înainte de migrarea finală toate problemele să fie rezolvate iar pașii de migrare să fie bine documentați.

Optional : Dacă diferența dintre versiunea on-prem Dynamics CRM și versiunea online, Dynamics 365, este foarte mare se recomandă ca după efectuarea DRY RUN 2 să organizăm traininguri pentru a pregăti forța de muncă pentru lucrul în noul mediu online.

7.DRY RUN 3 (Control)

“Repetiția e mama învățăturii”, iar atunci când vine vorba de sisteme esențiale pentru clienții nostri, este recomandat să testăm de câte ori este nevoie pentru a ne asigura că atunci când realizăm migrarea finală totul va decurge fără probleme. Efectuăm toți pașii de la punctele anterioare din nou și de la 0. Nu ratăm niciun punct pe i, nicio virgulă, niciun bug. La acest punct documentăm tot ce poate fi documentat despre modificările aduse, despre funcționalitățile noului sistem, astfel încât în momentul migrării să nu existe întrebări la care răspunsul să fie “cred că…”.

Din punct de vedere business trebuie să ne asigurăm că utilizatorii sunt informați de migrarea la noul mediu, datele de conectare sunt pregatite și transmise către echipe.

Din punct de vedere tehnic trebuie sa ne asigurăm că toate sistemele terțe cu care CRM-ul este integrat sunt informate de downtime-ul aplicației si de momentul exact al migrarii, de foarte multe ori celelalte echipe partenere trebuie sa efectueze modificări in sistemele lor inainte migrarii (ex: schimbare endpoint-uri etc).

8.Migrarea în producție

Același balet repetat, aceeași pași, un mediul nou.
Se oprește accessul la aplicația Dynamics CRM tuturor utilizatorilor.
Se pregătește baza de date pentru import.
Se importă baza de date (exportată din producția Dynamics CRM) în noul mediul online Dynamics 365 .
Se importă soluțiile ce conțin patch-urile de migrare.
Se efectuează testarea proceselor de business folosind pașii de testare definiți anterior.

9.GO LIVE!

10. Verificări finale

După o migrare cu succes mai avem un singur pas de făcut din punct de vedere al business-ului. Trebuie să ne asiguram că toți utilizatorii sunt informati de migrarea la noul mediu online și de dispariția celui on-prem, să ne asigurăm că toate datele de conectare sunt transmise și că sistemul funcționează corect la nivelul fiecărui user sau grup predefinit.

Concluzii

Migrarea unui sistem Dynamics CRM în online nu este deloc o operațiune simplă. Este nevoie de luni întregi de planificare, pregătire, testare și optimizare pentru a ne asigura că aplicația de Dynamics 365 va funcționa corect și ne va oferi o valoare adaugată față de versiunea on-prem pe care o folosim acum.

Odată cu creșterea în dimensiune și complexitate a sistemului ce se dorește migrat, crește și numărul părților implicate și efortul ce trebuie dedicat acestui proces. Pașii descriși în acest articol reprezintă doar o bază esențială a procesului de migrare. În realitate procesul poate deveni mult mai lung și mai complicat, variabilele migrării diferind fundamental de la implementare la implementare.

Recomandarea LINKSOFT este ca orice migrare să fie făcută de către un partener de implementare cu experiență.  Astfel ne asigurăm ca aplicația noastră va ajunge în mediul online cu un succes și  în cel mai scurt timp. Cu toate acestea, acest articol este menit să funcționeze ca un ghid de bune practici care să ajute profesioniștii aflați la început de drum în a oferi clienților un standard de calitate pe care noi il considerăm esențial, atunci când vine vorba de implementarea produselor Microsoft.

24 Noiembrie 2021 | de Florin Dumitru, Chief Operating Officer