描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302622635
以复杂平台顶层设计为线索,作者使用接地气的技术语言,轻松叙事的写作风格,提炼近20年软件平台技术工作中的心得体会,整理出如此多的锦囊,执笔成书与读者分享。书中内容引经据典,多处引用成语、谚语,大量使用比喻写法,期望带给读者原生态技术语言之感受,体现软件平台技术工作中的情愫和品味。
本书内容十分解耦,而且语言犀利,其中不乏以博弈和批判性思维来揭示工作中问题的实质,风格迥异、见解独到,内容处处引人入胜,让“无形的道”跃然纸上,是一本难得一见的技术书籍,为从事“IT平台建设与维护、软件系统设计与开发、项目与质量管理”等工作领域的读者们,带来一份职业能力发展的“点金术”。
为给读者最佳的阅读感受,本书图文并茂,不仅有20余幅实战彩图,全景展示平台架构设计,更是绘制近70张主题简笔漫画,为读者朋友们奉上精美、飘逸之风。
《软件平台架构设计与技术管理之道》分为两部分。第1部分包括5章50节,通过主题短文,在思想底蕴与思维认知、平台顶层 架构与核心能力、技术管理与分析决策方面,给读者提供丰富的工作锦囊,综合提升读者的技术掌 控力和布道力,精进方法论,使读者能快速成为一个通识全貌型人才,从容自如地驾驭中大型软件 平台方方面面的技术工作。第2部分包括3章,提供20余幅技术方案图和架构设计的工作示意图, 以及常用工作台账示例,帮助读者进一步精通图形化表达方法,提升技术设计呈现能力。 《软件平台架构设计与技术管理之道》不仅适合工作于一线的技术总监、架构师和中高级技术人员阅读,对致力于IT咨询和布道 师岗位的读者,以及扩展知识面、争取持续提升的IT项目管理人员、质量管理人员,同样可以从中 受益,大获技能包,增强软实力,早日脱颖而出。
第1部分 技术负责人的工作锦囊
第1章 良好认知,成功钥匙 2
1.1 为技术负责人画像 3
1.2 技术分工细化之殇 5
1.3 决策是平衡与取舍的艺术 8
1.3.1 没有完美答案 8
1.3.2 记录决策理由 9
1.3.3 掌握行业方法 10
1.4 会有第五代架构吗 12
1.4.1 前四代架构的精髓 12
1.4.2 深谙架构职业特性 13
1.4.3 预测五代无意义 15
1.5 简洁开明的领导风格 16
1.5.1 透明求真和沟通交互 16
1.5.2 领会无为而治 19
1.6 平台思维和情绪管理 21
1.6.1 项目制vs平台型 21
1.6.2 不要愤世嫉俗 23
1.6.3 去除地盘意识 23
1.7 提升架构设计严谨性 26
1.7.1 架构设计思维原则与模式 26
1.7.2 过程增强与工具运用 29
1.8 问题并非出在技术上 33
1.8.1 贵在积极对话 33
1.8.2 方法论胜负手 34
1.9 精明赢得公司汇报 36
1.9.1 关注真正的重点 37
1.9.2 亮出点看家本事 37
1.9.3 研发管理上得分 38
1.10 别指望每个人都认可架构 39
1.10.1 问题客观存在 39
1.10.2 不合理的使用 40
1.10.3 寻找可行之路 42
1.11 一点规划胜过多次补救 43
1.12 掌握禀赋,正确用人 46
第2章 萃取精华,驾驭主题 48
2.1 起个响亮的名称代号 49
2.1.1 代号的价值 49
2.1.2 轻松的时刻 50
2.2 通用一致的专业术语 52
2.2.1 非模糊语言 52
2.2.2 广学活用行话 53
2.3 制定全景路径 56
2.3.1 模式形态分析 57
2.3.2 单元实现方式 58
2.3.3 绘制路线图 59
2.4 聚焦边界抓主脉 60
2.5 合理运用架构模式 63
2.5.1 必须学以致用 63
2.5.2 谨防过度设计 64
2.6 立起架构,递增部署 66
2.7 打造数据堡垒 68
2.7.1 数据库的发展历程 68
2.7.2 数据模型不可变 69
2.7.3 数据资产重于一切 70
2.8 有无兜底方式 71
2.8.1 学会使用补偿 71
2.8.2 其他兜底方式 72
2.9 运行、维护保鲜 74
2.9.1 掌握运行水位线 75
2.9.2 进行定期演练 76
2.9.3 平台运维手册 77
2.10 技术白皮书 80
2.11 再来几条技术锦囊 82
2.11.1 别把快速当成敏捷 82
2.11.2 用多少时间做架构 83
2.11.3 关注模型与代码融合 84
2.11.4 避免成为僵尸系统 85
2.11.5 向结构性失衡宣战 85
第3章平台视角,顶层设计 90
3.1 分层总体架构 91
3.2 交互关系设计 95
3.2.1 交互流程设计 95
3.2.2 系统逻辑关系设计 97
3.3 数据架构设计 98
3.3.1 业务视角设计 99
3.3.2 技术视角设计 100
3.4 工程技术架构 102
3.5 流量分布设计 105
3.6 应用部署设计 108
3.6.1 板块划分 108
3.6.2 各类网关 109
3.6.3 板块内应用系统 110
3.6.4 中间件及公共资源 110
3.7 系统通信设计 111
3.7.1 通信网络及服务 111
3.7.2 系统间通信技术(IPC) 112
3.7.3 端口及响应码 116
3.8 应用安全架构 118
3.8.1 企业安全框架 118
3.8.2 应用安全三面观 119
3.8.3 移动应用安全设计 120
3.9 日志体系设计 124
3.9.1 日志分层分类 125
3.9.2 聚合与使用 126
目录XIX
第4章核心能力,全景覆盖 128
4.1 高可用体系设计 129
4.1.1 范畴及相互关系 129
4.1.2 冗余机制的设计 131
4.1.3 防御降级设计 133
4.1.4 发布保障 136
4.2 应用高性能设计 139
4.2.1 前端开发领域 140
4.2.2 后端开发领域 141
4.2.3 数据与数据库 143
4.2.4 非数据类对象 144
4.2.5 设计与选型 145
4.3 监控报警体系 147
4.4 可用率和容量衡量 150
4.4.1 服务可用率衡量 150
4.4.2 平台容量衡量 152
4.5 并发性能衡量 155
4.5.1 QPS和TPS155
4.5.2 性能衡量方法 157
4.6 容灾模式设计 160
4.7 分布式之无状态 164
4.8 分布式之事务 167
4.9 分布式之锁 171
第5章精进管理,磨练团队 174
5.1 分配好团队体力 175
5.2 立体化指标体系 178
5.3 保持张力应对变化 181
5.3.1 变化无处不在 181
5.3.2 偿还技术债务 183
5.4 抓评审立基石 184
5.4.1 精进技术 184
5.4.2 带入问题 186
5.4.3 管理抓手 187
5.5 流程及质量卡口 188
5.5.1 务必保持好阵型 188
5.5.2 质量关口前移 191
5.5.3 与开发相互融合 192
5.6 交付效能评估 194
5.6.1 选择合适指标 195
5.6.2 做成加分项 196
5.7 坚守文档底线 198
5.7.1 精简是必然趋势 198
5.7.2 两文档不可裁剪 199
5.7.3 对编写水平把关 200
5.8 揪出那几类故障 202
5.8.1 仔细认真地对待 202
5.8.2 故障的2/8定律 203
5.9 还有哪些管理妙计 205
5.9.1 经得起三问 205
5.9.2 洞察缓慢混乱 206
5.9.3 一切都不在掌控中 207
5.9.4 应变转型与变革 207
第2部分技术图表材料实战解码
第6章简洁方案,直达问题域 210
6.1 中心间运行关系 211
6.2 对账处理逻辑 213
6.3 系统环境迁移 215
6.4 适配新老客户 217
6.5 参与方间关系 219
6.6 系统通信关系 221
6.7 全局路线图 223
6.7.1 瀑布式风格 223
6.7.2 迭代式风格 224
第7章架构设计,超强表现力 226
7.1 分层架构示意图 227
7.1.1 偏重中台和技术栈 227
7.1.2 偏重业务系统域 228
7.2 应用安全示意图 230
7.3 交互流程设计示意图 232
7.3.1 经典泳道风格 232
7.3.2 立体图风格 235
7.4 系统逻辑关系示意图 236
7.4.1 立体图风格 236
7.4.2 分层次风格 238
7.5 应用系统部署示意图 239
7.6 数据架构设计示意图 241
7.6.1 偏重数据处理关系 241
7.6.2 偏重于分区关系 242
7.7 系统功能框架示意图 244
7.7.1 功能地图型 244
7.7.2 功能与交互混合型 246
第8章积累复用,多走捷径 247
8.1 技术评审检查点 248
8.1.1 前端领域 248
8.1.2 后端领域 251
8.2 上线与运行事件台账 254
8.2.1 版本上线台账 254
8.2.2 运行事件台账 256
参考文献 258
致谢 259
后记这是富有意义的尝试 261
让无形的道跃然纸上 261
一份追求与一丝期望 263
计算机技术的发展日新月异,市面上软件架构、项目管理、IT技术类书籍层出不穷,
从软件专业和技术视角进行阐述的居多,但对技术烂熟于胸,还是无法保证你能成为
优秀架构师或驾驭平台的技术负责人。
在互联网、金融、支付、电子商务、民生服务领域参与IT系统平台建设工作多年,
我认为确有必要静下来梳理和总结,写这样一本书,通过精湛的主题短文和技术设计
剖析,分享在平台建设与维护、架构规划与设计、技术管理与问题决策等各类工作过
程中,对“思维、认知、专业能力”的沉淀总结,以及“工作实战经验”的精华观点
提炼,给读者提供丰富实用的工作锦囊,帮助大家掌握顶层架构设计和表达方法,精
进方法论,优化团队管理;善于审时度势,明察秋毫,综合提升技术工作的掌控力和
布道力;增强软实力,快速地成为一个通识全貌型人才。
论道,可以简言间传递领域智慧、触达心灵。与此同时,更希望视本书为软件平
台技术管理指导、架构设计与表达的全景字典,可以书中内容及观点作为实际工作参
考,在多种场景下把控正确方向,进行有效决策,以解决实际问题,完成各项任务,
并且能够对前瞻性的工作行动有效赋能,帮助读者进行主动审视和积极规划。
书中内容并非完全诉求IT技术本身,每个章节独立成文,语言简洁易懂、诙谐幽默,
虽系计算机类书籍,但阅读门槛不高,能够以醍醐灌顶的方式指导软件平台技术工作,
是对市面上此类书籍稀缺的有利补充。
写作背景
书中提到的专业知识、技术术语,以及作为全书主脉的“平台”二字,更多来自
于本人所工作过的行业领域,即平台的构成体是定位于不同功能目标的系统群,使用
以开源技术为主的主流分布式框架和高级程序语言设计开发,服务端和多形态客户端
相结合,通过网络方式向(C端/B端)各类客户提供业务应用和场景服务。可以明确
地说,此“平台”系社会各行业应用最为广泛且具有代表性的IT技术应用形态,主导
软件架构理念和技术演变,并体现IT行业主流的管理与发展模式,覆盖大多数的IT
从业者。
驾驭软件平台,面临多方面的工作难度。
1.规模大,团队大,投入大
相互关联的庞大系统群,由架构、开发、测试、运维、质量、项目管理等多个团
队共同参与建设、维护和管理,技术人员规模一般超过百人,各端采用多种类型的技
术栈和工具,平台建设可能占据企业一半以上的成本支出,上游面对多条业务线(产
品线),承载企业全部的数据资产和用户交易,决定企业的市场竞争力和商业价值。
2.参与方多,错综复杂
软件行业各领域呈现专业纵深发展和分工细化的特点,平台建设必须最大化集成
和复用外部的能力,需要联合众多外部角色,包括参与平台建设的外包商、产品供应商,
以及平台功能所依赖的三方平台服务方、合作机构端等,不可控因素多,集成、异构
带来很多的技术风险,跨公司沟通成本高,项目群管理难度大,整体工程的进展和质
量风险敞口指数级增大。
3.硬实力和软实力要求都极高
平台中,分散自治与规范统一、技术异构与通用通配、安全合规与开放易用、交
付速度导向与架构基石等矛盾对立处处存在,驾驭这样一个错综、复杂、立体的“怪兽”,
除了必备专业技术技能、熟知企业业务之外,必须具备出众的沟通力、表达力、领导力、
思维认知和场景经验。平台级技术架构设计规划与工作决策,是更高阶的架构能力级
别,也是更考验“方法论”的运用和“平衡、取舍”的艺术。矛盾无处不在,驾驭软
件平台的精粹是驾驭矛盾。
由于技术栈的多极化、立体化发展,企业中已难觅前后端技术通吃的系统架构师,
更何况平台要满足服务治理、高性能和高可用、自适应性,以及开发运维一体化和自
动化等不同维度的高标准要求,还会涉及大数据、人工智能、区块链等多个领域。就
规模、关联性和复杂程度而言,软件平台非一般系统级技术架构师、团队级开发负责
人所能掌控。
在个人技术能力覆盖型的管理方式无法满足的情况下,必然需要平台顶层视角级
角色,掌控高阶架构,知道每个阶段的工作重点、抓手和工作价值点所在,在相关领
域技术理论之上的层面,剖析多个架构切面和主题,进行平台级抽象表达,并能够洞
察和平衡多方优劣,有效进行认知提炼,面向平台的能力空间,进行最顶层架构设计
规划和技术工作决策,有效引领系统群整体建设。
读者对象
.建设和维护软件平台的技术负责人、架构师、中高级技术成员。
.致力工作于“CTO、技术总监、架构师、技术咨询或者布道师”岗位的读者。
.扩展知识面,争取持续提高的产品、运营人员,以及IT项目管理(PM)、质
量管理(QA)人员。
本书导读
本书名称经过多次修改,最终使用“之道”二字,旨在表明,如果一个系统的技
术工作更多地聚焦于以软件技术实力为代表的“术”的级别,驾驭平台则更重于上升
至论“道”的层面。很少有这样的书,也很难去写这样一本书。
本书是一本与常规技术书风格迥然不同的书籍,第1~5章通过50节主题短文
的表达形式,力求语言的简洁精辟,引经据典,如故事一样轻松易懂,篇幅虽不长,
但细心阅读会发现承载的信息量很大,全是干货。
50节主题短文的组成方式为:第1章、第2章的23节内容,不仅点睛思维与认知,
而且揭示技术工作中的精粹要点;第3章的9节内容,通过架构主题进行平台架构设
计的全景式指导阐述,第4章的9节内容,则对高可用、高性能、防御保障等关于核
心能力的话题,进行了体系性的关联、剖析和指导,知识点覆盖面广,概念定义分析
透彻,不失为平台架构工作小字典;第5章的9节内容,重点在打造高能力技术团队
方面进行授道。
可能还没有这样一本书,剖析技术设计材料,与你探究制图之道。本书第6章和
第7章提供20余幅技术方案图和架构设计的工作示意图,来源于本人工作和个人学
习过程中的手稿,经过完全的信息脱敏后提供给读者,希望能帮助读者学习“表达技
术观点、要点”的方式,这对于粗颗粒度的、指导性的设计工作尤为重要,在平台工
作中必不可少。第8章则提供两个领域的技术评审参考项和3个台账模板。如果你在
工作场景中为制作技术设计图、方案图或者制定评审清单犯难,也可以使用这些材料
作为模板参考,用于解决实际问题。
书中大部分内容和观点阐述,多是从认知和方法论的视角来着笔,横跨思维、技
术和管理,希望给读者带来一份职业能力发展的“点金术”,即使你是非此形态的软
件(如细分领域内的专业软件、底层软件或者特定应用的单体软件)工作者,一样会
从本书获益。
在阅读过程中,希望你能在简单的文字中,识别出具备赋能价值的关键词汇,并
进行思考和自我评估。例如,你是否在“风险偏好”“生死线指标”这些方面做过明
确的定义,是否熟练使用这些作为决策时的理性判断参考维度;你在向上级汇报时,
是否存在“技术性幼稚”的问题,甚至阻碍了职业发展;“技术债务”四个字,是否
可以帮助你将很多工作任务归入此类,为任务带来一种有味道的属性,增强任务的识
别性,为任务赋能;“模式病”和过度设计在你的团队的设计工作中是否大量存在,
为此在技术评审中应该有哪些卡口;“分区治理”四个字,是否可以让下属团队迅速
理解平台层数据库设计及应用部署设计的核心出发点;“最小化实现”是否可以帮助
团队理解软件工程技术角度的敏捷思想;多次使用的“高阶”“要素”“主题”“切面”“问
题域”“标的物”,以及“软技能”“全貌”“推手”“标签”“主脉”“通识”“加
持”“套牢”“舒适区”“胜负手”“反模式”“预研”“缓释”“补偿”“水位线”“标
靶”“底线”“范式”“勾稽”“契约”“可信度加权”“兜底”“冗余”“心智模型”“风
险敞口”“粗略视图”“进程鸡窝”“富文字图”“桎梏”“漏勺”“雪崩”“盲区”“固
化”“拓扑”“扎口”等字眼,均来自工作实践的升华和对IT“土壤环境”的诙谐领
悟,可以在抽象和总结性工作场景中,解决词汇贫乏问题,在工作中熟练运用这些词汇,
可以让你的表达和汇报上升到新的高度,布道能力更高超,宣导更加顺利。
掌控这些技能需要不断地练习与实践,走出技能“舒适区”才能实现突破。本书
通篇内容为一行一行原汁原味的创作,剔除批量化制造的铜臭味,使用对话的口吻和
尽量接地气儿的语言,多处引用成语、谚语,大量使用比喻写法,期望带给读者原生
态技术语言之感受,体现软件平台技术工作中的情愫和品味。
最后,进行两个阅读提示:一是对于阅读本书的收获,我最期望的是提供进入一
个新的境界的思考方式,本书中提供了很多经典的例子,究其本质而言,是可以在多
个章节里面通用的,读者在阅读中请注意体会;二是对架构设计与技术管理的论道,
本书内容是基于我18年工作与学习积累的经验,一定会带有不同程度的主观色彩,
因此读者要有一个弹性的理解,与其过多关注内容的正确性和权威性,不如以此为点
拨,作借鉴之用,以思考和实践自己的论点。让你的思维进入本书谈论的话题领域,
悄然间发生质变,是我的最大目的。
本书经过精心思考后所使用的词语和表述,相信其中不乏精粹之处,映射了本书
书名“之道”二字,如同戳破窗户纸,触及心灵,成为你的武器库、技能包,在IT队
伍中脱颖而出。
由维昭
2022年5月
评论
还没有评论。