记得那是小学6年级,一部《黑客帝国》的电影让我对0和1的世界无比向往,也让那时爱做白日梦的我放弃了原有的不现实的梦想,励志要成为优秀的程序员。
转眼间,毕业已有10余年,我作为程序员在软件开发领域也努力拼搏了10余年,期间在互联网企业和上市公司中担任过技术总监和首席架构师。
现在的我,已是两个孩子的父亲。大宝出生时没有通过听力测试,医生嘱咐一段时间后去复测。陪产假结束后的第一天,赶上公司提倡参加且即将截止报名的软考,我报考了“系统架构设计师”。在离开大学校园时,我曾发誓再也不参加考试,不过此时,想到大宝正在接受他人生中的第一次考试,因此想用这种方式陪他一起努力。幸运的是,我俩都通过了各自的考试,虽然过程有些坎坷。
从这次软考开始,我意识到了理论知识对突破架构师瓶颈的重要性。同一时期,微服务架构似乎在一瞬间火遍整个IT领域,我开始从理论和实践两个方面对微服务进行深入的研究,因为有幸被中国信息通信研究院聘为可信云标准专家,参与编写了《微服务拆分规范指南》《云原生成熟度模型》《微服务应用架构白皮书》等多个行业规范和标准,并作为评审专家参与了多个大型企业架构的评级工作,所以对微服务有了更加深刻的认识。
微服务诞生于互联网领域,这是一个极具创新性的领域,速度是其中关键的制胜法宝。为了加快速度,互联网企业的管理通常是较为松散和扁平的,与其他行业相比,互联网企业中没有那么多的层级,也没有那么多的审批流程。
随着互联网时代的到来,各行各业都开始了互联网数字化的转型,微服务架构在互联网企业的成功案例被越来越多的企业决策者听见和看见,微服务化似乎成了企业IT转型中的必经之路。
同时,互联网时代促进了云计算的蓬勃发展,企业从原本的自建机房、托管主机和租用主机等自有资源的建设中解放出来,开始使用云上环境。由于国内企业的特点,在这个过程中,私有云和混合云得到了极大的发展。当企业享受着资源上云所带来的计算、存储和网络等方面的弹性和高可用性后,自然而然地开始将关注点转移到了应用系统的弹性和高可用性之上。
为了让云上运行的应用系统可以具备和资源相同的弹性和高可用性,云原生诞生了。微服务成为云原生的代表技术之一,这似乎进一步地印证了微服务是企业IT转型绕不开的必经之路。
然而,当下信息技术的快速变化和发展让微服务在眨眼间度过了概念阶段,直接进入了实战期。诞生于互联网的云原生和微服务一直都是在实战中且行且演化的,这让习惯了传统瀑布式IT建设的非互联网企业头疼不已。
并未正确认识相关思想的企业架构师和高层决策者们一方面认定微服务就是企业当下所必需的能力;另一方面将微服务化看作一次技术平台的升级。决策者们常常希望通过开发框架、引入平台、采购产品和外包等方式,在保证对已有系统影响最小的前提下,短时间内完成企业IT微服务化的改造。但这并不现实,人们小看了微服务与企业之间的影响程度。
在为许多企业级客户提供微服务化改造和落地的过程中,我发现,传统的一步一个脚印、重视早期决策、厌恶变更及流程众多的企业架构的建设和演化路径,与追求速度、延迟决策、拥抱变化和去中心管理的微服务架构之间矛盾重重。如果用技术手段强行将二者糅合在一起,那么结果是“它们别别扭扭地在一起”,这不仅不会形成合力,还会相互牵制。
本书就是在这样的背景下写作的。
微服务已经发展了数年,相关概念和技术已不再新鲜,不过,包括服务拆分方法、治理原则和在企业中的最佳实践在内的实现细节仍旧缺乏指引,尤其是如何在已经拥有大量IT资产的非互联网企业中落地微服务,十分缺乏系统性的资料。
本书系统性地介绍了企业架构和微服务,在理论层面将二者进行融合,同时提出了用于建设可持续演化的、基于微服务的企业架构的实践指南。希望读者能全面学习理论知识,也能在落地实践中获得切实的帮助和指引。
樊超
2021年12月