如果Azure上只运行Windows系统,将Windows应用从服务器部署到Azure上会变得更容易吗?答案是“不一定”。
在Azure上运行的Windows虚拟服务器上,你甚至可以使用远程桌面登录或查看。ASP.NET的代码在Azure上运行效果和在本地运行一样。但要注意的是,Azure实例是没有状态的,必须存放在Azure存储服务上。Azure表中的存储、实体和属性是非关联的服务。Azure blobs可以是任意的二进制数据,并可通过网络服务分发内容。SQL Azure是Microsoft SQL Server关系数据库的一个版本。
可靠但费用不菲
虽然SQL Azure也许是显而易见的选择,但其费用不菲。目前表存储每GB每月0.15美元,再加上每万次查询0.01美元。SQL Azure上1GB数据库每月费用是9.99美元,50GB每月则需要499.95美元。通常人们都会选择表存储方式,这意味着更多的应用移植工作。无法在一个无状态实力上运行应用程序?有一个解决办法,但肯能不是你所期望的。不过当部署Azure实例是会创建一个重要镜像。如果出了差错Azure会运行之前创建的镜像以便恢复。
中间件
中间件是比较棘手的问题,Azure有其自己的中间件,被称为AppFabric,它提供了一个服务总线,用于控制服务和缓存服务。随着Azure的成熟,中间件任务所占比例越来越大,但迁移问题仍然有待解决。
虽然Microsoft表示可将应用程序迁移到Azure,但事实并没有那么简单。Thoughtworks CTO Nick Hines表示迁移到Azure并不那么容易,该公司发现SQL Azure和SQL Server之间不兼容。