• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Azure 迁移之道
 

Azure 迁移之道

on

  • 974 views

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.

Statistics

Views

Total Views
974
Views on SlideShare
974
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Azure 迁移之道 Azure 迁移之道 Presentation Transcript

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