Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >架构中的“大象”

架构中的“大象”

原创
作者头像
WindWant
发布于 2023-11-15 01:48:04
发布于 2023-11-15 01:48:04
2000
举报
文章被收录于专栏:后端码事后端码事

西方有句谚语叫做:"an elephant in the room"。

用以指代那些显而易见又容易被忽视的东西。

这些东西是什么呢?

"an elephant":我们可以解释为那些重要的,困难的或者棘手的。

这里我们要讨论的则是架构中的"大象":业务价值。

通常我们做架构评估的时候,一般会对关联系统的性能,容错弹性,业务扩展性等进行论证,但很少会考虑各个系统的业务价值以及这些业务价值和前述架构特性之间的关系。

没有这些价值关联的理解,对于架构设计中的一些关键因素选择就会很难做决定。

交易系统容错

以向交易系统添加容错机制为例,通常需要花费大概几万到几十万不等。那么这笔钱到底值不值得花呢?

做这个决定的前,要先了解系统所承载的业务价值,如果是日亿级的交易量业务,那么上面所说的花费就显得微不足道,是否添加容错机制这个架构元素也就更容易做决策了。

这里举上述这个例子,并不是为了申述架构团队在做决策时容易忽略业务价值因素这个问题。相反,这个点的考虑也已成为了普遍会进行考量的关键点。这里所要重点指出的是,很多时候,架构团队并不能很好的明晰各个系统所承载的业务价值是什么?价值的量是多少?不同系统模块对业务表现的贡献?

保险公司系统微服务化

一个保险公司确定要将公司的单体服务拆分为产品线维度微服务(家庭险、个人险、车险等),但是它们对不同业务线对公司利润的贡献比例不甚清楚。那么这种情况下需要优先考虑哪些决策因素呢?可以肯定的是首先需要拆分出的一定不是价值最高的业务,因为第一次拆分必然会伴随着许多不定性的风险。前期非核心系统迁移的试错,经验积累必不可少。

一、核查架构价值流映射

首先要做的是针对架构中的每一个系统模块,构建其价值映射。也就是每个系统对应的业务价值映射。

企业通过业务系统来服务外部客户,客户在使用企业的服务时都会遵循特定的行为步骤。

以用户购买商品为例,用户通常会执行登录、查询商品、对比价格、下单、支付,查看订单、跟踪物流,商品签收,服务评价等一系列操作。用户每一个操作行为都对应于业务系统特定的服务模块。基于此,我们可以明晰每个业务系统模块对于服务用户这个商业行为的贡献价值,以及各个环节的失败影响。

二、考量系统异常的业务价值影响

我们评估一个业务系统模块的价值的时候,除了有明确的其承载的业务价值的标准,对于哪些无法明确考量的(如底层数据库,存储等)模块,我们可以从另外一个角度来估量:失败异常会造成的损失。

例如,在某个重大节日大促将要到来之前,研发排期里已经罗列很多业务功能 feature 迭代需求。此时,要如何将一个看似和业务无关的“数据库灾备、恢复演练”需求插入到日程里呢?

此时,只需要提出如下问题即可:假如节日大促时,数据库服务宕机了,会造成多大的损失?希望数据库服务能在多长时间内恢复?

在评估业务价值风险时可以通过如下两种方式:

1、自上而下,跟踪业务功能流程并识别支持每个流程节点的业务系统。

2、自下而上,检查各个业务系统,分析其失败所影响的业务功能。

风险考量另一个需要关注的点是:不同的失败异常所可能引发的影响不同。不同的业务系统所需要的系弹性是不同的。

例如,人门对开盘日宕机的股票交易系统和一时无法使用的内部报销系统的容忍系数是完全不同的。达成何种弹性界别完全一种业务决策

还有常见的“数据一致性”问题也是同样的道理,例如在对待分布式数据存储时,相对于可用性,架构师更倾向于追求数据一致性表现。但是就商业层面来看,以订票业务为例,重复订票反而是无伤大雅,人们更加不愿意看到的是无法订票这种情景。

