Blog

Blog

PHODAL

2019 年 Phodal 书籍推荐:《零信任网络》、《架构整洁之道》、《演进式架构》、《数据密集型应用系统设计》

这里主要是指在 2019 年我看的一些不错的书,哈哈

《零信任网络》

书的全称:《零信任网络:在不可信网络中构建安全系统》,英语:Zero Trust Networks: Building Secure Systems in Untrusted Networks

先介绍一下概念:

零信任是一种安全模型,用于保护企业远离网络攻击并保护敏感数据安全。零信任扩展生态系统(ZTX) 包括数据和信息保护以及网络安全。

这本书介绍了一个理想的现代安全模型框架,包含了大量极具价值的实战经验。虽然,从某种意义上来说,它看上去更像是一本 DevOps / Ops 或者是信息安全方面的书籍,但是总的来说,我从中 GET 到了一些之前没有 GET 到的网络相关的知识。这本书从我们熟悉的 DMZ 区(Demilitarized Zone,隔离区)讲起,介绍了 DMZ 潜在的种种风险,进而引起了我对这本书的兴趣。

对于开发人员来说,有这么一点特别有意思: 本地认证解决方案。诸如于 UAF 标准,将信任从大量服务转移到——数量相对较少的用户可控的终端上。

值得关注的还有倒数第二章『零信任网络的实现』,介绍了如何去实现这么一个网络,并结合了 Google 的 BeyondCorp 的例子来展示。

《架构整洁之道》

之前推荐过『《架构整洁之道》有感』,这里更新一下。

这本书是 Uncle Bob 的博客合集,所以这本书最吸、启发我的地方,怕是结尾的 《架构设计考古》相关的故事。编程年限时间越长,经常思考更好的解决方式,能收获到的知识也就越多。如果我们不能决定一个系统的架构,那么就思考、实践如何把它变好。过程中,大抵也是能收获更多的东西,对下一个系统有更多的启发。

第一、二部分,资深程序的程序员都会有一定的了解、实践。第三部分,是他最为人所知的 SOLID 原则,他最早出现 15 年前的《敏捷软件开发》等书上。而作为一个接受过 ThoughtWorks OO Bootcamp 训练的学员,我大抵还是能相当熟悉的运用它们。

第四部分,在讲述组件化架构,都是能以 UI 项目,而非后端服务谈论组件化架构,那倒能多得几分。终于在第五部分,开始总结性地介绍软件架构——这大概就是这本书最精彩的地方。除此,书中的这部分 Clean Architecture,经过我们的充分验证,这个架构模式对于大型项目来说确实不错——通过架构来规范代码。

然后,剩余的部分都在讲代码故事,Uncle Bob 讲述故事的能力,大概是我的好几个数量级。

说到底,还是因为我太年轻了,没能读懂这本书的精髓。看上去像可有可无的大道理,在落地上倒是得自己花时间去考虑。遇到一个架构方面的难题,带上这本书,加上所谓的悟性,或许我的问题就能迎刃而解。要是一看,本书倒是不适合初学者。可是,这本书的叙述方式,又相当的适合初学者。

《演进式架构》

中文电子书已出版,中文纸质版正在出版中,英文名:Building Evolutionary Architectures 。

我关注我们公司几个大佬写的这本书很久了——从 2017 年出版的时间开始关注。虽然,我知道这是一本不错的架构书籍,但是我一直懒得(穷)看英语版。它和我过去关注的《浮现式设计:专业软件开发的演进本质》有一定的相似度,不过提出了更多优秀和可靠的意见和建议。

演进式架构是支持跨多个维度进行引导性增量变更的架构。

作为一本架构方面的书籍,它系统性的将我们所需要的要素整合起来:

  • 增量变更。如何增量地构建软件和如何部署软件。
  • 适应度函数。架构的适应度函数为某些架构特征提供了客观的完整性评估。
  • 适当的耦合。如何确定哪些架构维度间应该相互耦合,以最小的开销和成本最大程度地获益。

《演进式架构》一书一直在强调一个观点,即要长期的去规划架构,架构是持续、迭代演进出来的。为此要时刻关注变化,添加演进能力,实施增量变更。

有意思的是,书中提到了我想要的另外一个答案:可牺牲架构——在概念验证成功后即被抛弃的架构(Martin Fowler)。换句话来说,在你实现 MVP(最小可行性产品)的时候,你可以用最快、最优的方式来实现系统,而非最适合的架构但是速度慢。

书中还提到了大量的架构反模式,诸如于:供应商为王——围绕供应商(如 ERP)构建架构、最后 10% 的陷阱——某些技术可以快速构建应用,但是无法完成最后 10% 功能(诸如于 React 的 CRA,也许你并不需要这 10%)、代码复用和滥用。以及陷阱:原始抽象泄露——底层抽象错误导致系统出现意外的灾难、简历驱动开发——不要为了架构而构建架构,构建架构是为了解决问题。笑~

(PS:这部分可能是这本书另外一个亮点,反正我觉得它非常精彩——就是案例不够丰富。)

书中最后一部分介绍了如何去实践演进式架构,哈哈哈。不过,这本书有一个问题就是写得太抽象了。以致于没有相关经验的情况下,可能有些地方难以理解——我也是听了公司的架构导读分享之后,才对这本书有了一个更新的认识。

《数据密集型应用系统设计》

这本书我是在公司的邮件里,看到同事的推荐买的。反正,O'Reilly 的动物书不会太差。买完之后,发现这本书相当的不错,又弥补了我缺少的一些知识点。在写这篇文章的时候,我意识到这么好的书,在豆瓣上应该有很好的评分——果不其然,评分 9.7 (187 人评价)。

这是一本不可多得的关于数据方面的好书——特别是对于缺少数据方面的开发来说,比如非科班出生的程序员。不论你是前端工程师,还是后端工程师,或者是 DevOps 工程师——只要你是个工程师,都建议你去读一读。

书的第一部分是数据系统相关的基础部分。这部分的内容非常棒,它整理了一系列关于数据模型与查询语言、 数据编码与演化、数据存储与检索相关的知识。它是一个相当不错的知识索引和概括,帮助你重新梳理数据系统相关的整个体系的内容。哪怕是你对分布式系统没有兴趣,你也应该读完一章

书的第二部分是分布式数据系统,也就是我们在各种讲后端架构常会看到的内容。也因此,这一部分的内容对于后端来说,它会更加有价值——诸如于各种分布式系统的基本问题,以及对应的解决方案。

书的第三部分是派生数据,包含了『批处理系统』、『流处理系统』以及『 数据系统的未来 』三个章节,我还没看……。因为关于批处理和流处理相关的内容,我已经有了一些实践。而且相关的内容,并非一两个章节能讲完的,笑~。

不得不提及的是,这本书每一个章节的结尾处都有几十个、几百个引用——我的意思不是说,这本书在浪费我辛辛苦苦赚的钱,而是这本书真的很细致、严谨。

《前端架构:从入门到微前端》

经过无数次的微信群聊证明了:这本书是一本给前端的装逼利器。它可以用于打击绝大部分的后端开发人员,无往不利。笑~

你需要前端微服务,这里有。你需要前端的规划,这里有。你需要更好的前端架构,这里有。

其它

综上所述,你应该优先看《零信任网络》第一、第七和第九章,《架构整洁之道》的第 5 部分,《数据密集型应用系统设计》 的第一部分,《演进式架构》的第六和第七章。对了,还有《前端架构:从入门到微前端》全书,笑~。

不过,适合我的不一定适合你,但是多读书总是没错的。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

标签