说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

亚马逊云平台的迁移过程

HTML文档下载 WORD文档下载 PDF文档下载
文章分别从成熟老系统的常见问题、迁移过程需要考虑的问题以及迁移后带来的收益说起,详细介绍了亚马逊云平台的的迁移过程及注意事项。

【导读】本文转自Bruce Dou的博客,作者分别从成熟老系统的常见问题、迁移过程需要考虑的问题以及迁移后带来的收益谈起,详细介绍了亚马逊云平台的的迁移过程及注意事项。

最近3个月变化很多,离开呆了5年多的北京,开始英国的工作和生活。到这之后基本在做系统向亚马逊云平台的迁移,踩了不少坑,收获也很多。由于系统的迁移涉及各个常见的架构组件,边边角角的细节很多。和大部分系统一样,长时间野蛮成长积累了很多问题。这样的老系统迁移到新平台意味着你需要处理所有之前埋下的问题。公司之前聘请了亚马逊推荐的第三方咨询服务工作在做迁移,但是由于问题太多,拖了很长时间没有完成。

成熟老系统常见的问题:

1. 缺乏文档

这应该是大小公司都存在的问题。文档会极大降低开发效率,并且互联网项目的特点是易变和追求速度,详细文档不是很好的方案。这就要求方案和细节设计上的合理性和不要做 “精巧”方案。结构化设计,不要零散的组成,这样其他人即使没有文档也可以理解。

2. 项目中临时方案太多

导致后来看起来很别扭而且不容易理解,半截工程。系统中存在大量“精巧”的设计,导致后来者难以理解。这也告诉我们做设计的时候尽量简单通俗易懂,项目设计的可沟通性也是很重要的一方面。某位工程师说自己花了1周的时间才搞明白Postfix的收邮件并自动解析的过程是怎么运行的。

3. 代码质量参差不齐

代码质量问题每个大点的团队都没法保证,保持代码库的干净很重要。

4. 繁杂的业务

5. 代码的Bug和代码对环境的兼容性

之前的系统使用配置文件做主从读写分离,配置文件由其他系统控制。但是配置文件确保留在代码库中,这意味着假如代码回滚或者 check 分支出错,配置文件会发生改变。不该发生的全会发生,这样的事情确实发生了。导致部分操作写入从库,从库与主库同步失败,典型的脑裂问题。最后只好花了很长时间重做从库的同步。这样的问题处理并不复杂,复杂的在于如何发现这个问题的原因。业务系统各种奇怪的表现,有时候很难想到问题的根源。

迁移过程需要考虑的问题:

1. 完善测试

性能测试可以采取流量镜像复制,读操作有很多简单可靠的流量复制工具,有时候根本不需要一个高大上的流量复制系统。并且大部分系统都是读多写少,测试不是什么难题。

功能性测试只能尽量做足,让熟悉系统的用户进行。

2. 无缝迁移

整个过程基本实现了平滑无缝迁移,系统的没有停止 1 分钟运行。由于项目的特点,比较少写操作,重点是读,暂停写操作后作将 HaProxy 后端逐步指向新集群,等全部流量导入新集群后修改 DNS 指向新集群。这里还涉及到 DNS TTL 从长变短再变长的修改过程。

缓存预热很重要,尤其是数据库的预热,这就要求新集群流量导入逐步进行,防止对整站延迟的影响。

3. 回退方案

由于暂时停止写操作,即使流量导入到新集群后测试发现问题仍然可以指回旧集群。

4. 改进还是保持原状

由于架构组件的选择余地很大,之前的各个组件的配置是否合理需要很长时间 Review。这里就要权衡保持原状还是一次性做好优化。比较好的方案是如果不是 BUG 则保持原状,等系统完成迁移再进行改进。

5. 性能的持续监控和对比测试

性能监控工具已经非常成熟了,比如 AppNeta 和 New Relic , 基本可以把控各个组件的性能。在迁移之前也可以进行镜像流量复制对比测试新旧集群的性能。

迁移带来的收益

1. 重新设计的发布自动化

业务代码、系统配置、云架构配置的分离,任何操作的版本化,可回退。

2. 弹性扩展,总体成本的降低

迁移到亚马逊的主要原因就是高低峰流量差异很大。迁移后低峰期可以节约 1 半的机器成本。

3. 跨区域容灾,无单点故障

实现了 Multi-AZ,任意单点故障不影响业务运行。Web 前端服务器可以随手关掉,数据库的升级,配置改动也无任何影响,当然这归功于 RDS Multi-AZ 功能。

4. 运维难度的降低,无需运维

系统会自动根据负载进行增减机器,所以无需担心压力大把机器打垮,单机器的各种故障也无需人工处理。

来自:Bruce Dou Blog

