TSM - Migrare website MVC 3 și DB în Azure (II)

Dragoș Andronic - CTO

Încep cu un scurt rezumat al articolului precedent:

Se dădea o arhitectură "clasică" de web: un portal dezvoltat în ASP.net MVC (3 şi 4) având în spate o bază de date ce rula pe MS SQL server ascunsă de Entity Framework.

Aceasta arhitectură trebuia pregatită de "scalare" - trecută pe un sistem ce permitea deservirea unui număr mare de request-uri.

După ce am analizat mai multe opţiuni de upgrade a arhitecturii (discursul logic poate fi revăzut în articolul precendet) ne-am decis asupra SQL Azure şi Windows Azure ca platformă de migrare.

În articolul curent vom descrie pas cu pas cum exact am făcut migrarea, ce tooling am folosit şi ce probleme au apărut sau pot apărea.

Baza de date

Baza de date era ascusă în spatele Entity Framework - aceasta ne uşurează considerabil munca, unul dintre scopurile unui ORM fiind exact transparenţa în alegerea bazei de date.

În primul rând trebuie să vedem dacă SQL Azure şi SQL Server sunt compatibile - ce se poate migra, ce trebuie schimbat şi ce nu se poate migra.

Un loc bun de documentare este Windows Azure General Guidelines and Limitations . Dacă lucraţi cu o bază de date enterprise trebuie să parcurgeţi tot articolul, dacă nu atunci ajunge să ştiţi că următoarele nu sunt suportate de SQL Azure:

Pentru a afla rapid dacă baza noastră de date este compatibilă cu SQL Azure putem folosi unul din tool-urile de migrare şi încercând migrarea propriu-zisă - în caz de incompatibilitate, toate tool-urile ne vor da un raport detaliat.

Tooling migrare

Se poate folosi pentru a migra baza de date în SQL Azure?

Noi am folosit SQL Management Studio 2012 (ca membru în Bizspark avem acces gratuit la SSMS)

Cum decurge procedura de migrare:

Verificare şi validare

După ce am migrat baza de date, ca să verificăm corectitudinea migrării schimbăm connection string-ul în proiectul ce foloseşte baza de date veche. O dată redirecţionat către SQL Azure totul ar trebui să funcţioneze fără ca nici o altă schimbare să fie necesară.

Note finale

Cam atât despre migrarea bazei de date. Dacă întâmpinaţi probleme la migrare, sau aveţi întrebări mă puteţi contacta direct la dragos(at)txtfeedback.net

În urmatorul articol voi detalia cum am transferat arhitectura si structura de websiteri/directoare virtuale in Azure.