您所在的位置:开发 > Web > 技术热点 > Web2.0时代 系统架构与六大关键问题(1)

Web2.0时代 系统架构与六大关键问题(1)

2007-03-19 10:29 朱筱丹 译 信息周刊 字号:T | T
一键收藏,随时查看,分享好友!

对于正在成长的新一代Web服务来说,Web2.0 热潮最重要的也许不是内容,而是通过浏览器窗口,让用户获得更有趣的体验。本文从6个方面分别讨论相关的核心话题:规模、内容管理、安全、开发技术、用户体验与社区。

AD:

搜索、照片、音乐、视频、混搭式应用(Mash-Ups)、维基(Wiki)、网络日志(Blog)、社区,还有那些来自各地展示天堂般美景的高清晰图片——它们一起构成了Web2.0 热潮的丰富内容。但是对于正在成长的新一代Web服务来说,最重要的也许不是内容,而是通过浏览器窗口,让用户获得更有趣的体验。

要在这个Web世界里占有一席之地,你需要把握创建交互式网站的诀窍。而此类成功网站背后的诀窍和业务模式又是什么呢?

商界和技术领域的领袖们,包括亚马逊公司(Amazon.com,下称亚马逊)的杰夫·贝佐斯(Jeff Bezos)、微软公司(Microsoft,下称微软)的雷·奥奇(Ray Ozzie)和黛博拉·克拉帕蒂(Debra Chrapaty)、谷歌公司(Google,下称谷歌)的埃里克·施密特(Eric Schmidt)、Salesforce.com公司的马克·贝尼奥夫(Marc Benioff)和Skype公司的尼可拉斯·詹斯特罗姆(Niklas Zennstrom)最近在旧金山(San Francisco)共同探讨了Web新应用的未来。我们知道:Web2.0 需要全新的软件和服务器架构,以及不同以往的IT基础设施。下文将从6个方面分别讨论相关的核心话题:规模、内容管理、安全、开发技术、用户体验与社区。

规模效应

极少有人在网站上线不久就期待迎来百万或千万级别的访问量。但事情真的就这样发生了。根据互联网流量测量机构comScore Networks的数据显示,YouTube网站从一年前的十几万访问量上升到2006年9月的2,000多万次美国独立访问量(Unique Visitor)。

对多数网站来说,网络和IT架构其实并不如你想的那么重要。没错,没有可扩展和可用的IT资源,就谈不上业务——这是Web2.0公司共同的起步资本,而不是将他们加以区分的个性化资源。尽管谷歌视频(Google Video)背后有成熟和强劲的技术架构,YouTube公司却超越了它,赢得了大量终端用户的支持,最后迫使谷歌购并了这个曾经的竞争对手。当然,基础架构只是赌注。要稳操胜券还需拥有更多:创意、社区活力和独特的魅力等。

实际上,Web2.0 初创公司在开始阶段并不一定需要拥有自己的数据中心。在线零售商亚马逊就把自己的基础架构服务分割成小块,销售给一些需要强劲运算能力支持的初创公司。亚马逊网络服务公司(Amazon Web Services)负责产品管理和研发人员关系的副总裁亚当·塞利普斯凯(Adam Selipsky)认为,尽管架构里的东西——比如服务器、操作系统、数据库软件、网络连接等都非常关键,但是对于用户体验而言却没有增加任何新内容。塞利普斯凯指出,这些基础架构的东西可能会非常耗资源:公司需要投入70%的资源在搭建和维护自己的IT基础架构上。

与第一次Web扩张热潮不同,那时候大家都把购买上百万美元的服务器和迅速扩张奉为无上真理,而现在的2.0初创公司却不会纠缠于这些与运算能力有关的底层部件。在线图片共享网站SmugMug的首席执行官(CEO)兼共同创始人唐·麦卡吉尔(Don MacAskill)表示:“我们当然不会认为底层数据中心是我们业务或价值定位的核心。”SmugMug公司采用亚马逊的S3存储服务,该服务通过存储管理软件连接一个庞大的存储设备阵列,这样可以提升SmugMug公司内部的IT架构。

“这很简单,因为亚马逊为我们完成在多个数据中心和存储介质之间复制文件的复杂工作,”SmugMug公司总裁兼共同创始人克里斯·麦卡吉尔(Chris MacAskill)认为。

SmugMug公司只有18位员工,却处理着18万付费用户和1.15亿张图片。“我们认为自己的价值定位是用户体验,” 唐·麦卡吉尔总结道,“这包括我们的Web用户界面和客户服务。”

麦卡吉尔认为,扩展客户服务也许比扩展服务器更困难。SmugMug公司在硅谷一个数据中心刚好与YouTube公司比邻,而两家公司都面临着同样的基础架构挑战,如服务器、冗余与自愈型文件系统,他评论道:“如果我们不选择现成的商业化产品,而打算自己发明轮子,那实在有点犯傻。”

很多基础架构组成单元都有现成商品。根据在线视频编缉网站Eyespot的共同创始人兼首席技术官(CTO)大卫·杜达斯(David Dudas)介绍,这些现成商品中包括:价格便宜,但是功能强劲的英特尔(Intel)芯片服务器;由多个供应商提供的,并且价格比几年前大大降低的带宽资源;廉价而且更节省空间的磁盘存储设备;以及开源软件,其中包括免费企业级操作系统(Fedora Linux)、关系型数据库(MySQL)、网络服务器(Apache)和应用框架(Ajax)。