就如我们经常会谈论到的CAP理论一样,CP ? 还是 AP ? 从来都是一个业务决策,而不是技术决策。

三、基于业务价值评非功能需求

在评估功能价值时,不应只关注单一的业务功能,还要考虑如系统质量、兼容性、稳定性等非功能性需求。

如果我们想要系统达到某些技术标准,那么我们就需要让非技术人员了解到,如果达不到这些标准将会失去什么样的业务价值。

评估非功能更性需求价值通常都比较困难,许多技术人员也常常会回避由此产生的争论。但是避而不谈则会产生比低价值技术投入更大的危害,同时也会在技术人员和非技术人员之间产生更大的合作障碍。

以业务价值的理解和组件灵活性需求决策为例,某个客户的支付处理组件是由特定的支付处理供应商提供服务的。现在客户想要将支付组件升级为可配置化,这样就能够更好的应对支付供应商的变化。要实现这个需要有两种方案可选,一是将和服务提供商的交互逻辑进行硬编码处理,二是将所有的交互逻辑可配置化。但是,交互逻辑可配置化处理必然会增加支付组件的复杂性及其它变更的成本,这也会是一个相当大的投入。然而,通常支付提供商变更的商务谈判交互会就会花费相当长的时间,这里或许根本不需要支付组件上的快速配置变更,反而,低成本的硬编码处理更加适合。

四、非功能性需求业务价值评估因组件而异

上述实例的阐述说明了在评估如系统弹性、灵活性等非功能性需求业务价值上不能单纯的采取“一刀切”的统一标准。

例如,实现一个交易系统的5个9的可用性是合理的,但是对于一个内部订餐系统则是完全没有必要。

对不同层级业务提供不同级别标准的服务系统是我们应当遵循的基本准则。

特定服务的宕机是否会立刻影响到用户体验及收入?能否承受数据库几个小时的宕机,恢复损失?等等。

关于分析系统支撑业务价值,另一个需要关注的情景是:单个组件支撑多个业务价值流及不同业务价值流所需的不同级别可靠性。简单来说就是公共服务组件问题,尤其在单体服务模式下更为明显。这也促成了人们对微服务模式的追捧,关注核心价值业务并提供高级别服务系统。

五、基于监控工具评估业务价值

监控是必要且必需的。

随着分布式大行其道,交互逻辑,交互流程日趋繁杂,监控更是我们能够把控服务健康状态的必要工具。

监控数据通常分为两类:1、技术性指标,这是术人员通常关注的;2、业务性指标,则是我们这里所需要讨论的,对评估业务价值非常有用的数据。

业务性监控数据,如交易数据走势,营收曲线,用户活跃度等等,往往成为日常经营决策基础,更加科学化的以数据驱动企业发展。

六、只进行必要的核心业务上云

随着云服务的日趋繁盛及成熟,很多企业都倾向将自有业务系统迁移至云上服务。迁移的过程通常会持续很长一段时间,在这段时间内,云上,云下服务通常会并行运行。在这个过程中,人们通常会犯的一个错误是将所有服务完全的照搬到云上,简单的理解为一个复制粘贴过程,这是非常不可取的。

上云应该是一个优化,提升的过程。我们前面论述过,核心价值的业务才是最值得关注的。另外,在历久的业务迭代过程中,存在着许多无用的,低价值的,甚至对业务优化形成干扰的功能。因此,上云之前应该对整个业务系统进行充分的分析,拆解,提优去糟,只将最核心,必要的的业务优化上云。相对于完全的照搬策略,这样反而更容易实施,roi更高。

七、业务价值重要且变化无常

架构元素业务价值不是一成不变的,同样一个业务,有发展,成熟,衰败的渐变或骤变过程,因此相应的价值映射也要做相应的调整。

业务价值预估也是我们进行业务价值评估所必要做的工作,这其中的影响因素包括企业经营决策,行业发展趋势等不一而论。

