初码-Azure系列-记一次从阿里云到Azure的迁移和部署

有个客户在阿里云上,这次要迁移到Azure去,手工记一下流水账

原系统信息:

阿里云ECS单Web节点(8核16G,10000IOPS SSD云盘)+阿里云ECS单数据库节点(16核32G,15000IOPS,SQL Server 2016)+阿里云CDN

根据评估和分析,简单迁移方案如下:

1、CDN暂时不动。因为阿里云CDN的配置较为简单,且对HTTPS支持也很傻瓜,同时与阿里云OSS是联动使用的,迁移到Azure  CDN+回源Azure存储的代价太大,且需要重写CDN业余中间层SDK,所以就暂时留用阿里云CDN

2、新建一台Azure虚拟机,用于替代阿里云ECS单Web节点,配置相同类似即可

3、由于系统Web服务没有使用到存储过程等和SQL Server版本关联较大的特性,故决定使用SQL Azure替代原ECS单数据库节点方案

 

下面是流水迁移过程:

1、新建Azure虚拟机

进入新的中国区控制面板,新建一个虚拟机,Windows Server 2016 数据中心版

image

这里不得不说两个问题,第一个问题是新的控制面板(https://portal.azure.cn)不支持谷歌浏览器,有的按钮显示不出来,因此不得不切换到IE模式,第二个问题是在新的控制面板中(https://portal.azure.cn),新建过程只有1个可选项目,是英文版的,即使查看全部,出来的Server 2016各版本也都是英文版

image

这里就非常糟糕,因为英文版+中文包,是一个不完整的汉化,挺别扭的,而经典控制面板中(https://manage.windowsazure.cn),就可以新建中文版的Windows Server 2016

image

我不知道是因为资源管理方式不同导致的,还是一个Bug,如果Azure的技术人员看到,也可以关注一下,这点确实挺糟糕的

下面继续新建虚拟机

image

这里可以看到挺有意思的一个情况,微软还真是实诚,如果你有Windows序列号,则可以减免一些价格,我们来看下价格对比

image

image

如果你愿意在淘宝30元买个正版密钥,那么你每年可以节省1000元以上,哈哈(请勿使用盗版软件

在这里,我们选择了DS4配置的机器

image

下一步配置可选功能,这里特别注意两点,1是选择了静态IP分配,默认是动态IP分配的,如果是动态IP分配,那么域名的解析就需要配置CName,我对这玩意不太熟悉,所以干脆还是选择静态IP,直接进行A记录解析得了。

image

另一个是关于监视行为的配置,虽然监视行为会占用系统资源,但是本着相信微软的人品和微软的技术,选择启动监视

image

最后一步,有个下载模板和参数,有点像阿里云的操作系统镜像,打开后是JSON配置文件

image

image

然后点击确定后,等等待部署了。

image

image

经过大约10分钟不到,虚拟机成功部署

可以看到网络接口,已经是静态IP了

image

默认允许了3389的远程访问

image

我们首先登录到服务器,把英文版修改成中文版。。。这个过程就不详述了

考虑到我们需要使用HTTP,HTTPS,WebDeploy服务,因此在网络接口网络安全组规则中需要进行一些配置,加入相应的入站防火墙策略

image

然后继续配置IIS啊等软件环境,这样Azure虚拟机就大功告成了,下面进入第二步

 

2、新建SQL Azure数据库

image

image

这里我们的资源组就选用刚才新建虚拟机所新建的资源组,然后要新建一个服务器

image

然后是选择定价

image

这里我们选择了一个S3标准的配置

image

每月大约1000元不到

最后修改一下排序规则为中文Chinese_PRC_CI_AS

image

在确定之前,这里也有一个自动化选项,就是和刚才虚拟机的模板类似的东西

image

image

点击创建,SQL Azure数据库进入创建中

image

大约2分钟不到,建好了,弹出一个控制面板

image

然后我们尝试一下SSMS工具是否可以远程登录

那么问题来了

image

显示要登录到Azure

image

这时候弹出的登录页面,并不能识别中国区的账户,就和Visual Studio登录中国区账户一样,但是这里我就找不到解决办法了,如果有谁知道的话还麻烦告诉一下

于是到防火墙策略中,添加了一下本机的客户端IP

image

继续可以在SSMS中登录了

惊喜的发现,最新版的SSMS已经可以支持可视化的SQL Azure新建表了,但是登录名还是只能通过SQL 语句新建。

然后由于并未大规模使用过SQL Azure,还不知道迁移是不是有障碍,因此尝试一下使用Navicat工具,进行测试环境数据迁移

image

毫无障碍,成功的从SQL Server 2016迁移到了SQL Azure,包括表,索引等,不过有一个值得注意的是,全文索引没有迁移,因此在SSMS客户端中重新配置一下全文索引

至此,基础迁移工作都完成了,剩下的就是软件部分的迁移了,这里就不详述了!

 

3、总结与思考

1、从阿里云ECS到Azure的虚拟机,可以说可用性确实提升了两个数量级(100倍),这是毫不夸张的,因为ECS对Windows的支持和技术能力实在太差了,我自己可以忍受ECS常年不正常关机、内存泄露、资源挤占,但客户一旦察觉到一次,就会影响服务质量,所以这一个很大的进步!

2、不知道是心里因素还是使用效果感觉,SQL Azure是个好东西,不是个PaaS这么简单,应该是个很好的东西,后面慢慢来挖掘挖掘。

3、Azure的CDN质量不用说,从背后的支撑厂家看,比阿里云自建的方式肯定要优秀和更高质量,但在控制面板维护和功能丰富程度上看,落后阿里云至少1年,以至于宁愿忍受阿里云CDN可能存在的可用性风险,也宁愿拖一拖先不迁移,这是Azure需要改进的地方。

4、Azure经过两次降价后,相比阿里云已经相差不多(最多贵15%-50%吧),如果把可用性也评估为价格的话那几乎就是更划算了!当然了,对于中小企业,非信息化驱动的公司,依然首推阿里云,这些公司就别尝试Azure了,至少现阶段的AzureIT成本,还是非常高的。

5、Azure中国区的Bug还挺多的,建议中国区再投入一些技术力量,一些细节上的东西,比如语言版本那个问题,又比如VS或者SQL Server上登录中国区的问题,都快1年了还没改或者没啥直接的解决方案,这背后我分析是因为过去的1年Azure的销售业绩非常差,客户都没啥反馈,然后总部对中国区也不重视等多重因素导致的。

6、在虚拟机配置过程中,关于监视行为和来宾操作系统的配置,极大的凸显了Azure和阿里云的价值观的迥异,就是在碰用户数据和用户行为方面,至少微软是有态度的,当然了,这就涉及到另外一个非常大的话题了,以后有空可以写一写。

7、在写本迁移之前,其实已经在阿里云、Azure、百度云上分别使用过Windows Server 2016(腾讯云还不支持)很久,不用说,阿里云的Windows操作系统管理依然糟糕,百度云没啥感觉,Azure对自家兄弟肯定是最好的,所以如果你想体验HTTP2.0,那么Azure肯定是首选

8、Azure是个好东西,有钱的可以来用用,技术扎实,好处大大的!


作者:张柔,发布于  博客园  与  张柔的博客

转载请注明出处,欢迎邮件交流:zhangrou@printhelloworld.com,或者加QQ群:11444444

posted @ 2017-05-15 18:01 初码 阅读(...) 评论(...) 编辑 收藏