百度首席架构师林仕鼎解读百度云技术框架

作者: 来源:未知 2012-03-23 11:52:51 阅读 我要评论 直达商品

新浪科技讯 3月23日上午消息,2012百度开发者大会今日召开。百度首席架构师林仕鼎从技术层面对百度云的技术框架与愿景进行了全方位的解读。新浪科技全程直播该会议。

以下为演讲实录:

主持人:感谢百度技术副总裁王劲精采的演讲,接下来有请百度云首席架构师林仕鼎先生做分享。有请!

百度首席架构师林仕鼎:大家好,刚刚Robin阐述了我们的百度云战略的愿景,作为云战略的工程师角度来讲,可以分享我们的理想和梦想。

我们先从百度云计算的技术开始说起。搜索引擎是云计算技术最典型的应用,我们在十几年做开发引擎的过程中,也积累了一套云计算的技术。这个技术就是以数据中心、网络、服务器硬件的架构,加上大规模数据存储和处理为代表的软件基础架构。我们在软硬件的基础架构上搭建一层数据挖掘分析与新兴的算法,以及数据仓库等智能的算法。我们把软件的基础架构和数据智能通常叫做大数据的集成。软硬件的基础架构我们起一个名字叫数据中心的计算。

这样的云计算技术对于百度的产品,我们叫做一种推动作用,更准确的来说,就是以前不能做的事情现在能做了,以前能做的事情现在可以做得更好。大家很清楚,我们互联网业务是成功发展的状态。很多时候有很多新的业务要发展,但是受限于技术,其实不能用业务来推动公司的发展,因为基础架构的构建非常重要。大家在业内开玩笑说,是由你的痛苦来驱动公司的发展,遇到问题再去改,这样的速度很慢。有了云计算以后,我们可以改变这样的情况,由系统架构驱动这个业务发展。 甚至我们可以通过数据分析的方法,用数据驱动这个公司的业务发展。这是我们对云计算技术的认识。

云计算在百度已经做了很多年了,只不过以前这些技术主要是为搜索引擎服务,这时候我们还叫做专有云,包括绿色环保IT的建设,高效的网络和服务器的计算,以及大规模存储,大规模计算,还有实时存储与计算。我们有时候在想,我们有了这么好的技术,我们可以把几百个pp的数据处理,我们可以让这些数据开放出来,服务更多的开发者。到了2007年我们做了很多工作,首先我们是把我们的服务API开发出来,比如说搜索的API,地图的API等等,以前这些只是让用户使用,现在是开放出来了,让开发者也使用。

这些技术的程序员和开发者,我们怎么把这个技术更好的研发出来,服务开发者,现在我们开发互联网服务的时候,主要用这个lan的架构,也有服务器,我们去搭建一个云存储,云的数据库,还有云的消息沟通机制,然后构建一个云服务组件,java我们也在开发中。百度除了做搜索引擎,我们还有百度贴吧,很多的在线服务,里面有很多功能,比如说接收器、留言板,这些通用功能也是必要的,我们把这些也开放出来了,规范这个接口,这样大家直接通过这些接口就可以调用以前在百度的服务内容。

然后我们还统一搭建了CPU的应用,这就形成了SaaS的平台,我今天会讲两个,一个是我们的存储技术,存储是一个最通用的需求,我们做了很多年。因为百度的业务很多,根据百度业务的特点,我们做三个存储系统,一个是Mola,这个系统是低延时、高并发在线的K/V存储。

还有就是海量高吞吐网页存储,BDDB,我们做搜索引擎需要把所有网页都打开一遍。

还有一套系统是离线系统,HDFS,离线数据备份。这个问题都是共性的,你怎么能够处理一个超大规模的存储引擎,怎么实现它的管理、运维和容错,我们应该改正这种情况。从2011年开始我们在设计新的存储系统,这套存储系统我们希望能够屏蔽掉刚才说的Table、File、Object,然后统一到pad上,我们还基于内存搭建了一个分布式数据结构。

