《微服务运维实战》第一卷推荐序

按照马克思的辩证唯物主义,为了解决某个社会问题而诞生的新生事物,在流行并占据统治地位后,必然会出现它的反面,也就是负面的影响。之后又会出现新生事物来解决它所造成的负面影响。这样循环往复,没有终结,推动人类社会向着更高级的方向发展。

对于软件应用开发来说,也遵循着辩证唯物主义的规律。早期的软件应用都是单片应用,随着流量的增大,单片应用无法支持,而且复杂的单片应用也难以维护、难以测试,最终开发团队只好将单片应用化整为零,变成分布式应用。但是设计、开发分布式应用很复杂,所以出现了一些开发方法,例如面向服务的架构SOA,以及最新的微服务架构MSA。按照辩证唯物主义,千万别以为MSA就是软件应用开发最终的理想国。MSA仍然有很多令人头疼的地方,其中最主要的一个方面就是运维了。

在MSA流行之前,一个软件应用即使是分布式的,通常服务数量并不多(不超过10个),运维工程师的工作量不算很大。MSA流行之后,一个分布式应用常常会有2、30个甚至上百个服务。运维工程师的工作量不是简单地按照服务的数量线性增加,而是按照服务数量的平方增加。可想而知,如果不想办法尽量降低运维工作的成本,建造理想的MSA就是不切实际的空中楼阁。
聪明的运维工程师和聪明的程序员类似,遵循着DRY的原则——Don't Repeat Yourself. 解决方案只写一次,尽量重用,能自动化完成的工作尽量都自动化完成。这个思维和工作方法叫做DevOps,已经在运维领域流行了很多年。近5年来涌现出来大量的DevOps工具,还有以Docker为代表的轻量级容器,这些新生事物极大地提高了运维工作的自动化程度,使得运维工作的效率有了10倍以上的提升。

《微服务运维实战》这本书的内容就是探讨如何把设计开发MSA和DevOps两方面的最佳实践结合在一起。这本书的出现可以说是恰逢其时,因为有很多想要尝试MSA的软件开发团队,就是因为不知道如何做好运维工作,而最终无奈放弃。实施好一个MSA项目当然不可能一蹴而就,而是一个长期的演化迭代过程。有了《微服务运维实战》这本书的帮助,开发团队可以少踩很多坑,更加顺利地实施MSA,不必走回头路。我强烈推荐这本书,这本书非常实用,应该成为正在实施MSA项目的所有技术人员的案头书。。

猜你喜欢

转载自blog.csdn.net/mozilla/article/details/80795202