分类归档: Web

网站运维之道 关于可用性

这是前一段时间投稿给《程序员》的一篇文章。标题中的"道"有些大了,您可以理解为"门道"的"道"。一家之言,妄自言道,诚可笑也。

什么是网站运维(Web operations) ?运维,绝不是某些人眼中安装系统、做几根网线那么简单? 除去应用开发和业务运营之外的保障网站能运转的事儿都可能是运维工作的职责范围。运维的工作包括(但不限于) 软硬件部署、网络管理、应用程序维护、安全、容量规划、故障修复等等。

运维,有别于”运营”。在中文的语境中,运营更多和业务结合在一起的。而运维,则是偏向技术层面。

任何一个成功的站点都离不开一只优秀的运维团队,尽管他们更多时候隐身在网站背后不为人知。

网站可用性

所谓网站可用性(availability)也即网站正常运行时间的百分比,这是每个运营团队最主要的 KPI (Key Performance Indicators ,关键业绩指标)。对于 Web 站点来说,传统的那个 24×7 的说法已经不是很适用了,现在业界更倾向用 N 个9 来量化可用性, 最常说的就是类似 “4个9(也就是99.99%)” 的可用性。看一下表 1 能更为直观一些。

描述 通俗叫法 可用性级别 年度停机时间
基本可用性 2个9 99% 87.6小时
较高可用性 3个9 99.9% 8.8小时
具有故障自动恢复能力的可用性 4个9 99.99% 53分钟
极高可用性 5个9 99.999% 5分钟

根据墨菲定理的推论,世界上没有 100% 可靠的 Web站点(除非不运行)。业界网站的可用性都是多少?引人注目的 Web 新贵 Twitter (http://twitter.com), 2008 年前四个月的可用性只有 98.72%,有 37小时 16分钟不能提供服务,连2个9 都达不到,甚至还没达到”基本可用”状态。电子商务巨头 eBay 2007 年的可用性是 99.94%,考虑到 eBay 站点的规模与应用的复杂程度,这是个很不错可用性指标了。Web 应用类型决定了不同的站点对可用性的依赖性是不同的。 要知道 4 个 9 的可用性实际上是很难实现的目标。至于 5 个9 的 Web 站点,一半靠内功,另一半恐怕是要靠点运气。

wikimedia_db2.png
(图1 维基百科网站的一台数据库服务器的可用情况报告, 由Nagios的监控得到的)

多数情况下,网站可用性会是 SLA (Service Level Agreement, 服务水平协议) 中的一个重要度量指标,也是运维团队向自己的客户(更多是公司老板)的正式承诺。可用性是能够持续改进的东西,KPI 制定者切不可狮子大开口,企图一步登天,拍拍脑袋提一些不太切实的指标。运维团队对可用性的承诺也不能开些空头支票,到头来两头难看。值得强调的是,如果是做第三方托管,更需要明确 SLA,明了第三方的服务能力,否则,费尽了九牛二虎之力终于保证了软硬件网络等环节都没问题了,IDC 却频繁断电或者IDC 出口网络不可用,这也绝对做不到预期的高可用性。

提高可用性的一些常规策略有消除单点,部署冗余设备(或集群),配置带外管理网络等,对可用性要求不高的网站这些可能足够了。如果要提供更高的可用性,比如 4 个 9 甚至 5 个9,就不是简单靠硬件就能做到的事情,还需要建立完善的流程制度、建立变更机制、提升事故响应速度等。正所谓是”没有最高可用,只有更高可用性”。

一般来说,所有的网站运维人员都在追求网站的更高级别的高可用性,但是必须注意,这是以额外的软硬件投入、更多的人力成本为代价的。成本与可用性之间也请做到良好的平衡,盲目追求高可用性是不可取的。

(补充:Twitter 的可用性现在已经有了很大提升,但是可以看到,可用性不佳并非一个网站的杀手,只要产品对用户足够友好,足够有粘度,足够不可或缺,那么可用性并非是第一要追求的运维目标。有些运维人员被 Amazon 的某年圣诞节期间宕机所造成的影响埋下心理阴影,其实没那么可怕,如果真的觉得可怕,那么你可能被一些厂商销售人员洗脑了。)

未完待续: 下一篇《监控与报警》

对 Web 测试人员的一些建议

偶然间想到的一个话题,顺便说说我的一些观点。太理论的东西书店一堆堆的,测试更多的时候需要实践和常识,而不是理论,还是说点实战中的建议吧。

必须接触 Unix 环境与文化

Unix 的一个重要设计思想 “不同工具灵活协同以完成任务“,在 Windows 上捣鼓 LoadRunner 之类的玩意儿是不能成为成功的 Web 测试者的。只懂得 Windows 上的商业工具是没有出路的,而只懂得在 Windows 点击鼠标来测试更是丢人的。

学习 cURL

一个 Web 测试人员如果没听过、没用过 cURL ,是不可想像的,cURL 本身就是浏览器,学习浏览器行为,与浏览器对话,用 cURL 会让测试人员事半功倍。

如果作为测试人员又恰好懂点编程技能,那么研究一下 libcurl,这肯定不是浪费时间。至于为什么推荐 cURL 而不是其他的工具? 看一下这个比较表

使用 YSlow

现在,Yahoo! 公司最出名的产品可能就是这个 YSlow 了 :) 是的,必须用 Firefox 才能用 YSlow,问题是,你为什么不用 Firefox 呢? 尝试一下。再说,Firefox 上诸如 Tamper Data 之类的工具也会让你方便许多。