杜达斯分析说,Eyespot公司的优势在于它能把这些零散的产品组合成一个可扩展规模的在线视频编缉平台。“如果你不知道怎样把它们正确地组合在一起,那些廉价的硬件对你根本没用,当达到5,000万用户门槛时,差劲的架构会使系统发生故障或宕机。”

这的确是一个挑战。其中的一个要点是,把这些IT部件组合在一起,如服务器、数据库、路由器——但它们都能独立于彼此单独扩展。另一个要点是,认识到不同的媒体服务功能,如流媒体、图片服务、网页服务、数据库等所需要的资源是不同的。

租用数据中心的方式也许只适用于当下。最近互联网排名增长第三位的Metacafe公司共同创始人兼CEO阿里克·泽涅克(Arik Czerniak)认为,到一定时候,“我们也需要建立自己的系统。”comScore Networks数据显示,去年9月Metacafe在全球有1,660万独立用户访问数,和4.92亿页读数。泽涅克认为,“到这种规模,要确保网站顺畅地运行是一项巨大的技术挑战。”

共同创始人兼首席产品官(CPO)伊亚·赫索格(Eyal Hertzog)表示,Metacafe公司设计自己的软件架构,包括服务、模板库(Template Libraries)、统计评估、版本控制和架构监控等。同时,在线视频网站还依赖网络内容推送公司Limelight Networks公司的服务来缓存文件以提供更高效的访问,并由主机服务提供商RackSpace公司提供主机托管。Metacafe公司使用Lamp (代表Linux、 Apache、MySQL、 PHP等软件)组合软件包。

对Metacafe公司来说,有效的调整意味着原来需要几千台服务器现在则只需要几百台。 泽涅克指出:“如果我们现在还在用起步时的老一套技术,现在我们可能就需要一万台服务器了。”

内容管理

如果你要建一个网站,它包含照片、视频博客和其他用户生成内容(User-Generated Material),你知道该如何应对吗?

对主要目标是产生内容、封装内容、然后推送给几百万用户的网站来说,挑战是找到管理这些文件的最佳方式。Web2.0 公司有可能需要开发自己的产品,因为Web2.0的交互性特点,如标签、评分、上传,在商业化的内容管理系统中支持得并不好。 网页设计公司Adaptive Path公司的用户体验策略总裁兼合伙人杰西·詹姆斯·加勒特(Jesse James Garrett)认为:“可扩展性是用户生成内容中的最大问题。”

加勒特表示,目前已有的内容管理架构不适合Web2.0公司,因为“Web2.0的内容管理定义与软件开发商在开发内容管理系统时想的完全两样。”大多数企业使用的内容管理系统是为处理文件、电子表单、数据库和其他常规型文件而设计的,它们并没有考虑照片、视频或在线社区的需求。

照片共享网站SmugMug公司的CEO麦卡吉尔表示,他们的网站现在每天新增30万到50万张图片。他认为SmugMug公司的内容管理系统也不是特别复杂,只是“一点‘胶水’,还不是大量的代码。”他最关心的是从亚马逊S3存储服务那里获得的大容量、万无一失的(Bulletproof)存储数据,而与这个存储服务一起提供的还有用户友好的管理界面以及亚马逊的技术支持。这些“胶水”代码用来确保文件写操作失败时不会导致数据丢失。

使Web2.0公司的内容管理系统面临更大挑战的原因是他们还需要处理用户生成数据;这些公司做的每件事情都围绕着数据和数据管理。克里斯·麦卡吉尔解释说,SmugMug公司在保存收到的文件之前,会做大量的工作,如确保图片的色彩空间无误,并提取可用作标题和关键字标签的信息,生成各种大小的复件以加快显示速度。在这之后,亚马逊会把这些文件复制到多个数据中心和存储服务器上。

对Metacafe公司来说,挑战在于不但要处理大量的视频,还包括用户和研发人员产生的数据。这意味着需要选择合适的内容推送网络、追踪全球各地的缓存时间、做各种研发工作以记录网页下载和数据库的压力。CEO泽涅克认为:“我们为用户做数据挖掘,返回收集的信息,这中间所牵涉的数据量非常之大,在这点上Metacafe公司做得的确与众不同。”

该公司在生产和开发环境等各方面都用到了开源软件。首席产品官赫索格证实,公司用Wiki系统管理开发周期,同时用作主要的知识管理工具。“我们把每个点子和想法都写到Wiki里去,再由公司人员评估和编辑。”他说,“一旦想法获得认可,我们继而为它订立标准、展开设计和编写测试计划。”

无论从哪方面来说,内容管理对Web2.0 公司来说都是困难的。但好消息是人们已在摸索中学习。加勒特指出,在20世纪90年代末期,许多网站碰了壁,因为他们缺乏可扩展性。他说:“过去5年里的行业经验让我们获益良多,我们知道怎么从一开始就考虑灵活性,设计未来可以服务于庞大受众的系统架构。”

内容导航



分享到:

  1. 程序员面试失败的几种原因,你中枪了吗?
  2. Java未来也许不再是电商的首选开发语言!

热点职位

更多>>

热点专题

更多>>

读书

Microsoft SQL Server 2005技术内幕:T-SQL程序设
SQL Server 2005微软官方权威参考手册。 是Inside Microsoft SQL Server 2005系列书中的第一本,SQL Server类的顶尖之作。 全

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院