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

黑暗架构:以最少时间完成系统升级并获客户认可的开发之道

HTML文档下载 WORD文档下载 PDF文档下载
以短板部分的更新去大幅提升整个系统的效率,以小部分的工作量去应付可恨的交期,这就是黑暗架构法。满足业务的需求,博得用户的掌声,这才开发者需要做的。

Dyn的CTO Cory Von Wallenstein,主要负责公司IaaS平台技术的决策、创新和发展的方向的制定。近日他在Wired上撰文给大家描述省时省力的系统升级之路——黑暗架构(Dark Architecture)。以下为译文:


任何公司目标都是业务的增长,但是增长需要不断的衍化公司的每个部门,其中不只是你的技术基础设施。许多企业一直使用着非常原始的途径去完成这个衍化,虽然这里存在着极为简单的解决方案。

而公司升级其基础设施及系统架构一般出于以下3个原因:

  • 为了规模——以获得当下十倍或百倍的容量
  • 为了性能——视图移除一个系统瓶颈,让工作的执行更加快速
  • 为了解耦——为了获得更好的可靠性及可维护性,当然也为了将来的扩展做努力

早先的方法属于全盘否定类:首先制定一个3个月的计划,然后开发人员开始全力以赴的打造新系统,希望3个月后能顺利完成。事实上经常出现的情况就是3个月变成6个月(不可避免的比预期时间要长),而业务从老系统迁移至新系统也面临着非常高的风险。当新系统100%实现老系统所有功能后,遗留的旧系统便只能被废弃。

鉴于这六个月的开发时间里缺乏优先顺序及旧系统的其它改进,业务毫无疑问的丧失了灵活性。这种更新方式就像是“全部”或“一无所有”的命题,并且直到开发团队完成新系统的建设并且将所有业务转移到新系统,这段时间内对业务的提升基本为零。而面对来自客户的抱怨,技术团队的士气也一滑再滑。这种方法需要改进的地方主要归结于3个方面:

  • 立刻给客户带来价值——我们没必要一直等到整个新系统完工并投入使用再实现价值
  • 减少成品引进的风险——我们需要避免“全部”或“一无所有”的迁移计划
  • 保持业务提供灵活性——可以选择优先级,最少要保证核心价值的及时交付(如果可以选择的话,我们要做到最快的解决并交付相对重要的解决方案)

针对以上解决方案:黑暗架构的实现途径

黑暗架构(Dark Architecture)不仅是一种思想,同样还是个技术解决方案;用以解决规模、性能及耦合问题,黑暗架构不仅让硬件通向成功而且可以让员工有一个清晰的思维。可以通过以下途径实现:

  1. 优先提升系统中的工作流,而不是改变系统的组件
  2. 并行运行老系统及黑暗架构
  3. 给两个系统同时发送输入数据,收集输出数据,对比输出结果,然后抛弃一个

使用暗黑架构途径,运作方式将如下所示:

1. 在接触代码与系统之前,先按照以下顺序优化系统中的数据流:短板、机遇、业务价值或者其它经验证后对业务有意义的事情。

2. 于其着眼考虑组件相关(比如使用Cassandra替代原系统中的MySQL),不如考虑流系统(比如,为顾客X执行一次通配符查询类型图渲染大约需要40秒,而使用其它图渲染类型要快的多)。这个步骤能让你看到系统中的弊端所在,所以你可以首先聚焦这个瓶颈的解决方案,然后再考虑其它的问题。

3. 如果使用流优化优先(假设优化的功能占整个系统的2%),事实上下一步做的并不是直接建立功能。取而代之的是为这些功能建立相关支架,让系统可以同时使用两个不同的方式进行计算(为了对比输出结果,有差异时做记录)。

黑暗架构具体实践方案

从实际情况出发,这可能是复制一个网络服务调用(旧的和新的)或者是复制数据库交互调用(同样一新一旧),然后对比返回值,如果存在不同则将其记录到一个文件或者服务器又或者是消息总线中。

