Presentation is loading. Please wait.

Presentation is loading. Please wait.

Migrating Applications to Azure Cloud. Azure migration is a porting project Gap Analysis Migration Cost Analysis Risk Reduction.

Similar presentations


Presentation on theme: "Migrating Applications to Azure Cloud. Azure migration is a porting project Gap Analysis Migration Cost Analysis Risk Reduction."— Presentation transcript:

1 Migrating Applications to Azure Cloud

2 Azure migration is a porting project Gap Analysis Migration Cost Analysis Risk Reduction

3 Choosing a porting model

4 Web sites migrate into web roles Web Role Worker Role VM Role

5 Moving web sites to Azure is not very different then moving them to a web-farm

6 Can’t use Web-sites …Must use web applications (VS will port for you)

7 Full IIS vs. Hosted Web Core Multiple sites or virtual applications activation of WCF services over non-HTTP transports Simple, less resources

8 Tip: Enable Full IIS Add Sites to the csdef file….

9 Tip: Shy away from session state ASP.NET cache is not shared between instances as well Move session to SQL azure Velocity for Azure is coming later in the year – You can use memcached meanwhile

10 Tip: Move configuration from app.config/web.config Changes in web.config – mean redeployment Move

11 Tip: native code ISAPI filters are tricky to import …Consider rewriting

12 Can you Azure this? Hello World PHP echodate

13 Add a Webrole.config… <application fullPath="%RoleRoot%\approot\php\php-cgi.exe"/> <WebRole name="WebRole" enableNativeCodeExecution="true …and enable native code in the.csdef

14 Stateless services Web Role Worker Role VM Role

15 Run under full IIS to get scale out and management capabilities Service 1 Service 2 Service 3 Web Role (full IIS) Service 1 Service 2 Service 3 Web Role (full IIS)

16 Tip: Make your WCF accessible to silverlight clients <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> </cross-domain-policy Drop crossdomain.xml in the root directory of the WebRole

17 Stateful services/ “semi-stateful” services Web Role Worker Role VM Role

18 VM Role vs. Worker Role – another look VM role you can do anything but things are not persisted VM role needs manual maintenance (e.g. upgrades to OS)

19 Worker Role includes facilities to make migration simpler CloudDrive Mapping logs to table storage

20 Tip: pay attention to how you configure your logging By the way this setup cost 5.25$ per year (per instance and just for the transactions)

21 Lavaflow Apps http://www.antipatterns.com/lavaflow.htm

22 The lavaflow apps migrate into VM role Web Role Worker Role VM Role

23 Don’t COM around here no more (can’t update the registry) Use COM+ and manifest / Native C++ Wrap with WCF host

24 Db1 (SQL Azure) Db1 (SQL Azure) Db2 (SQL Azure) Db2 (SQL Azure) Db3 (SQL Azure Db3 (SQL Azure Db3 Archive (Table Storage) Db3 Archive (Table Storage) VM Role IIS … … Migrated SQL CLR Code NT Service

25 Getting Azure’s SLA means at least 2 instances Must make sure app can “scale” to two computers – even for VM role

26 Tip: Why not host your own SQL? Disks partitioning is unknown and does not come with an SLA Not guaranteed to be persistent Need to build availability on top

27 SQL Migration Wizard Compatibility IssueDB 1DB2DB3DB4 Add Cluster Index to tableXXXX Dbcc reindex XXX Table hint without WITH XX CREATE UDX X DB_NAME XX IndexKey_Property X Checkpoint X SELECT INTO XX Sp_helpfile * X Sys.allocation_units * X Sys.internal_tables * X Sys.partitions * X NOT FOR REPLICATION XX BACKUP XX XP_CMDShell XX Global Temp objects XX SysJobs XX Sp_addMessage X File_Name – false positive flag! X Sp_spaceused X Sp_Xml_RemoveDocument X OpenXml X kill X RESTORE FILELISTONLY X DBCC InputBuffer X sp_OA X sysschedules X

28 Tip: SQL Retry SQL Connections: Retry on failure – Connections can drop for variety of reasons Idleness Transient (network) errors Intentional throttling – First step: reconnect immediately Handles idleness- and transient-disconnects – Gateway handles connection retry for app Connections attempted for ~30s before failure – What to do on connection failure? Wait (10 seconds), then retry Change your workload if throttled

29 Backup & Restore

30 Existing apps were developed in an age of abundance in resources Cloud apps should be more cost aware

31 What else? Monitoring Application Lifecycle Management (including system & performance testing) · Archiving · Authentication and authorization (between tiers as well as of users) · CDNs · Charging model · Configuration · Data Access Layer · Data encryption · Data partitioning Data storage and transactions Dependencies and 3rd party components Deployment, continuous integration & automation Diagnostics, logging & instrumentation Elasticity (dynamic, scheduled, or manual) · Geographical co-location · Idempotency · Import/export routines Message security · Message size · Multi-tenancy · Network latency · Page weight · Reporting · Session state · SLAs (availability, performance, etc) · SQL features · Windows Services & batch jobs http://blogs.msdn.com/b/simonince/archive/2010/04/13/checklist-discussing-an-azure-migration.aspx

32 E.g. Can’t host SMTP server in the cloud Can open TCP connection from Azure to the outside world … (and find a SMTP server)

33 e.g. remember Authentication with ACS Slide by Alik Levin

34 Links TCO calculator http://www.microsoft.com/windowsazure/ec onomics/ http://www.microsoft.com/windowsazure/ec onomics/ Azure Migration Wizard - http://sqlazuremw.codeplex.com/ http://sqlazuremw.codeplex.com/ http://blogs.msdn.com/b/windowsazure/archi ve/2010/12/02/new-full-iis-capabilities- differences-from-hosted-web-core.aspx http://blogs.msdn.com/b/windowsazure/archi ve/2010/12/02/new-full-iis-capabilities- differences-from-hosted-web-core.aspx Cloudoscope – http://www.cloudvalue.comhttp://www.cloudvalue.com

35 Illustrations All illustrations from Stockphoto except: – Slide 3 John Nyberg http://www.sxc.hu/photo/1329579 http://www.sxc.hu/photo/1329579 – Slide 18 http://www.majorlycool.com/item/beautiful-but- deadly-lava-flow http://www.majorlycool.com/item/beautiful-but- deadly-lava-flow – Slide 26 http://www.sxc.hu/photo/1212823http://www.sxc.hu/photo/1212823 – Slide 28 http://www.sxc.hu/photo/1316747http://www.sxc.hu/photo/1316747


Download ppt "Migrating Applications to Azure Cloud. Azure migration is a porting project Gap Analysis Migration Cost Analysis Risk Reduction."

Similar presentations


Ads by Google