所有功能开发完成,并通过QA测试,就一切大功告成了--我们一直存在这样的认识误区。其实,从软件产品正式发布交付给用户使用的那一天起,挑战才刚刚开始,路还很长。你会遇到各种各样的问题,让你半夜都无法安睡。因为,真实的运营环境跟开发测试环境是不同的,你会遇到各种各样的新问题和挑战。测试环境里,可能只有一台服务器,但是运营环境中可能有很多台服务器。测试环境中,可能没有防火墙,实际情况是防火墙一定存在。还有,测试时你只考虑了1000个正常的并发访问,在运营环境中你却会遭遇上万个并发访问(恶意的,无意的)……归根到底,测试环境是一个受控的环境,而运营环境是开放的,一切都不可预知,你必须为最坏的情况做好准备。
作者首先从一个服务器总是在凌晨空闲的时候宕机的案例开始讲起,如何一步步进行追踪到数据库连接错误,并细述了TCP/IP和防火墙的工作原理--整个故事有如探案一般惊险。用案例以及翔实的技术细节来说明,这是本书的最大特点,完全是从实战中来的真枪实弹。所以,除了各章标题的结论,你还是可以了解到一些从别的书不可能了解的“真实的细节”。全书主要分为几大部分:Stability,讲述系统稳定可靠相关的内容。什么是稳定的,影响系统稳定的常见模式(好的和坏的);Capacity,讲述性能和容量的内容。同样的,如何提高系统的性能和容量;General Design Issues,数据中心的一般设计思路;Operations,前面讲述的都是开发和设计的内容,这里则讲的是系统正式运营过程中需要注意的问题。在每一个章节的后面,都有简要的总结,方便记忆。
对了,本书的目标读者应该是网站的设计,开发和维护者,单机桌面软件并不很适用。另外,基本上是以Java系统来进行说明的,甚至深入到了Java GC的微调和JMX的使用,对其它比如LAMP架构就没有涉及。所以,对于如何使得软件达到Product Ready,作者虽然提出了自己的很多经验教训和认识,但还不是很全面,只能说是抛砖引玉。
现实的检验
《发布!软件的设计与部署》热门书评
-
实用而非经典
3有用 3无用 Ring 2008-12-21
书总体还是不错的,书中列举了大量生动的例子来诠释各种service系统中可能遇到的问题。然而,总体来说,它不是经典。理由在于,书中堆砌的无数模式与反模式未能从根本上提炼出核心的原则并且分析与区别各种模式的适用范围。我想GOF是经典,因为它是开创性的,而且它开篇提炼出了模式背后普适的几个基本原则,对于...
-
现实的检验
2有用 0无用 optman 2008-06-06
所有功能开发完成,并通过QA测试,就一切大功告成了--我们一直存在这样的认识误区。其实,从软件产品正式发布交付给用户使用的那一天起,挑战才刚刚开始,路还很长。你会遇到各种各样的问题,让你半夜都无法安睡。因为,真实的运营环境跟开发测试环境是不同的,你会遇到各种各样的新问题和挑战。测试环境里,可能只有一...
-
后台系统设计必读
2有用 0无用 aleung 2012-09-15
Release It,未读之前顾名思义以为是讲软件开发过程中release阶段,如何进行产品发布的,但看了内容之后才发现不是那么回事。这本书关注的是软件开发中通常被称为非功能需求的东西,包括性能、可靠性、安全、可维护性等等,这些方面往往是软件开发人员不会太去关注的,他们一般会以为代码写好了,功能测试...
书名: 发布!软件的设计与部署
作者: [美] Michael T·Nygard
出版社: 人民邮电出版社
原作名: Release It!: Design and Deploy Production-Ready Software
译者: 凃鸣
出版年: 2015-2-1
页数: 228
定价: 49.00元
装帧: 平装
ISBN: 9787115380456