译者序
最近几年,在互联网和企业级开发领域最火热的一个词恐怕就是“云原生”了。
经过多年的发展和市场培育,对于不同规模的企业来讲,“上云”似乎已经成为理所当然的选择。但是,“上云”之后一切就会变好吗,云真的会带来成本的节省吗,在本地运行无误的应用可以原样迁移至云端吗?事实证明,如果没有细致的规划和谨慎的实施,云并不一定天然带来成本节省,这也是最近FinOps理念越来越火爆的原因。至于应用本身,为了保证可靠性和稳定性,我们需要处理的问题就更多了。
微服务开发模式能够很好地实现快捷交付和系统解耦,但这给运维带来了更艰巨的挑战。尽管在Spring生态系统中,Spring Cloud家族提供了众多的项目以解决微服务开发和运维中所面临的具体挑战,但是,对于采用微服务架构的完整系统,如何实现快捷且可靠的部署和运维;在面临像Kubernetes这样的容器编排环境时,如何一站式完成Spring应用的部署;Spring Cloud提供了众多子项目来支持服务发现、负载均衡、配置等特性,但这些特性在Kubernetes中提供了原生支持,我们如何在两者之间进行权衡和取舍呢?相信这些问题给很多架构师和开发人员造成了困扰。所以,我们一直希望能有一份翔实且权威的资料来指导我们将Spring应用安全、顺利地切换至Kubernetes云原生环境。
所以,当第一次看到这本书的时候,我是非常兴奋的,迫不及待地到Manning官网找到了MEAP版本先睹为快。书中的内容非常具有吸引力,不仅涵盖了具体的框架和细致的操作指南,还有单独的章节来介绍云和云原生的理论知识,这对于深刻了解这一领域是非常有价值的。所以,我第一时间将这本书推荐给了出版社,希望能够尽快引进到国内。在此期间,我还与本书作者就图书内容和发布进度进行了讨论。在确定了本书的版权后,我迅速基于MEAP版本开始了翻译工作,虽然最终的版本与MEAP版本有些差异,导致后续增加了工作量,但是通过这种方式,我们保证了以最快的速度把这本书呈现给国内读者。
本书涵盖了云原生应用开发和运维的各个方面,包括配置管理、安全性、数据持久化、韧性和可观测性,以及Docker和Kubernetes的基础知识,并将生产环境部署到了公有云环境中。除此之外,作者还介绍了持续集成和持续交付,并将测试理念贯穿各个特性的开发。毫不夸张地说,作者以实际样例展示了基于Spring的云应用开发实践,这是一份拿来即可参考落地的实践经验。
希望读者在阅读时也能有这种收获满满的兴奋感。在翻译的过程中,我力求准确,有些细节还与作者进行了多次交流,但是限于时间,再加上本书涵盖领域广泛,如有错误或问题,请不吝反馈。
最后,感谢我的爱人和儿子,容忍我又度过了没日没夜耗在电脑前的这几个月。
希望本书对读者有所帮助,如果您在阅读中遇到问题,可以通过levinzhang1981@126.com与我联系,祝阅读愉快。
张卫滨
2023年3月于大连