Your SlideShare is downloading. ×
Azure 迁移之道
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Azure 迁移之道

932
views

Published on

The presentation of my training ppt in Microsoft Azure Deep Dive Lab in 2011/3/15 - 2011/3/18.

The presentation of my training ppt in Microsoft Azure Deep Dive Lab in 2011/3/15 - 2011/3/18.

Published in: Self Improvement

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
932
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Windows Azure迁移之道 Wang Tao / 2011-3-16
  • 2. • Anytao• http://iface.me/anytao• http://t.sina.com.cn/anyta o• http://anytao.cnblogs.com/
  • 3. Agenda1 Overview2 实践和典型问题3 应用迁移4 数据迁移5 Misc
  • 4. Overview• 实践 – 先数据后应用 – 先本地后云端 – 逐层测试,局部修改,禁用不可用• 典型问题 – COM组件,部分信任 – 文件路径问题 – Statelessness – 版本问题:.NET, SQL
  • 5. 应用迁移• 包括.NET版本及工程类型修改、部分功能屏蔽、必要代 码修正• website改为webapp• 文件等包含在工程目录下,dll等包含在bin目录,以bin deployment方式部署• 路径问题• 由于现有系统使用虚拟目录而Azure部署将会在网站根 目录,所以造成现有系统多处路径计算错误。• 解决方案:新版本发版之前使用网站根目录部署并测试, 保证路径正确。同时路径计算相关问题加入开发规范, 统一路径计算处理。• httphandlers,httpmodules 从system.web里移到 system.webserver里,改为 handlers,modules
  • 6. 应用迁移-2• 时间问题:UTC• 日志、文件上传• 现有系统使用基于本地文件的日志和文件 上传。• 解决方案:使用CloudDrive在Azure环境下模 拟磁盘进行日志操作、文件上传。可以考 虑使用Blob Service和CDN解决文件(图片) 引用问题。
  • 7. 应用迁移-3• Session和Cache的分布式存取• 目前系统运行时客户的单台服务器,Session和Cache大部分使用 了本机内存。在多实例运行环境下,由于Azure平台目前不支持 请求定向的功能(即同一请求定向到同一虚拟机),需要修改 目前Session和Cache的实现达到分布式的要求。• 解决方案 1:使用Windows Azure AppFabric Caching作为存储源。 但是目前此功能还未在Azure实现,需要等微软的实现时间。• 解决方案 2:使用SQL Azure作为Session存储源。目前已经有现 成的Session Provider和解决方案。但是Cache还是需要再想办法 实现。• 解决方案 3:使用Windows版本的Memcached作为数据源。目前 有开源实现以及相应的Session Provider。但是Windows下的 Memcached性能和稳定性需要评估。
  • 8. 应用迁移-4• 解决方案 4:完全自己开发分布式存储服务。• 统一配置信息到数据库• 目前的配置信息是保存在网站目录下的多 个config文件,为了多个实例可以共享配置 信息,将所有配置统一存入数据库。
  • 9. 数据迁移• 包括本地数据库迁移至SQL Azure、基础数 据导入• 导入导出数据用bcp命令• Azure部署时ReportViewer不支持• varchar类型的字段不能存中文,应改为 Nvarchar
  • 10. 数据迁移-2• 由于现有系统使用中文SQL Server开发,使得某些数 据表字段在SQL Azure英文环境下不支持中文输入。 同时一些SQL语句没有加入Unicode声明导致数据输 入、查询有误。• 解决方案:数据库设计时,中文呢字段必须设置为 nvarchar。同时修改数据访问层,解决SQL语句运行 时没有加入Unicode声明的问题。• insert 表里信息出现乱码, insert into testtable values(newid() , N你好),前加大 写的N即可(select,update类似)• 不支持NONCLUSTERED 应改为 CLUSTERED• 没主键的表需要创建CLUSTERED
  • 11. 数据迁移-3• 不支持跨库操作:跨库查询、跨库事务, 对于跨库情况在数据层解决• 多租户模型• 在系统库中加入租户信息以及租户的订阅 信息,保持目前每个帐套一个数据库实例 的做法,实现数据隔离。
  • 12. Misc
  • 13. Thank you.