前言
本书以云原生服务构建为核心,融合作者多年的实战经验与哲学思考,旨在帮助开发者掌握云原生应用的设计理念与最佳实践,激发创新与乐趣。
关于作者
Kevin Hoffman 致力于通过多语言和现代化方法帮助企业将应用迁移至云端。他 10 岁开始编程,沉迷于软件构建,涉猎无人机、金融、移动等领域,因与 Pivotal Cloud Foundry 集成而爱上 Go 语言。Kevin 还是幻想小说系列 The Sigilord Chronicles 的作者,期待将软件构建与幻想世界创作结合。
Dan Nemeth 现任 Pivotal 咨询解决方案架构师,专注于 Pivotal Cloud Foundry 支持。自 Commodore 64 起步,1995 年专业编码,服务金融、制药等行业,精通多语言和框架。Dan 近年专注 Go 语言,热情投入各类项目。业余时间喜欢帆船和飞钓。
作者序
Dan 和我写作本书时,希望以自身在 Pivotal 客户云原生解决方案及多年软件开发经验,帮助各类企业构建高质量软件。本书以“云之道”哲学开篇,强调开发者心态和纪律的重要性,贯穿测试驱动和自动化实践,逐步提升 Go 云原生服务开发能力。
内容涵盖服务原理、中间件、工具(git、Docker、Wercker)、云基础设施(环境配置、服务发现)、响应式与推送式应用、事件溯源与 CQRS 等模式,最终以完整示例串联所有技术,助力项目实践。
我们坚信,构建软件应充满乐趣。希望读者在学习和实践中,能感受到与我们写作时同样的快乐。
致谢
感谢家人,尤其是妻子的无限耐心,支持我再次投入技术书写作。感谢家人、朋友和合著者的支持,让本书成为值得自豪的成果。
——Kevin Hoffman
本书献给 A-Team:Pivotal 的四位同事,他们致力于指导开发者迁移云服务。没有他们的勇气,软件开发将变得枯燥无趣,也许本书不会诞生。
A-Team成员:
- Dan “Hannibal” Nemeth
- Chris “Murdock” Umbel
- Tom “Face” Collings
- Kevin “B.A.” Hoffman
译者序
Go 语言自 Google 诞生,因 Docker 等革命性产品而广泛流行。近年来,基于 Go 的开源软件(如 etcd、Kubernetes、Prometheus)在生产环境中广泛应用。2014 年我们在 TalkingData 引入 Go,构建了 开源监控系统 OWL 。
本书内容体系化、结构化,涵盖云原生应用构建、微服务拆分、测试驱动开发、CQRS、事件溯源、持续发布、安全、故障排查等全生命周期知识。示例代码托管于 GitHub,工具实践均为免费开源,原作者风趣幽默,阅读体验轻松愉快。
本书适合有一定 Go 基础的读者,涉及 Web 应用开发流程,对后端开发者尤为有益。译者团队包括徐蓓、马超、吴迎松,分别负责不同章节,宋净超负责审校和部分翻译。感谢公司支持、编辑协助及所有关注和支持的朋友。
——宋净超,2017 年 6 月
推荐序一
作为 IT 行业 20 年老程序员,我认为程序员的工作是创作。技术书籍不仅要理念启迪,还要实战落地。本书贴近实战,理念与团队实践高度一致,翻译质量出乎意料地高,语言风格本土化,值得推荐。
TalkingData VP 阎志涛
推荐序二
Go 在云计算领域地位如 C 语言之于操作系统。Cloud Native Go 是实操型技术书,涵盖完整技术栈和理念,适合云上开发者参考。
郝林,《Go 并发编程实战》作者,GoHackers 社群发起人
推荐序三
英文原版《Cloud Native Go》内容与技术运营部门实践高度契合,Go 微服务将是未来松耦合架构的重要支撑。本书涵盖 Go 基础、持续交付、Web 框架、微服务、安全等完整流程,是实战手册。感谢译者团队。
TalkingData 运维总监 潘松柏
推荐序四
随着 Docker、Kubernetes 等开源项目成功,Go 语言成为热门语言。云计算已成企业趋势,如何构建优秀云原生应用?本书结合 Go 示例和“云之道”理念,系统阐述了这一问题。
腾讯云 PAAS 产品总监 邹辉
推荐序五
云原生是一种新型架构设计和业务理念,Go 语言因分布式友好和高效性成为云计算宠儿。本书融合架构最佳实践与实操演练,译者以流畅文笔和经验呈现理论结合实践的读物。
才云科技 CEO 张鑫
推荐序六
Go 被誉为云时代系统语言,市场缺乏基于云平台实战经验的书籍,本书弥补了空缺,详解云计算时代 Go 开发、测试、运维到部署的全过程,值得成为标准手册。
Apple 核心系统高级工程师 谢孟军
总结
本书融合作者与译者的丰富经验,系统介绍了云原生服务的构建哲学与实践方法。通过理念引导与实战示例,帮助开发者掌握云原生应用开发的核心能力,激发创新与乐趣。希望读者能在学习和实践中不断成长,享受软件开发的艺术与成就。