摘要:集成企业,核心是解决方案,解决方案的优劣,取决于认知。从架构维度看,能简单解决,绝不采用复杂的方案。
大道至简,衍化至繁。
最近看到一些物流集成企业经营艰难,甚至爆雷的消息,心有感慨!
集成企业,核心是解决方案,解决方案的优劣,取决于认知。从架构维度看,能简单解决,绝不采用复杂的方案。
复杂让客户看不懂,项目投入高、运营难,维护成本高;复杂让供应商心里没底,回款周期长;复杂让自己研发成本高,施工周期长,投资回报率低,经营容易陷入恶性循环,直至难以为继。
因此,我们在制定解决方案,架构设计时,尽可能简单。
尽可能简单
在软件架构设计上,有5条规则,可以保持简单。
规则一、避免过度设计
项目解决方案如果复杂,复杂的方案将导致实施成本高,而且产生长期的昂贵的维护费用;特别在经济下行的今天,会伤害自己和客户。
就算明天经济形势会变好,复杂的方案也限制了系统的可扩展性。
因此,在设计中要警惕复杂的解决方案。
验证方案是否复杂,或是否过度设计,最好的方式是看测试同事是否能够轻松理解。
规则二、方案中包含扩展
扩展是否会让方案变复杂?
会!但方案没有扩展性,会让项目周期特别长,实施特别难,这是平衡的艺术。
所以我们保持适度的扩展设计。
DID原则可以帮助我们,在我们评估需求之后,Design设计20倍的容量,Implement实施3倍的容量,Deploy部署1.5倍的容量。
DID原则在实践过程中被验证,是项目取得平衡一个较好的实践。详细原因,可以查看我的文章。
规则三、三次简化方案
在方案制定完成之后,有经验的架构师,会大刀阔斧地砍!
如何砍?可以问自己3个问题。
方案的范围还可以简化么?方案的设计还可以简化么?方案的实施是否还可以更简单?方案的范围一般是指需求范围,需求决定了工作量,需求简化很难,但对项目最重要。
方案的设计取决于架构师的认知,需要反复审视方案是否易于理解?成本低么?扩展性适中么?
方案的实施,什么时候采购他人方案?什么时候用开源方案?什么时候采用自研的方式?这需要从企业整体视角来评估,欢迎查看我的文章。
规则四、减少页面目标
近年来,软件技术中兴起了微前端技术,或者称为大前端。
从整体架构上来说,尽可能减少网页上的对象数量。
因为客户端的资源相对服务端来说是较少的,而且给网络带宽造成一定的压力。
因此,对性能敏感的网页,尽可能采用服务端解析的方式,前端技术也可以更多地采用服务端解析的方案,减少或合并对象,平衡好最大并发连接数。
这样在客户易用性、可用性和性能之间能取得比较好的平衡。
规则五、采用同构网络
这是一个很容易被忽略的点。
混合使用不同OEM的交换机或路由器,厂商在实现各种标准协议时存在差异,数据包解析可能存在差异或转换时间长,如RFC协议等。
另外,公司采购的交换机、路由器、入侵检测系统、防火墙、负载设备等,如果采用不同厂商,可能在功能、可靠性、成本和服务角度存在较大差异,从简单的维度看,尽可能统一供应商。
简单是世界的本源,欢迎关注我。
来源:龚龚科技杂谈