在输入/输出支架就绪后,你就可以着手功能的建立。实现系统中最短板的2%功能,就绪后,将其投入产品中的黑暗架构。它将会与旧系统一起接收产品的输入数据,虽然最后它的计算结果会被抛弃,但是在这个过程中我们可以与旧系统的输出值进行比较。如果输出的结果不同,记录并进行检查。这让你可以更熟悉你的新系统,并且在具体操作中获得一些实际经验。

一旦确定新的系统可以正常工作并且达到了渴望的性能或者是扩展性提升,将输出转换成新的系统。这样,实现的只是系统中2%最短板的功能,其它功能则沿用旧系统的遗留。如此等于改动2%的功能,花费了一小部分时间就交付了整个新系统的价值。

使用黑暗架构得到的收益:

  1. 士气高昂——有什么比技术人员看到自己成果很快被投入使用来的更振奋人心?
  2. 客户肯定——他们头痛的问题被解决了
  3. 降低风险——在项目重写的过程中,新系统已经得到实际验证

下面看一下有更多高优先级流需要优化的情况——占整个系统的20%,使用黑暗架构途径,业务将很快的发现自己的方向:

  • 持续更新流,直到系统100%都被迁移
  • 对剩下的80%功能与业务优先进行评估

如此可见黑暗架构的强大作用,在最短时间解决系统短板的前提下还拥有选择更高的灵活性,可以从容对业务优先进行处理。

原文链接: Dark Architecture: Upgrading Infrastructure With Agile Principles(编译/仲浩 审校/王旭东)

欢迎关注 @CSDN云计算微博,了解更多云信息。