Spanner vs. F1:谷歌两大数据管理利器的整体对比及关联 移动设计需摒弃的几大PC应用设计方法 响应式导航设计案例解析(多图) 所见即所得:七大无需编程的DIY开发工具 前Google员工发布无痕搜索产品,阻老东家财路 VMware推出vCloud Suite及vSphere新版:可用性及性能双丰收 TIOBE 2013年10月编程语言排行榜:Groovy首次挤进Top 20 Cookie时代将结束:微软将开发跨PC、移动和Xbox跟踪技术 Web设计里需要避免的八大糟糕趋势 Groupon从ROR迁移至Node.js,响应速度大幅提升 腾讯云的Container实现 专为物联网打造的数据库TempoDB获得320万美元投资 MongoDB成为首位10亿美元初创,功臣可归功于Oracle? 程序员遇到Bug后的30种常见反应 扎克伯格豪掷3000万美元购四套房 梅耶尔和拉里佩奇也居于此 IBM研究人员:仅200条微博 就可构建人格剖析图 MDCC重磅讲师:Pebble CEO Eric Migicovsky 历届中国大数据技术大会PPT精粹(一) 通讯也“跨界”:几行代码,API+SDK,用PaaS实现移动互联 MIT风景线:丝绸雕塑、VR代码、机器人、智能按钮及保时捷 深度学习新算法,完成字里行间的情绪识别 如何在开发项目里和难缠的程序员合作? 移动周报:七大无需编程的DIY开发工具 手把手教学,用jQuery Mobile创建Web App 别惊讶,Android绿色机器人标志灵感来自于卫生间标识 Google TV更名为Android TV 智能电视的路不好走 CTO如何避免决策失控(四)——通盘考虑 做到技术业务不分家 重塑世界!历届MDCC重磅嘉宾演讲大回顾 从贝佐斯的14句言论看商业成功之道 5大宠物可穿戴式设备 Google CIO Ben Fried谈内部工具文化 大家想一想! 在校程序员的困惑 要把服務器放在家里.現有條件:ADSL,LINUX 7.3,國際域名一個.可以嗎?還要什麼設置?thx 怎样消除11001#socket错误? 如何得到文件的长度,很简单的问题 脚本错误? 物化视图的数据整理问题 如何实现把一个BMP等比例缩放. 强烈建议版主封掉 theHanOfCC(我流) 的ID,他是一个人渣!! 同意的请进来签名!!! 在校程序员的困惑 有关PB数据窗口的检索参数 哪里有比较多的计算机书籍下载,请推荐几个。 急~~~高分求救~! 谢谢duduwolf,请来领分 类似这样的字符串“Thu Sep 5 14:05:56 2002”,怎么转化为Date对象? 安装问题,很简单,小弟菜鸟,望各位兄长多多关照啦!谢了! MDI窗口出错 新手请教。如何在cgi程序中得到由url传递过来的值 ISA 2K发布多个WEB 服务器问题,(我都要疯了) 我的xp怎么不能装vc6.0?再线等待!(20分) 急~~~高分求救~! 请教各位师兄。这个可以实现吗? 向高手请教(如何把客户端的图片传到服务器?) 各位大虾.水晶报表的关键一步了.实现了我就可以水晶报表的打印了! 急急!!!!怎样才能取得java函数传过来的参数呢? %%%%非高手勿進%%% CSDN有些人素质太差! IShellFolder::GetDisplayNameOf 如何获得全名? 代理Type分别为transparent,anonymous,high anonymity,优劣? 为感谢computersim在大力相助,特奉送100分,快来拿啊 请教网上书店系统的设计思想和例子。 VC中使用FLASH的OCX控件如何取得Movie的原始大小,且如何按指定比例缩放?问题解决后必给分。 有关“隐藏”,“覆盖”的一些问题: 如何把A库中A表原样复制到B库中去? 怎样取得鼠标点击DataGrid控件时是哪一行,哪一列呢?(C#) ISA 2K发布多个WEB 服务器问题,(我都要疯了)高分求救 这个问题怎么办?? (ADO OPEN) Up 有分! 母亲生日,你觉得送什么礼物为好? 用c++ 写的 hello 程序在unix g++ 编译通过后,运行出错 如下几个初级问题要问,高手们请进-> SQLSERVER高手进来聊聊........ 怎样用代码实现两台电脑之间的文件传输? 哪位知道Microsoft Firewall Client 的下载地址? 关于RECORDset的问题,求教 如何在web页面使用 Windows 窗体控件,最好有例子! 使用DOM的XMLHttpRequest对象来发送xml请求,但当返回的响应带有中文时候,在PDA上无法正常显示,我使用MultiByteToWideChar也没用。有人 请问在窗口中放置控件时,PB是否有靠近格线对齐的功能。如果有,在哪设置? DELPHI中FASTNET组件使用方法 请问在SELECT查询中怎样娶得行号? 在一般的类中如何得到当前文档的指针? 巨菜问题:重装xp后grub启动菜单消失,怎么办? 胰岛素是不是生物大分子生物老师说是含有51个氨基酸的胰岛素不算生物大分子.但刚刚做到的题干里说胰岛素是生物大分子 求正解 RNA这种生物大分子都是以DNA分子为模板转录而来的,为什么错 明矾净水中铝离子的 水解生成氢氧化铝用加沉淀符号吗? 压铸铝和不锈钢外表上看起来有什么区别,还有他的用途,. 将酵母菌研磨离心后,得到上清液... 明矾净水是破坏胶体稳定性的现象吗 什么是不锈钢压铸 “元素”一词如今已被广泛运用,如媒体经常使用的“音乐元素”、“时装元素”、“车元素”.请查阅辞海,了解"元“和“素”各有哪些含义?你认为广泛使用的“元素”一词与我们化学上所 明矾净水原理的离子方程式有可逆符号吗?书上为什么没有?不是水解吗? 利比亚现在的形式怎么样 不锈钢的压铸工艺怎么样? 都有哪些描写缘分的诗句啊? 在O为-2价、C为+4价、H为+1价、Ga为+2价的前提下O、C、H、Ca可组成化合物的种类是:将所有答案写出来.Thanks! 阴起石是什么 俄罗斯紫金的化学元素是什么?是化学元素看明白哈 N Ca O可以组成什么化合物? 阴经大小对女人来说有什么意义 缘 求 ,这个词语是什么 帮我列一下中国历史上的朝代从[夏] [商] [西周]开始 一直到[明] [清] 梦见女人的阴部代表什么意思? CN是什么化学元素就是KSCN里的CN.它是啥?中文名? 传统陶瓷的主要成分是什么类物质? 石涧记阅读答案 土山之阴,解释阴的意思. 含缘的诗句 挖掘机大臂焊接挖掘机大臂有开裂怎么办?不能焊又在哪里能买到高质量价格合适的大臂呢 为什么叶绿素的提取要用石英砂和碳酸钙 有关缘分的名言或诗歌或俗语比如有 缘千里来相会,无缘对面不相识 前世五百次回眸换得今世擦肩而过 之类的 挖掘机中臂油缸有裂缝漏油给可以用电焊焊起来?挖机是神钢140 脱氧核糖核酸、淀粉是生物大分子吗?生物大分子有哪些?拜托各位大神 矿泉水中含有的微量元素及其作用? “他山之玉,可以攻石”含义 细胞中含氮元素的生物大分子是胰岛素和DNA为什么 关于九年级化学元素的简单问题,求答元素是具有相同核电荷数的一类原子的总称.1 元素指的是原子吗?2 如果一个原子的核电荷数是8,那它一定就属于氧原子吗?核电荷数是8的只有氧原子吗? “它山之玉,可以攻石. 一道简单的判断化学元素的题A B C D 四种元素的原子序数均小于18,其最高正价数依次为1 4 5 7.已知B的原子核外次外层电子数为2.A C 原子河外次外层电子数为8.D元素的最高正价氧化物对应的水 什么石才是玉石 利比亚现在情况如何 化学元素最简单题!尽快,10分钟内解决!1,W,X,Y,Z四种为短周期元素,且核电荷数依次递增,W的原子核内仅有一个质子,X原子的电子总数与Z原子最外层电子层数相等,W原子与X原子的最外层电子书之 玉石鉴定证书中原石是什么意思 求利比亚的现在的民主状况?利比亚,长达几个世纪的封建,一时间就变革,我想知道是否真的民主了!还是又一个托 zn是什么化学元素 什么石才能称玉石 希望答案能概念一点 注射模由哪几部分组成?各部分作用是什么? 求所有化学元素的表示如水H2O 我知道2是小2 O2氧等的.有多少要多少!我马上升初二了想提前学下初三的. 在坚定还原糖和蛋白质的实验中,制备生物组织样液时,都要加如石英砂进行研磨,加入石英砂的目的是A.研磨充分 B.防止有机物受到破坏 C.提取有机物 D.有利于研磨液的过滤 注射模中模具的温度调节的作用 缘爱 用英语怎么说?最好用一个单词 H.O.S.Ca四种元素中那怎么组成盐 井水中锰含量超标20倍用什么办法处理我们家饮用的井水中锰含量2.3508mg/l,请问可用什么方法处理才可以把其中的锰清除掉 有人说“饮用天然矿泉水对人体有益,矿泉水中微量元素的含量越多越好,对吗? Ca H O Cl四种元素组成一种含三种元素的盐请写出一种 什么是生物大分子?为什么核糖核酸是生物大分子thank “爱情是讲缘分的”用英语怎么说 罗马《十二铜表法》和公民法是什么关系? 铁锰超标的井水抽上来后经沉淀能去除铁锰吗 那种矿泉水含有对人体有益的微量元素多 为什么不锈钢不适合压铸 农村井水铁含量超标该怎么办?经检验,铁含量比正常值超一倍,该怎么处理呢?代表全村百姓先谢谢了! 矿泉水微量元素的含量是否越多越好?为什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