企业架构设计原则之避免单行道
一、可回撤性
鉴于设计天然的前置性,在开展设计工作之时,很多因素都是模糊不清,很多时候依靠设计人员运用自身的经验、理论和方法进行识别、评估和判断,即使是最优秀的设计人员,也难保设计的方案长久有效,毕竟随着时间的推移,很多因素会逐渐发生变化,而建立在对这些因素的综合判断之上的设计方案自然存在一定的不稳固性。因此,在架构设计领域,有一种理念会认为,真正优秀的工作良好的系统架构,往往不是一开始就设计好的,而是一步一步地随着业务的前进而演化过来。
因此,对于架构设计,尤其是那些影响深远,风险巨大,成本高昂的架构设计,必须确保方案具备一定的可回撤性。也就是说某一天一旦发现现有的设计不足以支撑业务目标,必须能够在可接受的时间和损失范围内改弦易辙,调整架构。举一个不恰当的例子。假设一家人要去远方旅行。当他们行进到一个十字路口的时候,周围既缺乏可信的路标,导航也没有收录,这个时候假设有两条路可供选择,一条路宽敞,是双行道,另一条则狭窄的单行道。在不知道哪一条路可以到达终点的情况下,利用当前所能掌握的信息,该如何决策呢?显然,在两条路都不确定是否可以抵达终点的情况下,而我们又必须抵达终点,即目标不可动摇,我们最明智的选择是走宽敞可随时掉头的道路,毕竟他给了我们回调的余地。
架构设计也是如此。越是重要的设计,越要保证方案的可回撤性,不要赌徒的心智去从事生产经营工作,毕竟十个赌徒九个半晚景凄凉,这想必不是我们所愿意见到的局面。
为了更贴切地说明这个问题,我们举一个更真实的场景。在 IT 生产建设过程中,经常会遇到需要采购第三方资源的情况。假设有甲乙两家供应商,可以提供同样的产品,也都满足当前业务的需要,而业务正处于探索阶段,前景不明朗。至于甲乙两家的服务质量也都是不相上下。但是他们的价格方案却大相径庭。甲的报价方案是一次性购买 5 年,一共 260 万。乙的报价方案是可以按年支付,每年 70 万。同时甲乙都明确表示一旦签订合同,除非是他们自身的问题,其他情况一概不退款。作为架构设计人员,你需要为团队挑选一家供应商,你该如何决策?单纯从经济成本考虑,似乎应该选择甲,毕竟更划算(忽略严重的通货膨胀的情况);但是从可回撤性来讲,乙似乎更明智,毕竟谁也不清楚当前开展的业务是否能够持续五年,一旦面临转型,乙的成本损失更少。
版权声明: 本文为 InfoQ 作者【凌晞】的原创文章。
原文链接:【http://xie.infoq.cn/article/ef696f18b6308c49c6df22db9】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论