比如,大数据模型由原来做推荐,然后跟随趋势支撑AI;核心的社区业务转变为非核心的交易支撑业务等等。

八、技术职业生涯中的业务软技能

做技术的人不能只关注技术,技术是利器,而业务知识则执利器之手。

技术人员在掌握必要的技术技能同时,更多的应该关注其所负责业务知识,逻辑,业务价值的产生,流动路线,变化发展规律,趋势等。能够深刻的理解怎么能用现有的技术更好的服务业务价值。

附:The Elephant in the Architecture

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于电商业务中台最佳实践:总体架构介绍与交易业务中台核心设计
业务中台采用领域驱动设计(DDD),在其上构建业务能力SAAS,持续不断进行迭代演进。
架构之家
2022/09/01
2.2K0
基于电商业务中台最佳实践:总体架构介绍与交易业务中台核心设计
【愚公系列】软考高级-架构设计师 101-系统架构评估
系统架构评估(System Architecture Evaluation)是一种系统化的方法,用于分析和评估软件系统的架构设计,确保其满足预期的质量属性和需求。
愚公搬代码
2024/08/11
5660
技术揭秘12306改造(二):探讨12306两地三中心混合云架构
在年前的「技术揭秘12306改造」专题中,一位对12306改造非常关注的技术架构师,他从技术的角度,用科学论证的方式说明12306是如何实现高流量高并发的关键技术。(http://www.csdn.net/article/2015-02-10/2823900)今天,他继续为大家带来第二章:解析12306两地三中心混合云架构。 前言 2015年春节最大的特色就是“摇一摇”,微信红包在春晚摇一摇互动总量超过110亿次,峰值达8.1亿次/分钟,有185个国家传递微信祝福。支付宝钱包在除夕晚上8点达峰值,首页被点
CSDN技术头条
2018/02/09
3.2K0
技术揭秘12306改造(二):探讨12306两地三中心混合云架构
算法交易系统架构,此篇足矣!
算法交易是使用计算机算法自动做出交易决策,提交指令并在提交后管理那些指令。算法交易系统最好使用由三个组件组成的简单概念架构来理解,这些组件处理算法交易系统的不同方面,即数据处理程序、策略处理程序和交易执行处理程序。这些组件与上述算法交易的定义一一映射。在今天的推文中,我们扩展这个架构来描述如何构建更智能化的算法交易系统。
量化投资与机器学习微信公众号
2019/07/23
4.3K0
算法交易系统架构,此篇足矣!
转型求通——微服务架构的最佳实践和发展趋势 | Techo大会精彩回顾第二期
全文共7399字,阅读需要14分钟 导读 刘冠军《万象伊始——集中式架构为何演进到微服务架构》 秦金卫《转型求通——微服务架构的最佳实践和发展趋势》 曹国梁《深度剖析—— 传统架构的云原生改造之路》 万俊峰《转型之后——面对流量洪峰,微服务架构如何进行弹性设计?》 陆绪之《落地实践——Service Mesh下的微服务落地实践》 注:发言仅代表讲师个人观点 讲师介绍 秦金卫 Apache Dubbo/ShardingSphere PMC 前某集团高级技术总监/某商业银行北京研发中心负责人
腾讯云中间件团队
2021/03/24
9500
技术人上云的七个重要姿势
现在,业务上云已经成为一个潮流。尤其是对于公司内部的技术人员而言,经常会有很强的技术冲动去让业务上云。同时,云供应商们的大力宣传让公司决策层及业务人员对于上云也有非常高的期待。但是,不管怎么说,公司业务系统上云还是一个技术活。作为公司内技术人员,仍然要从技术的角度充分考虑上云的路径、节奏以及具体技术方案。所以,很多时候技术人员的上云姿势比上云自身还重要。选择一个正确的上云姿势会让你的上云过程更加顺利,并能够为未来充分释放云生产力奠定基础,最终达成公司上云的初心:促进业务创新。 姿势一:掌握正确的上云节奏
静一
2018/03/23
6530
2018-06-08 从单一架构到分布式交易架构,网易严选的成功实践
https://mp.weixin.qq.com/s/syM4ReAWpZ5d4KI87ogpiQ 作者|马超编辑|薛梁过去两年严选提出并设计了统一售后模型、最大可退金额、和多级退款引擎等概念,抽象出了销退支持、上门取件、极速退款、售后风控等通用能力,经过几次架构演变,有效的降低了业务逻辑耦合和复杂度,可以做到上层业务的快速搭建和服务接入。 作为电商产品,交易在严选的业务中承担着重要的角色。随着业务的不断发展,交易场景的定制化和差异化开始凸显,同时第三方支付合作方的接入也越来越多,如何在保证交易服务安全稳定
Albert陈凯
2018/06/12
9820
解决方案架构师修炼之道
推荐序二 在IT领域里,解决方案架构师的培养成本也是极高的,架构的优劣决定着企业IT的建设和运营成本,架构设计上的漏洞可能会给企业带来巨大的损失。一名优秀的解决方案架构师在成长的道路上,要学习各类IT知识,在项目中摸爬滚打,总结经验教训,从实践中提炼方法论 ---- 推荐序四 我们介入后,围绕发布目标,反向梳理了三大模块工作细节及其配合关系,包括功能性开发与测试、非功能性开发与验证、产品运营与推广等,帮助产品相关的几十人的业务与技术团队就目标形成共识,包括帮助团队明确和调整优先级,舍弃一些不太重要的功能,提
yeedomliu
2021/12/01
2.7K0
解决方案架构师修炼之道
分布式架构那些事儿
首先我们要了解什么叫分布式架构。简单来说,就是把一个系统拆成多个子系统,在不同地理位置部署,相互协作完成任务。现在云计算、5G这些大热的技术都离不开它。其实生活中也有很多类似的例子,比如外卖小哥手里的送餐工具:订单被拆分到各个区域的小哥,他们快速找到顾客送到手里。这样我们才能足不出户吃遍美食!
35岁程序员那些事
2023/08/18
4020
分布式架构那些事儿
从 Oracle 迁移到 TiDB 的方案设计与用户实践
当前,全球数字化浪潮推动数字经济与实体经济融合,更多的企业意识到数据平台对业务增长和创新的重要性。通过国产化迁移和替换数据库,中国数据库市场蓬勃发展,为企业自主创新奠定了基础。本文以中国人寿财险公司为例,详述其从 Oracle 到 TiDB 分布式数据库的四个阶段的迁移,展示了金融行业对数据库的高要求和国产数据库的价值应用。
PingCAP
2023/05/25
4570
从 Oracle 迁移到 TiDB 的方案设计与用户实践
微服务架构深度解析微服务定义是什么?微服务与云原生有何关联?
微服务的概念来源于Martin Fowler 的一篇知名博文 :MicroServices。在博文中,“微服务架构”这个术语用来描述一种将软件应用程序设计为可独立部署的服务套件的特定方式。
愿天堂没有BUG
2022/10/28
7570
微服务架构深度解析微服务定义是什么?微服务与云原生有何关联?
蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践
每年“双11”都是一场电商盛会,消费者狂欢日。今年双11的意义尤为重大,它已经发展成为全世界电商和消费者都参与进来的盛宴。而对技术人员来说,双十一无疑已经成为一场大考,考量的角度是整体架构、基础中间件、运维工具、人员等。
Java高级架构
2018/08/16
4.4K0
蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践
事件驱动的基于微服务的系统的架构注意事项
今天的 IT 系统正在生成、收集和处理比以往更多的数据。而且,他们正在处理高度复杂的流程(正在自动化)以及跨越典型组织边界的系统和设备之间的集成。同时,预计 IT 系统的开发速度更快、成本更低,同时还具有高可用性、可扩展性和弹性。 为了实现这些目标,开发人员正在采用架构风格和编程范式,例如微服务、事件驱动架构、DevOps 等。正在构建新的工具和框架来帮助开发人员实现这些期望。 开发人员正在结合事件驱动架构 (EDA) 和微服务架构风格来构建具有极强可扩展性、可用、容错、并发且易于开发和维护的系统。 在本文
IT大咖说
2022/03/04
1.5K0
汽车之家电商系统架构演进与平台化架构实践
作者 | 方利 编辑 | 贾亚宁   本文由大厂案例转载自汽车之家主机厂事业部 - 技术部高级研发工程师方利首发于之家技术公众号的文章。 汽车之家电商系统诞生在 2014 年,成长于 2016~2019 年,并经历多年双 11、818 晚会的洪峰考验,沉淀了稳定可靠、性能卓越的在线交易能力。随着业务中台的建设浪潮兴起,2019 年进入中台化建设阶段,输出其在汽车电商领域五年沉淀的能力,助力汽车电商行业发展,加速企业数字化转型!   一、架构演进 这个部分主要讲一下汽车之家电商系统的架构发展历程,每
深度学习与Python
2023/03/29
1.4K0
汽车之家电商系统架构演进与平台化架构实践
搭建业务中台系统框架:大中台+小前台电商系统架构思路
近年来的数据中台、业务中台等系统架构兴起,大多数企业在不清楚的中台背景的情况下就盲目追求,最后只会导致自身平台丢失原有的优势框架。在这里,我们来总结下业务架构总原则:大中台+小前台框架思维:
数商云网络科技
2020/04/28
3.7K0
搭建业务中台系统框架:大中台+小前台电商系统架构思路
将成为数据库主流的HTAP,它能替代Oracle吗?
11 月 17 日,金山办公登陆科创版,圆了小米集团创始人、金山软件董事长雷军和金山所有员工的“英雄梦”。算下来,从 1999 年以金山办公为业务主体准备上市算起到今天,雷军足足等了 20 年。
AI科技大本营
2019/12/10
1.3K0
将成为数据库主流的HTAP,它能替代Oracle吗?
40页PPT分享万亿级交易量下的支付平台设计
苏宁金融交易量3年内从1000亿增长到万亿+,服务用户3亿+,服务场景从服务于苏宁易购内部生态,扩展到服务全渠道,全场景,多业态的线上线下智慧零售的开放生态圈,一方面要满足公司业务发展要求,快速研发新产品,另一方面要满足818大促,双11等大促设计要求;
数据和云
2019/05/20
2.6K0
40页PPT分享万亿级交易量下的支付平台设计
性能测试与故障测试:求同存异与协同价值
在数字化转型加速的今天,软件系统的复杂度和用户规模呈指数级增长。无论是电商平台的“秒杀”活动,还是金融系统的实时交易,系统稳定性已成为用户体验和企业生存的基石。然而,仅依靠功能测试已无法满足需求——性能测试与故障测试逐渐成为保障系统可靠性的两大支柱。两者看似侧重不同,实则共同构建了系统的“稳定性防线”。本文将从定义、差异、共同点及协同应用等方面展开分析,揭示其内在逻辑与实践价值。
FunTester
2025/04/01
600
性能测试与故障测试:求同存异与协同价值
无例可循,双十一倒逼出中国互联网「三高架构」
对大多数人而言,今年的双十一可谓是无感而过。然而,这个「无感」正是今年支付宝技术团队的一个重要目标。
机器之心
2022/12/16
3.2K0
无例可循,双十一倒逼出中国互联网「三高架构」
高可用这个问题,加机器就能解决?
互联网服务的可用性问题是困扰企业 IT 人员的达摩克利斯之剑:防于未然,体现不出价值。已然发生,又面临 P0 危机。就更别提稳定性建设背后显性的 IT 预算问题与隐性的人员成本问题。
腾讯云开发者
2024/11/21
970
高可用这个问题,加机器就能解决?
推荐阅读
相关推荐
基于电商业务中台最佳实践:总体架构介绍与交易业务中台核心设计
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档