为了屏蔽这些系统的差异,我们搭建一个数据访问层,便于开发者内部的应用,可以更好的用这些不同的系统。我们发现这个存储系统它还是落后的,为什么呢?百度现在所有的业务有一个特点,每一个用户他自己的数据量,包括他的服务器量其实并没有那么大,总量很大,这就意味着我们的数据存储要有变化,我们要做云,情况发生了变化,每一个用户会上传下载更多的数据,我们就需要再做一套新的系统,我们希望这套系统在全国内搭建,我们在华北、华南各搭建了一套搜索引擎,它会有好几个数据中心组成,用高清网络来处理的。

为了再度降低用户的延迟,我们又搭建了一套CDI的节点,这个并不是很大,搭建很多的接口。这个系统在每个机型上都可以写入,这样我们可以极大的降低用户读写的延迟。这给我们技术也带来很大的挑战,在各个机型上都可以写入的话,我们需要处理EC的问题和读写同步的问题。最开始我们是有需求,我们从这个技术出发,去设计,然后我们发现这个技术会更好,我们会做统一的技术,但是因为有新的业务发展,我们又要设计新的业务系统,百度有很多技术就是在需求和技术发展之间来做不断的更新迭代,我们从技术出发做我们的技术,然后又有新的需求,再反过来做新的技术。这样的迭代过程中产生了很多的技术,这个技术在得不是广为使用的,今天我们希望把这个技术逐渐的开放出来,让更多的开发者跟我们一样去应用这个技术。

另外一个在线服务开发的技术挑战,比如说百度的贴吧大概有100多个模块,他可能产生几百个到千的量级和小的服务,这样一个系统KPI需要变化,我们需要改进。然后很多时候你有业务需求,你要改善你的存储,做一个迭代,然后明天又做一个迭代,你会遇到很多的问题。然后对于这样一个问题,我们也在思考,怎么能够把这个系统做得更好,这边有一个需求你去打一下,那边有一个需求你又去打一下,会比较乱,从去年开始我们在搜索一个开发方法。我们觉得做一个在线的服务,有几个步骤,比如说先有想法,把这个想法之后实现原型,然后再设计一个系统,最后出现产品。可以在最开始的时候就可以通过数据收集的方法来验证,然后你需要开发,这时候我们有开发框架,使你可以很快的做你的原型。然后你的原型系统也有一个测试,这个测试也是基于测试框架的,这是一个新的业务,有一个模拟现场,然后通过应用引擎部署运维,你对一个功能你就做两个,AB两种方法,让用户去检验究竟哪一种方法是好的。通过数据收集、数据分析帮你选择哪一种方法是好的。开发过程中我们从想法、原型、系统、产品各个阶段都有数据收集,以前是内部使用的,现在我们开放出来了。

这套系统有什么收益呢?有两个收益,前端成本下降30%,Bug下降40%。减少高阶技术人员投入,降低研发时间,更多的新秀可以参与其中,去开发一个很难做的系统。做三个例子,我们部分使用的开发方法之后,他人员的消耗会下降50%,当我们全部使用这套方法,他又可以下降30%,更重要的是对于百度来说,我们只用一两个工程师,就把这样一个系统做完了。这几年百度在做新产品的速度,确实比以前快了。我们有云计算,我们有在线开发的方法和流程支持,我们应该把它开放出来,让更多的开发者也可以跟我们一样用这样的方法,去服务网民,这就是我们开放的平台。


  推荐阅读

  法庭文件显示苹果起诉三星前曾四次与其交涉

和讯科技消息 北京时间3月23日,据国外网站报道,近日一份法庭文件表明,苹果在起诉三星涉嫌侵犯版权之前,曾与后者在2010年4次交涉以避免诉诸法律。 来自The Verge网站的消息称,苹果公司在法庭立案文件中表示曾和三>>>详细阅读


本文标题:百度首席架构师林仕鼎解读百度云技术框架

地址:http://www.lgo100.com/a/kandian/20120323/43633.html

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
我的评论: 人参与评论
验证码: 匿名回答
网友评论(点击查看更多条评论)
友情提示: 登录后发表评论,可以直接从评论中的用户名进入您的个人空间,让更多网友认识您。
自媒体专栏

评论

热度