另外推荐 YSlow 的原因是通过这工具能快速学习优秀站点的 Web 设计,你了解的越多,测试中你会主动关注的点就会更多,你找出来的问题就越多,你的技能提升的就越快。

尝试关心一下 Web 日志

在测试的时候你不用关心其他什么 Web 分析的内容,但不妨关注一下 HTTP 404 错误之类的信息(如果团队里面没人关心的话)。

重新读一遍关于 HTTP 的图书

Web 的根本,HTTP,对这个东西,永远别说自己非常懂,比如 HTTP Performance,别说太懂,另一个原因是 HTTP 还在发展中…Web 也在发展中

HTTP 如果要有个更深刻的印象,HTTPWatch 也不错。

EOF

这不是一篇全面的指导,我也不是说 Windows 不好。只是如果你缺少这方面的技能的话,不妨尝试一下。我的确看过太多用人肉方法测试的测试人员,尽早的解放出来也不是坏事。

Note:Gusing Chen 同学对文此亦有贡献。

此文作者:, 位于 Web 分类 标签: , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

D2 前端技术论坛(上海)

D2.png

友情帮推广一下这个 D2 技术论坛会议。会议也是以技术会友,门票是免费的,感兴趣的话就去参加一下吧,和前端技术高手面对面交流。前端技术我不懂,所以不去参加了,不过支付宝会有不少同事去参加。

关于D2

D2 前端技术论坛(Designer & Developer Frontend Technology Forum),简称 D2 ,为国内前端开发者和网站设计师提供一个交流的机会,一起分享技术的乐趣,探讨行业的发展,以技术会友。它是中国所有前端开发者的节日,包括前端设计师,前端开发工程师,和所有对前端技术感兴趣的人。D2 将努力营造一种轻松自由的交流氛围,没有任何商业色彩,以纯粹的技术交流为根本,共同推动国内前端技术的发展,促进国内行业标准跟国际的融合,发掘前端技术可以创造的更大价值。
D2 是由 淘宝网 发起,每届由不同公司轮流承办。

详细介绍:http://www.d2forum.org/about/

本届主题:”前沿技术和前端协作”
举办时间:2008年11月29日
举办地点:上海
举办单位:土豆网
协办单位:淘宝网、微软、Adobe、蓝色理想、ActionScript 3天地会

日程安排

时间:2008年11月29日(星期六)
地点:上海市徐家汇美罗大厦

上午:嘉宾演讲 9:30 – 12:00

09:30 – 10:40 《Flash Player 10》 马鉴(Adobe)
10:50 – 12:00 《Flash 协作开发之路》 史珉(Tudou)

下午:自由论坛 13:30 – 18:00

13:30 – 14:40 《IE8 as future platform》 待定(Mirosoft)
14:50 – 15:50 《前端敏捷开发-质量与效率的战争》 许湛(Alibaba)
16:00 – 17:00 《土豆网与淘宝网的前端团队组织结构剖析》 李戎(Tudou) & 怿飞(Taobao)
17:00 – 18:00 《自主议题讨论》

注意:以上安排可能会根据具体情况进行一些补充与修改。

关于嘉宾

马鉴 (Zerlot Ma, 七月)
Platform Technology Evangelist / Adobe
Blog: www.7yue.com

史珉 (Aspirin)
高级Flash工程师 / 土豆网

许湛 (Justin)
前端开发主管 / 阿里巴巴(国际站)
Blog: www.alldone.cn

李戎 (小麦)
资深前端开发工程师 / 土豆网
Blog: www.mikkolee.com

郑叶飞 (怿飞,圆心)
资深前端开发工程师 / 淘宝网
Blog:www.planabc.net

报名地址:http://www.d2forum.org/d2/3/sign_up.html
EOF

《Web 信息架构》 读后随感

IA.gif这本书也不写书评了,写也写不过小容的这篇《敢问北极熊,路在何方?》,何况小容在信息架构方面已经有比较深入的钻研了。

小容把这本书列为信息架构师必读书之一。我也是因为这个豆列对这本书感兴趣的。之前,什么是信息架构,什么人是信息架构师,还真是不容易搞明白(我曾经接到过的名片中,也没有一个人自称是信息架构师的)。

什么是信息架构呢? 这本书其实也没给一个清晰的定义,似乎有些可意会不可言传的意味。我的理解信息架构做的事情就是组织、梳理总体信息使之达到更可用。如果这样说的话,大一点的面向内容的 Web 站点(比如淘宝)都需要信息架构师的。又比如中大型门户网站,如果缺乏整体的内容梳理、组织,访问用户就不能得到更好的用户信息获取体验,甚至会信息偏差、缺失,对于网站来说,是无形中的损失。

信息架构师,国内有哪家公司有这样的职位么? 应该没有。

这本书也是我认为的 Web 2.0 网站架构不可或缺的图书 之一。当然,CTO 们是最应该看看洗洗脑,问题是,CTO 们都在开会呢,哪有时间看书哇。

附注: 购买《Web 信息架构》请点击。在下一篇,我可能说一下有关时间管理。

EOF