初码-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 数据中心版

这里不得不说两个问题,第一个问题是新的控制面板(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的迁移和部署的更多相关文章
- 用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署
用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署 这是微软官方SignalR 2.0教程Getting Started with En ...
- AWS、阿里云、Azure、Google Cloud、华为云、腾讯云 各种云服务器价格收费对比(上)
他来了,他来了~ 他带着六家公有云厂商的资源价格走来了~ 不久前,我们上线了一款小工具——[多云成本计算器]1.0版,公众号菜单栏可以直接体验.详细介绍可以戳这里<3秒即得最低价,速石上线「多云 ...
- 初码-Azure系列-记一次MySQL数据库向Azure的迁移
初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...
- 【初码干货】记一次分布式B站爬虫任务系统的完整设计和实施
[初码文章推荐] 程序员的自我修养 Azure系列文章 阿里云系列文章 爬虫系列文章 [初码产品推荐] AlphaMS开发模式 闪送达城市中央厨房 今天带来一个有意思的东西-分布式B站爬虫任务系统 这 ...
- Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(下)
Windows Azure中有什么? |基础结构 Windows Azure能够根据您企业的需求提供最适合的基础结构,并且在业务发展或精简时能够根据变化的需求及时的做出改变.您可以将Windows A ...
- Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)
Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...
- 记一次阿里云ECS服务器图片资源迁移至 阿里云 oss
系统用户上传的图片资源放在ECS服务器,图片要做cdn加速,图片量越来越大(第一年200G,还在用户再增加图片量疯狂增长)备份是个问题. 决定迁移至 oss.前端直接上传oss 后台做签名,回调入库图 ...
- 记一次配置阿里云ECS GPU计算型gn5实例
基础配置 CPU: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz * 16 MEM: 120 GiB GPU: NVIDIA P100 * 2 OS: Ubunt ...
- 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考
最近客户在逐步迁移应用从阿里云到Azure,这次又轮到一个PHP+MySQL应用了,顺便也记一下流水账. 需求:迁移部署在阿里云上的ECS服务器(系列2,IO优化+2核4G+50G的SSD云盘+10M ...
随机推荐
- poptest老李谈分布式与集群
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...
- 移动开发必须要弄明白的问题】详解Eclipse转Android Studio
2015-12-09 13:01:244264浏览3评论 AS出来一年多了,最近才从Eclipse转到AS,但我并不觉得使用Eclipse有多落后,它们都只是一个工具而已,哪个顺手就用哪个,用得好都能 ...
- C# 快速高效率复制对象另一种方式 表达式树
1.需求 在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍. 比如: public class Student { public int Id { get; set; } publi ...
- 1.Maven的安装及配置
1 Maven 介绍 Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”.本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个颇为成功的开源项目,Maven ...
- 使用VS2015将解决方案同步更新到Github上
如今开源已经是一种趋势与潮流了,今天就来谈一谈如何将利用VS将我们的解决方案同步更新到Github上. 第一步:登录自己的Github账号(没有的自行注册). 我的Github登录后的界面: 第二步: ...
- MySQL读写分离技术
1.简介 当今MySQL使用相当广泛,随着用户的增多以及数据量的增大,高并发随之而来.然而我们有很多办法可以缓解数据库的压力.分布式数据库.负载均衡.读写分离.增加缓存服务器等等.这里我们将采用读写分 ...
- web前端概念巩固(一)
h5: 1.web语义化 Web语义化是指在进行HTML结构.表现.行为设计时,尽量使用语义化的标签,使程序代码简介明了,易于进行Web操作和网站SEO,方便团队协作的一种标准,以图实现一种" ...
- require.js疑惑
昨天小颖分享了一篇require.js入门 ,今天小颖发现了一个很郁闷的问题,希望大神们帮小颖解释下到底是什么原理才能出现以下的现象,其实小颖昨天也有问过园友里的一位帅锅,只是他解释的小颖没太明白.嘻 ...
- (转)混乱的First、Follow、Firstvt和Lastvt
转自: http://dongtq2010.blog.163.com/blog/static/1750224812011520113332714/ 学编译原理的时候,印象最深的莫过于这四个集合了,而且 ...
- JSON对象、JSON字符串的相互转换
JSON对象.JSON字符串的相互转换 json的格式: 第一种方式: 单一的json字符串,转换成json对象时,需要 eval('(' + json + ')');这样的格式,中间需要加括号 va ...