当Dan和我开始写这本书时,我们不希望它成为一本参考书或“一本语法书”。相反,我们希望能够充分利用自己为Pivotal客户构建云原生解决方案的经验,以及近一生的综合经验来为各种规模、形态和行业的公司构建软件。
这本书从一个哲学章节“云之道”开始,因为我们坚信构建良好软件的秘诀在于开发人员的心态和纪律,而不是工具或语言。
在本书中,我们将按照测试驱动和高度自动化的方式逐步实现云之道,通过一系列章节提高大家在Go中构建云原生服务的能力。本书涵盖构建服务的基本原理,中间件技术,Git、Docker和Wercker等工具的使用,还包括云基础设施的相关内容,如基于环境的配置、服务发现以及基于响应和推送式的应用程序。本书涵盖了事件溯源和CQRS等模式,书中的所有内容组合成最终的示例,相信可以为大家的项目构建提供灵感。
我们始终秉承着一个坚定的信念——构建软件应该像使用它一样有趣(或更有趣)。如果没有乐趣,那么一定是你做错了。我们希望在使用Go构建服务时获得的快乐可以感染读者,希望你在阅读本书时能像我们在写作它时一样,获得更多的乐趣。
关于作者
KevinHoffman通过现代化和以多种不同语言构建云原生服务的方式帮助企业将其应用程序引入云端。他10岁时开始编程,在重新组装的CommodoreVIC-20上自习BASIC。从那时起,他已经沉迷于构建软件,并花了很多时间学习语言、框架和模式。他已经构建了从遥控摄影无人机、仿生性安全系统、超低延迟金融应用程序到移动应用程序等一系列软件。他在构建需要与PivotalCloudFoundry配合使用的自定义组件时爱上了Go语言。
Kevin是流行的系列幻想书TheSigilordChronicles(http://amzn.to/2fc8iES)的作者,他热切地期盼着最终能够将自己对构建软件的热爱与对构建幻想世界的热爱结合起来。
DanNemeth目前在Pivotal担任咨询解决方案架构师,负责支持PivotalCloudFoundry。他从Commodore64开始就一直在开发软件,从1995年开始从事专业编码,使用ANSIC编写了用于本地ISP的CGI脚本。从那时起,他职业生涯的大部分时间都是作为独立顾问为金融、制药等各个行业提供解决方案,其间不断使用当时流行的各种语言和框架。Dan最近接受了Go作为自己的“归宿”,其间不断热情地将它用于所有的项目。
如果你发现Dan没在电脑前,他很可能就是在靠近安纳波利斯的水域玩帆船或飞钓。
致谢
这本书能够诞生要感谢我的家人,特别是我的妻子,她给予了我无限的耐心。尽管我在过去曾多次说过,我不会再写技术书,但事实上目前我正在写另一本技术书。她们忍受了漫长的夜晚,忍受我在家里的地板上迁思回虑,以及为了保证这本书的质量带来的巨大时间消耗。完成这本书比过去完成任何其他工作都让我感到更加自豪,这本书是家人、朋友和杰出的合著者给我的宝贵支持的结晶。
——KevinHoffman
这本书献给A-Team:四个在Pivotal工作的人。他们现在正在寻找需要指导的开发人员。如果你需要将软件迁移到云上,他们一定会找到你。
没有这些勇敢的人,编写软件的过程将变得非常无聊和难以忍受,也许永远不会有这本书。事实上,作者们可能已经放弃了他们一直以来所致力的云服务,而是希望余生能在咖啡店当一名咖啡师。
A-Team成员有:
Dan“Hannibal”Nemeth
Chris“Murdock”Umbel
Tom“Face”Collings
Kevin“B.A.”Hoffman