not(expr)-JQuery API not(el)-JQuery API parent(expr)-JQuery API parents(expr)-JQuery API prev(expr)-JQuery API siblings(expr)-JQuery API Events事件-JQuery API bind(type,data,fn)-JQuery API blur(fn) -JQuery API blur() -JQuery API change(fn) -JQuery API click(fn)-JQuery API click()-JQuery API dblclick(fn) -JQuery API error(fn) -JQuery API focus(fn)-JQuery API focus() -JQuery API hover(over,out)-JQuery API keydown(fn) -JQuery API keypress(fn)-JQuery API keyup(fn)-JQuery API load(fn)-JQuery API mousedown(fn)-JQuery API mousemove(fn)-JQuery API mouseout(fn)-JQuery API mouseover(fn)-JQuery API mouseup(fn)-JQuery API one(type,data,fn)-JQuery API ready(fn)-JQuery API resize(fn)-JQuery API scroll(fn)-JQuery API 软件发布:华容道 如何用PHP在页面里调用word编辑器,使之能在网页上编辑WORD文档? sql server 数据库ccyy,restore时总出错? DELPHI文本操作得一個小問題,請各位指教!!!! 关于鼠标左键单击与按住不放的区别? 高分求问,数据源的问题! 建议增加我的收藏夹功能 求教包容器问题 一个三层数据库的问题: VB爱好者们,帮小弟个忙!!!谢谢 怎么样动态建立一个新的ADOTable?? 十万火急,关于Unix平台下C编程(FTP传输方面) 我的英文还凑合,那么我应该选择4 中文版,还是 5英文版?(众所周知,5中文版翻译太差) 求开发 ActiveX Libary 的详细步骤! Com Object 与 Automation Object 区别,如何用? 用VB如何处理多个用户同时操作一个DBF文件的错误? 一个进程为VC2.0, 另一个为VC6编的MFC程序。如何控制从第2个控制第一个进程? 请assdeng(山野村夫)看看 pb,delphi,vb三种快速成型的语言都分别适合开发那些软件?欢迎大家来讨论 请问各位同仁如何设置sybase anywhere服务器参数? 串口通讯能否用pb做成动态连接库的形式?(急) 怎样使Response.redirect打开一个新窗口 为什么环境变量替换不正确? 怎么打开foxpro中,通过剪切板考过去的图片,dbimage和image控件都不能打开,显示“bitmap is not valid” vaj中如何使用自己的JAR? 怎样改变当前窗口的大小,是当前窗口最大化? 高手争峰 如何把一个log文件读到数据结构中去 请教一个很菜的问题:) 这个程序有什么问题? 怎样做???? 简单问题,可就是搞不定!! 请问jsp中servelet在win2000中的设置方法,需要下载什么类库文件么? 一个新问题,那就是点击工具栏的退出按钮以后只退出当前打开的窗口,而不是整个应用! 如何在 index.htm 中引用 count.asp ? 远程数据库访问的问题--亟待高手们解答 王国荣的电子信箱是哪里? 我的程序生活 先给50分,稍后在加:我正在做一个系统,需要做到每次开机时提醒用户有哪些事情要做! [Tips]获取Memo&Richedit中光标坐标的最简单方法! 急急,如何才能把图片的底色与窗口的底色自然地融为一体? 如何改变按钮的颜色? 在mtml help workshop 中如何制作带上下文关联ID的帮助 调试程序时,控制台程序与直接建立的C++程序有区别吗? 给菜鸟推荐本书 VB调用外部DLL问题 【洗心革面,重新做人,割发断指,庄严声明】 从今以后 kook 不近女色,不灌疯水,以 panda_w 为榜样,苦练VC,研习汇编,做一个 CSDN 的正面典型! 谁有ULTRAEDIT 的注册码 能否推荐几本关于VB提高和关于VB数据库的书 紧急问题,关于SSL通过MS PROXY String类的问题 连接数据库的东东真是奇怪! 实验小学四3班的48名同学去游乐园春游,中午在餐厅订盒饭.餐厅规定:每买5份就能赠送1份.请你帮他们设计一个最经济的购买方案. 要用一元一次方程解 急就!在五一期间,小明,小亮等同学随家长一同到某公园游玩.其中票价是:成人每张35元,学生按成人五折优惠:团体票16人以上(含16人)按成人票六折优惠.小明爸爸说: 上海教育出版社七年级上寒假生活p27、p30、p45!p27:香烟烟雾对小金鱼的影响p30:乐器与演奏p45:拓展研究 晨光小学六一班有36人到附近公园游玩,售票门口写着:“门票每人8元,40人以上可降价1/5.怎样买票花费最 在五一期间,小明,小亮等同学随家长一同到某公园游玩.其中票价是:成人每张40元,学在五一期间,小明,小亮等同学随家长一同到某公园游玩.其中票价是:成人每张40元,学生按成人五折优惠:团 七年级寒假生活答案(上海教育出版社) 答案 48名同学去游乐园春游,中午在餐厅订盒饭,餐厅规定每买5份赠送一份,设计最经济购买方案 在“五一”期间,小明、小亮等同学随家长一同到某公园游玩,下面是购买门票时话爸爸:大人门票是每张35元,学生门票是五折优惠,我们一共12人,共用350元.小明:爸爸,等一下让我算一算,换一 上海2014七年级寒假生活像科学家那样思考 实验小学四(3)班的48名同学去游乐园春游,中午在餐厅订盒饭.餐厅规定:每买5份就能送一份.请你帮他们设计一个最经济的购买方案.不要方程算式(☆_☆) 在五一期间,小明、小亮等同学随家长一同向某公园游玩,下面是购买门票时,小明与他爸爸的对话票价; 成人每张40元.学生;按成人票5折优惠..团体;【16人以上,含16人】按成人票6折优惠.爸 上海教育出版社 红色封面的!第一单元语文是阅读感悟是荷包蛋第二第三单元的答案 48名同学去春游,中午定盒饭,餐厅规定:没买5份就能赠送1份,怎样购买 星期天爸爸妈妈带小明去游公园,买一张门票一共用去17.5元一张,一张成人票与三个儿童票的价钱相等,一张成人票多少元? 山东版寒假生活p30数学题请帮我一道题.相当于走迷宫.顺序:每一个字都走一遍,一个只能走一次,假 寒 乐 快 乐 快 ←入口快 乐 寒 假 寒 假 →出口乐 快 假 寒 假 寒寒 假 快 乐 快 乐假 寒 乐 关于海底世界的作文 400字 星期天爸爸妈妈带小明去游公园,买门票一共用去17.5元,一张成人票与三张儿童票的价钱相等,一张成人票多少元? 初二寒假生活P30研究题在正三角形ABC所在平面内是否存在这样的点P,使以点P和点A,B,C中任意两点为顶点的三角形都是等腰三角形?如果存在的话,这样的点P有几个? 关于海底世界的作文(100字) 爸爸妈妈带小红游公园,公园门票公用去10.5元,已知一张大人与三张小孩的票价相等 形容寒假生活的成语 关于海底世界的作文(100个字) 六一时,爸爸妈妈带带小明逛公园,买门票共用去10.5元,已知一张大人票价与三张小孩子票价钱数相等.一张大人票多少元? 小学六年的生活可以用-----(填成语)来形容,也让我认识了许多好朋友,我们每天在一起----(填成语)在这即将毕业的时刻,我想对他们说-----(填古诗).说到古诗,我在学校阅览室读了许多,每次 三年级3名老师,带50名学生去植物园,门票【成人10元,儿童5元,团体票10人以上6元】怎样买票合算 作文写海底世界的300字!急 列方程:四张门票共花了11元.成人门票每张4元.儿童门票每张多少元?(两个大人,两个儿童) 六(一)班同学36人去动物园游玩,门口的购票须知如下:1.游客凭票进入大门;2.成人票每张20元,学生票每张10元;3.10张票可享受团体优惠1/8;4.40张票可享受团体优惠1/5.请你帮忙算一算,六( 求一篇以游海底世界的作文 小明一家去动物园买门票共花了21元成人票6元儿童票3元小明家可能去几个大人和小孩 “六一”节,动物园儿童门票比原来优惠20%,优惠后动物园儿童门票每张20元,原来动物园儿童门票的价格是每张多少元? 请问北京海洋馆,富国海底世界,太平洋海底世界哪个更好玩呀?顺便说下地址和里面玩的项目~ 爸爸妈妈带小玲和同学去公园,买门票一共需要多少钱成人;每张5元儿童每张2.5元?爸爸妈妈带小玲和同学去公园,买门票一共需要多少钱成人;每张5元儿童每张2.5元 动物园门票每位大人20元,动物园门票大人20元,小孩10元.六一儿童节那天,儿童免票,结果与前一天相比,大人增加到原来的1.6倍,儿童增加到原来的1.9倍,共增加了2100人,但门票收入与前一天相同, 北京海洋馆 太平洋海底世界哪个好玩些?麻烦说一下这两个里面都有什么玩的~大概能玩多久~我和男朋友去哪个比较好呢? 小芳和爸爸妈妈去公园玩,门票用去22.5元,一张儿童票价是成人票价的一半,一张成人票价是多少钱要算式 请问重庆动物园和永川动物园哪个好玩些,现在去的话成人与儿童的票价分别是多少?自驾游 我打算和女朋友去北京玩 请问北京动物园海洋馆 富国海底世界 太平洋海底世界这3个地方哪比较好玩 20个大人和4个孩子去买票,怎么买最合算(成人20儿童10团体10人以上12)价格表成人:20元儿童:10元团体:(10人或10人以上)12元 星期天,爸爸妈妈带着小丽去公园玩,买门票共用去了37.5元.已知一张成人票与两张儿童票的价格相等,一张成人票多少钱 北京动物园\海洋馆\富国海底世界\太平洋海底世界哪个好玩点?最好的是去过的介绍下还有哪个里面有表演啊?大概几点? 五一,2个成人带小明去公园,买票用10.5元知一张大人票价和三张小孩票价相等,一张大人,小孩票各多少?用去、10.5 爸爸妈妈星期日带小东去游公园,买门票共用去3.5元,已知一张大人票的价钱与3张小孩爸爸妈妈带小明游公园,买门票用去3.5元,已知一张大人票价与三张小孩票价相等.一张大人票()元. 六(3)班36名同学去景湖公园游玩,公园的具体收费情况如下:儿童票每张8元,四十张开始可以享受团体票价,团体票价按五分之一优惠.算一算,怎样购买门票最合算,可以少付多少元? 某公园的成人票是20元,儿童票价是8元,甲旅行团成人和儿童共有20名;乙旅行团的成人数是甲的旅行团的2倍而儿童人数则是甲旅行团的一半,已知两个旅行团共花费了816元购买门票,你能求出甲 爸爸妈妈带小玉去公园玩,他们买门票一共用去27.5元.已知一张成人票与两张儿童票票价相等,一张成人票多少 某公园的票价是:每人10元;一次购票满30张,每张可少收2元.某班有26名同学去公园游玩,当班长准备好钱到钱到售票处买26张票时,爱动脑筋的数学课代表喊住班长,他提议买30张票,但有的同学 某公园的成人票价是20元,儿童票价是8元甲旅行团有x名成人和y名儿童,乙旅行的成人成人数是旅行团的2倍,儿童是甲旅行团的2分之一,求两个旅行团门票费用的总数? 爸爸妈妈带4个孩子一起是动物园~他们带了50块钱~大人票是6块 孩子票是9块 问一共要付多少钱 请写出简单的算式请用?来算 某校初一年级[1]班组织学生去公园游玩,该班有50名同学组织了划船活动.[1]他们一共租了10条船,并且每条船都坐满了人,那么大、小船各租了多少只[2]他们租船一共花了多少元钱 某公园的成人票价每张是20元,儿童票价每张是8元,甲旅行团有X名成人和Y名儿童; 爸爸妈妈带小明去逛公园买门票公用十七点五元,已知一张成人票与三张儿童票的价格相同,一张成人票要多少钱? 春节期间,七(1)班的明明、丽丽等同学随家长一同到某公园游玩票价:成人每张35元学生按成人票5折优惠团体票(16人以上或16人):俺成人票的6折优惠)爸爸:大人们票每张35元,学生门票是5 某公园的成人票价是每张15元,儿童票价是每张8元,甲旅行团有x名成人和y名儿童;乙旅行团的成人数是甲旅行团的2倍,儿童数是甲旅行团的二分之一.(1)求甲,乙两个旅行团的门票总费用和 (2) 小华和爸爸妈妈到公园游玩、买门票共用去17.5元,已知成人票是儿童票的2倍,一张成人票的价格是多少元? 春节期间,六(1)班的明明、丽丽等同学随家长一同到某公园游玩,下面是购买门票时,明明与他爸爸的对话(如图),是根据图中的信息,(1)明明他们一共去了几个成人,几个学生?(2)请你帮助 某公园的成人票价每张是10元,儿童票价每张是8元,甲旅行团有x名成人和y名儿童;乙旅行团的成人数是甲旅行团成人数的2倍,儿童数是甲旅行团儿童数的1/2,两个旅行团的门票费用总和为( 东胜小学六(1)班和六(2)班租车去旅游,共花450元.已知六(1)班有40人,六(2 在五一期间,小明,小亮等同学随家长一同到某公园游玩,下面是购买门票时,小明与他爸爸的对话,爸爸;大人门票每张35元,学生问票是5折优惠.我们一共12人,共需350元.小明:爸爸,让我算一算,换 某公园成人票价20元,儿童票价8元,甲旅游团x名成人和y名儿童;乙旅游团的成人是甲旅游团的2倍,儿童是甲旅游团的1/2.(1)求两个旅游团的门票总费用是多少.(2)当x=10人,y=5人时,求两个旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn