VUCA时代:软件架构解决复杂性之道
按:VUCA是指组织将处于"不稳定"(Volatile)、"不确定"(Uncertain)、"复杂"(Complex)、和"模糊"(Ambiguous)状态之中。
VUCA的概念最早是美军在20世纪90年代,引用来描述冷战结束后的越发不稳定的、不确定的、复杂、模棱两可和多边的世界。在2001年9月11日恐怖袭击发生之后,这一概念和首字母缩写才真正被确定。随后,“VUCA”被战略性商业领袖用来描述已成为“新常态”的、混乱的和快速变化的商业环境。当今业务技术所有的挑战背后,都可以归结为VUCA这一个根本性的挑战。软件架构如何应对这些复杂特性?这是值得思入深考的地方。
本文来自、方法学专家张刚老师的分享。本文生动形象地从五大方面介绍了VUCA时代下的软件架构设计,小编认认真真听了一下午,还是只能窥探零点一二。
“ 到底什么是VUCA?”
“ 架构是神马?”
01、软件架构的核心目标
1)系统在某种环境下的一组最基本的概念和属性,包括了元素、关系以及设计 和演化的原则——ISO/IEC 45010
“结构模型、功能模型和行为模型是理解任何架构的基本视角”
2)架构形成一个系统的重要设计决策,重要程度可以由变化的成本度量—— Grady Booch
“架构的本质是决策。为哪些做决策,不为哪些做决策,取决于变化的成本。”
“决策越多,以后的约束就越多。改进技术基础设施有助于减少变化成本和前期决策。”
3)非功能性属性决定架构,而非功能性属性之间经常冲突 -SEI
“架构模式(例如冗余)和大量针对特定架构的讨论(例如缓存机制),都是非功能性需求平衡的结果。优秀的架构师应该见多识广,熟悉各种设计范本,才能游刃有余。
4) 用场景验证架构 - SAAM和ATAM方法
“场景一直都是好东西,比如现在流行的敏捷方法SBE(实例化需求)也是。”
5) 有效沟通:
“停在纸面上的架构往往都不靠谱。有效沟通才能落地”
“敏捷时代,实际操作可以变得更加灵活和更加高效,但是掌握基本的结构化思维模型,仍然是优秀架构师的基本功”
02、从确定性到不确定性
1)业务环境的VUCA
业务边界模糊,外部不确定性增强,业务复杂性上升,黑天鹅成为大概率事件
“剧烈变化的环境是好事,让我们不能再忽略那些过去经常忽略的架构要素”
2)领域模型——用不变来应万变
反脆弱-增强自身的适应性,领域能力是核心能力,基础架构和组织结构支持领域为中心的设计。
03、以领域为中心的设计——DDD简述
1)领域驱动设计的价值
增强了对业务的适应性,消除了领域专家和软件设计的隔阂,带来了更好的架构;
2)领域驱动设计
• 战略模式和战术模式
• 子域和限界上下文
• 知识丰富的设计
• 低表示差距
基于BC进行微服务的划分,“微服务的本质是业务能力的复用”。
3)四层架构和六边形架构
领域模型为中心,更快的探索和发现。“六边形架构:以领域为中心,快速构建服务”。
04、接口和契约式设计
1)良好的接口是架构设计的重要构成部分
易于理解
接口稳定、一致
灵活,自由装配
适应性,持续演进
2)基于领域模型进行接口设计
"这涉及几个子域?几个接口?粗粒度还是细粒度?"
3) 定义清晰的接口契约
CDC=DBC+测试先行(in 客户/供应商模式)
05、架构看护和持续演进
熵增原理:软件架构也会天然走向腐化
1)使用解耦度进行架构看护
横向质量评价
纵向演进监控
2)使用架构坏味发现重构热点
不稳定的接口
繁忙道口
模块违约
=>更多文章请参考:《中国互联网业务研发体系架构指南》
=>更多TOP权威案例及行业标准资料请关注微信公众号:
VUCA时代:软件架构解决复杂性之道相关推荐
- 光明日报:探讨大数据时代的依法治理之道
编 者 按 bianzhean 大数据是万物及万物"普遍联系"的全景式记录,被称为"信息时代的石油".当前,我国正在大力推动实施国家大数据战略,加快建设数字 ...
- 联想g510升级方案_联想集团副总裁阿木:智能化转型是VUCA 时代的成功路径 -联想 ——快科技(驱动之家旗下媒体)-...
12月19日,国际组织发展与变革协会(ISODC)主办的中国第三届组织发展高管峰会在北京举办,联想集团副总裁.中国区战略及业务拓展副总裁阿不力克木.阿不力米提(以下简称阿木),在峰会上发表主题为< ...
- 《拥抱变化——社交网络时代的企业转型之道》一第1章 助力社交商务成功的AGENDA体系...
本节书摘来异步社区<拥抱变化--社交网络时代的企业转型之道>一书中的第1章,第1.1节,作者: [美]Sandy Carter 译者: 侯德杰 责编: 赵轩, 更多章节内容可以访问云栖社区 ...
- 《拥抱变化——社交网络时代的企业转型之道》一构筑社会信任
本节书摘来异步社区<拥抱变化--社交网络时代的企业转型之道>一书中的第1章,作者: [美]Sandy Carter 译者: 侯德杰 责编: 赵轩, 更多章节内容可以访问云栖社区" ...
- 《相关性准则——大数据时代的高效能之道》一一2.2 意识与大脑处理信息的能力...
本节书摘来自异步社区出版社<相关性准则--大数据时代的高效能之道>一书中的第2章,第2.2节,作者:[意]Stefania Lucchetti,更多章节内容可以访问云栖社区"异步 ...
- 《相关性准则——大数据时代的高效能之道》一一2.3 数字信息
本节书摘来自异步社区出版社<相关性准则--大数据时代的高效能之道>一书中的第2章,第2.3节,作者:[意]Stefania Lucchetti,更多章节内容可以访问云栖社区"异步 ...
- 作业帮运维负责人聂安:云原生时代运维转型之道
嘉宾 | 聂安 整理 | 张雪蕊 出品 | CSDN云原生 云原生时代来了,运维势必面临着转型的机遇和挑战.怎么转?有哪些值得借鉴的经验? 2022年4月12日,在CSDN云原生系列在线峰会第1 ...
- 乐视TV呼叫中心总监李霜:生态时代的服务运营之道
听闻乐视手机是两三个月前的事 儿,有天单位负责网管的同事很高兴地 说他新买了个手机,是乐视的.我一 向信赖他的专业度,就打听了一下这 款"跨界产品".他12345地介绍起来,从乐视 ...
- Serverless 是云时代软件架构的未来么?
© Ross Findon 本文来源「Hello Java」,原文标题<Serverless:云时代的软件架构核心思想>. Serverless绝对是这两三年来业界最火的词(UC Berk ...
- 张宏江:开源时代如何解决人的思维孤岛
智源导读:一直以来,"产学研"三者的边界并没有标准的范例供人们遵循.过去十年,随着人工智能技术的广泛应用,数字时代为产业发展带来的"无界"与"协同&q ...
最新文章
- vue 解决跨域 调试_Electron-vue解决跨域
- leetcode - two-sum
- asp网页设计流量统计代码
- 解决IE浏览器登陆失败异常!
- flash人物原地走路,Flash制作小人走路简单动画图文教程
- python将对象放入列表根据某个属性排序_关于python:如何根据对象的属性对对象列表进行排序?...
- php代码正确 插不进表,在表中插入值在PHP中不工作,使用
- sql在insert的同时把某个字段返回来_项目实践:后端接口统一规范的同时,如何优雅得扩展规范?...
- Day04:继承的意义(下) / 访问控制 / static和final
- 【简单】基于springboot的学生在线考试系统【老师、学生、管理员】
- java 异步写_Java异步编程实战
- vs2008 SP1 安装问题小解决方案
- 信息学奥赛一本通1045
- 液晶取字模工具linux,晓奇液晶汉字取模软件下载
- 自己整理的申论知识体系梳理分享
- linux系统的服务
- 随手写的绿色征途手游的脚本辅助代码
- sql语句查询时,where条件同时使用and和or
- 计算机任务驱动法教学应用,“任务驱动法”在职教计算机教学中的应用
- 做月嫂这个行业好不好,月嫂一年能挣多少钱