Istio最佳实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

译者序

服务网格,让应用开发回归本源

2017年,我的团队正在将开发了10年之久的单体架构改造成微服务架构。在迁移的过程中,我时常困惑:在微服务架构下,服务间通信因为网络的介入,使我们不得不实现流量控制功能,以及解决弹性相关问题。也正是这一年,服务网格技术诞生,我惊喜地发现,之前所面临的困难迎刃而解,它就像是为微服务架构量身打造的网络通信基础设施,能以近乎无侵入的方式实现服务的流量控制、安全性和可观测性。

随着学习与研究的深入,我对服务网格的创新性设计理念深感认同,也逐渐成为一名布道者,热衷于分享、传播服务网格技术。与此同时,在服务网格中国社区里,我结识了宋净超、罗广明两位挚友,对技术的一腔热忱和一致见解让我们很快成为知己。我们一起审阅、翻译服务网格领域最新的国外文章,组织社区成员完成Istio官方文档的翻译工作,并带领社区核心成员一起撰写了《深入理解Istio:云原生服务网格进阶实战》一书。几年的合作,也为我们一起翻译这本书打下了坚实的信任基础。

从某种意义上说,服务网格并不能算作一种全新的技术,它是开发者在追求以更优雅的方式解决服务通信问题时诞生的产物。当我们想要实现分布式系统中因网络介入所带来的一系列非功能性需求(如服务发现、超时、重试等)时,最简单也最原始的方式就是将这些承载非功能性需求的控制逻辑夹杂在真正的业务逻辑中。显然,这样的耦合是软件开发过程中最不应该出现的。因此,这些控制逻辑被提取、被封装,成为可复用的类库或者框架。但这些共享库依然没有实现真正意义上的解耦,语言绑定和编译,以及配置层面的侵入决定了此类解决方案并不是解耦的完全体形态,直到服务网格的出现。

作为一种思路上的创新,服务网格将原有的代理模式演变为边车(Sidecar)模式,以进程外的方式实现服务通信层面的非功能性需求,最终完美实现了控制逻辑与业务逻辑的解耦。当然,任何技术实现都具有两面性,我们不能否认服务网格也存在缺点,但我们也欣慰地发现,该领域的开发者依然在孜孜不倦地推动服务网格技术不断进化,业内也出现了无代理模式(Proxyless)、无边车模式(Sidecarless)、中心化代理等新的方向。而这些新的尝试也让服务网格向着更平衡、更成熟、更加多样化的方向持续演进。

在我看来,服务网格是最能诠释云原生理念的技术之一。云原生倡导基于动态的云环境构建和部署应用,其背后更深层的含义是充分利用云平台提供的资源、服务、工具、基础设施来简化应用的构建,让软件开发过程从包含了软硬件的管理与维护变为只针对软件的维护,从开发功能性需求(业务需求)和非功能性需求变为只开发功能性需求。而实现业务本身,不就是软件开发的本质吗?服务网格正是秉承了这样的理念,抛离了开发者原本不应该关注的通信层面的非功能性需求,让开发工作聚焦业务本身。而这,正是所谓的回归软件开发的本源。

从2017年发布至今,Istio作为服务网格领域的代表产品,其发展历程可谓一波三折。从作为技术新星受到万众瞩目,到用户体验令人失望;从早期的高速迭代,到经历架构调整的停滞不前。历经6年沉浮,Istio及其团队通过两次颠覆性的架构演进实现了涅槃,终于从稚嫩走向成熟。目前,Istio也回归正轨,成为云原生计算基金会(CNCF)的孵化产品,并以每年4个版本的速度持续更新。Istio的发展稳定且迅速,但相关图书的出版速度似乎无法跟上其更新的脚步,这是我们作为布道者和技术分享者所不愿看到的场景。

当得知业内著名的服务网格专家Christian Posta正在撰写Istio in Action时,我突然闪过一个念头,何不借此机会翻译此书?这可以让国内的开发者学习到业内顶级专家的实战经验!在和宋净超、罗广明商议后,我们一致希望能将此书引入国内。于是,我立即通过邮件和Posta取得联系,表达了想翻译Istio in Action的意愿。在初步获得原作者的认可后,我又马上和自己多次合作的电子工业出版社联系,说明想法。功夫不负有心人,在经历了漫长和焦灼的等待后,这本书被引进,我们的翻译工作也终于提上了日程。

作为技术作者、布道者,我们在服务网格领域摸爬滚打多年,虽不能妄自尊大,但也忝列专家之位,因此还是自信能将书中内容以准确无误的方式传递给读者。但即便有多本图书的写作和翻译经验,我们在Istio in Action的翻译过程中也是谨小慎微、诚惶诚恐的,生怕因翻译问题而糟蹋一本好书。

技术图书的翻译和母语写作不同,需要解决的往往不是准确直译的问题,而是直面中英两种语言在结构、句式、语法、表达方式,甚至文化差异上的不同。如何避免枯燥晦涩的直译,以中文习惯准确而流畅地传递出作者的写作意图,真正做到“信达雅”,这才是最大的难题。为此,书中的很多地方我们都需要先直译以理解作者想要传达的信息,再将其以中文表达方式重新组织。这种近乎二次创作的翻译方式让人精疲力竭。但初心未泯,在准确传递知识的同时,让读者有流畅舒适的阅读体验,是我们的初衷,付出再多,心亦无悔。

这本书共14章,其中罗广明负责文前及第1~5章的翻译,我负责第6~10章的翻译,宋净超负责第11~14章及附录的翻译。作为译者,我们殚精竭虑,不敢有丝毫懈怠。然而,人无完人,书亦如此。内容中如有疏漏,望读者斧正。

另外,也借此机会感谢在翻译过程中帮助我们的朋友。首先感谢本书的原作者Christian Posta,他在服务网格领域的专业性和技术深度是这本书极具价值的前提。感谢本书的责任编辑孙奇俏老师,多次的合作让我们更加信任彼此,她严谨专业的态度是保证本书质量的关键。还要感谢我的两位挚友宋净超、罗广明,相同的技术追求和理念让我们成为知己。这本书的引进、翻译和出版离不开大家的共同努力,谢谢大家!

由衷希望本书的读者们能从中找到自己想要的答案。探寻技术的道路漫长悠远,虽千里不辞,但未来可期。谨以此书敬上,与君共勉。

马若飞

2023年3月于北京