有个客户在阿里云上,这次要迁移到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 数据中心版

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

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

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

下面继续新建虚拟机

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

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

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

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

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

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

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

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

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

默认允许了3389的远程访问

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

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

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

2、新建SQL Azure数据库

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

然后是选择定价

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

每月大约1000元不到

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

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

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

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

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

那么问题来了

显示要登录到Azure

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

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

继续可以在SSMS中登录了

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

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

毫无障碍,成功的从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

初码-Azure系列-记一次从阿里云到Azure的迁移和部署的更多相关文章

  1. 用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署

    用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署 这是微软官方SignalR 2.0教程Getting Started with En ...

  2. AWS、阿里云、Azure、Google Cloud、华为云、腾讯云 各种云服务器价格收费对比(上)

    他来了,他来了~ 他带着六家公有云厂商的资源价格走来了~ 不久前,我们上线了一款小工具——[多云成本计算器]1.0版,公众号菜单栏可以直接体验.详细介绍可以戳这里<3秒即得最低价,速石上线「多云 ...

  3. 初码-Azure系列-记一次MySQL数据库向Azure的迁移

    初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...

  4. 【初码干货】记一次分布式B站爬虫任务系统的完整设计和实施

    [初码文章推荐] 程序员的自我修养 Azure系列文章 阿里云系列文章 爬虫系列文章 [初码产品推荐] AlphaMS开发模式 闪送达城市中央厨房 今天带来一个有意思的东西-分布式B站爬虫任务系统 这 ...

  5. Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(下)

    Windows Azure中有什么? |基础结构 Windows Azure能够根据您企业的需求提供最适合的基础结构,并且在业务发展或精简时能够根据变化的需求及时的做出改变.您可以将Windows A ...

  6. Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)

    Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...

  7. 记一次阿里云ECS服务器图片资源迁移至 阿里云 oss

    系统用户上传的图片资源放在ECS服务器,图片要做cdn加速,图片量越来越大(第一年200G,还在用户再增加图片量疯狂增长)备份是个问题. 决定迁移至 oss.前端直接上传oss 后台做签名,回调入库图 ...

  8. 记一次配置阿里云ECS GPU计算型gn5实例

    基础配置 CPU: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz * 16 MEM: 120 GiB GPU: NVIDIA P100 * 2 OS: Ubunt ...

  9. 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考

    最近客户在逐步迁移应用从阿里云到Azure,这次又轮到一个PHP+MySQL应用了,顺便也记一下流水账. 需求:迁移部署在阿里云上的ECS服务器(系列2,IO优化+2核4G+50G的SSD云盘+10M ...

随机推荐

  1. QConf简要搭建过程

    QConf的组件: ZooKeeper as the server, restore all configurations, so the limit data size of single conf ...

  2. linux下处理excel里copy的某列的字符串,去除行末空格并添加特殊字段

    背景:从excel里copy出一列数据到txt,然后放到linux下处理,发现每一行末尾都是固定个数的空格,我想要在每行字符串末尾加固定字段并逗号隔开输出, 1.将特定字段取出,去掉每行末尾的不定个数 ...

  3. VB中的GDI编程-2 画笔

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  4. 手机自动化测试培训:appium目录结构分析

    手机自动化测试培训:appium目录结构分析   移动端的自动化测试越来越普遍,poptest率先退出移动端自动化测试的课程,以appuim的python脚本版本作为授课基础,后期陆续退出java版本 ...

  5. Linux之shell编程函数使用

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 原文和作者一起讨论:http://www.cnblogs.com/int ...

  6. Andorid开发中如何去除标题栏title

    有两种方法可以去除标题栏的title. 1.在代码中实现 在setContentView()方法之前加上这一句 requestWindowFeature(Window.FEATURE_NO_TITLE ...

  7. laravel安装插件laravel-ide-helper

    1.插件位置laravel-ide-helper https://github.com/barryvdh/laravel-ide-helper 2.首先改变镜像源为国内的镜像源 P { margin- ...

  8. JQgrid表格的使用

    html部分: <div class="tab"> <table id="datatable"></table>      ...

  9. 一个web应用的诞生(11)--在探首页

    就要面对本章的一个难点了,说是难点可能仅仅对于我来说,毕竟我是一个js渣,既然首页打算使用动态加载的形式,那么与后台交互的方式就要进行选择,目前比较流行的为RESTful的形式,关于RESTful的文 ...

  10. 探讨弹性布局Flexible Box

    虽然Flex布局09年就被W3C所提出,但是目前浏览器支持上还不是很好,网上找的一张图片,仅供参考: 我们先从简单讲起.如果仅仅只想实现一个栅格布局,没必要引入一个复杂的框架(如bootstrap), ...