雅虎的移动云服务

个人简介 朱凌现任雅虎北京全球研发中心研发总监,负责雅虎移动平台产品的北京研发团队,致力于雅虎手机网页平台开发,雅虎手机应用的图片服务,雅虎手机应用的存储服务等移动平台产品。 在加入雅虎北京研发中心之前,朱凌曾经担任全球最大社交游戏公司Zynga研发总监,领导Zynga北京的研发团队,开发运营知名游戏如CityVille中文版,CityVille,RubyBlast等。在任期间,他领导开发了多项技术创新和性能优化,将原有系统的CPU性能提高了近10倍,存储性能提高了2.5倍。在加入Zynga之前,朱凌曾供职于微软,爱立信等公司从事产品和技术管理工作。 朱凌从搜狐开始自己的职业生涯。作为软件研发工程师和项目主管,负责搜狐互联网游戏的研发朱凌拥有十多年互联网行业的研发和管理经验,他曾就读于清华大学自动化系并获得硕士学位。

   

1. 各位InfoQ的读者,大家下午好。我是InfoQ的编辑包研,现在在雅虎北京全球研发中心,我们现在非常高兴的邀请到了雅虎北京全球研发中心的研发总监朱凌先生。能不能简单介绍你自己的经历,包括你在雅虎目前负责的事情以及你的团队。

朱凌:我在雅虎现在是做移动平台开发,主要是负责为雅虎的移动应用的后台做一些研发,包括存储服务,网页服务,图片服务,还有对一些手机的适配和手机型号的识别,这些都是我们这个团队来做的。我们这个团队在北京,所以产品都在雅虎北京这边做,是雅虎北京独立拥有的一个团队。在来雅虎之前,我在其他很多家公司做过,之前我是在Zynga,那是一个社交游戏的公司,主要是做Facebook上和手机上的一些游戏。当时也是在北京,做了一些像《City Ville》、《Ruby Blast》这些游戏都是在北京做的。在Zynga之前,我在微软也做过一段时间的移动服务,还在一些其他的互联网公司。最早我是在搜狐工作,当时也是做网络游戏类的开发,我从清华硕士毕业以后,先去搜狐做了一段时间的游戏,这大概是我的一些经历。

   

2. 朱凌,能不能介绍一下你负责这几个产品?我看到有移动APP的网页适配服务,还有图片的存储以及移动APP的一些存储服务,能不能给我们介绍一下这个三个服务?

朱凌:大家知道如果,访问网站的话,从PC上访问和从移动上访问还是很不一样的,因为PC上可能大家的屏幕都很大,基本上也都是比较固定的一些,系统也比较少,设备也比较少。而对于从移动设备上访问,首先移动的设备就非常多,比如说有的人用安卓手机,有的人用iPhone,还有老的用一些feature phone这类东西。所以首先要了解,这个用户是用哪个手机来访问的,了解这个,才能对要访问的内容做一些适配,比如说我的网页应该是多宽的,然后你的手机有没有一些什么特殊的需求,比如手机是不是支持JS的,比如有一些feature phone甚至连JS都不支持,比如说手机上的图片应该摆在哪,它的布局应该是什么样子的。这就是我们的所谓移动网页的一个平台,但是这也是基于对移动的设备进行一些预先识别,我们现在可以大概识别24,000多种移动设备,基本上全球所有的移动手机我们都可以识别出来是哪种类型的手机。识别完这些手机,我们可以调用相应的一些技术,把这个网站做一些裁减,让它能够以最好地效果呈现在你的手机上。这当中还包括图片服务,有些图片在PC上看起来很大,可能好几M的东西,2000×2000那种图片,看起来可能没什么问题,可是到手机上看的话可能这个就不太合适了。所以我们也会做一些移动的图片服务,比如说我们会根据屏幕的尺寸和网页位置上的一些布局,把图片缩减成相应的一个布局,特别是用户上传的图片,我们会做一些图像的处理,比如说做一些锐化处理,这样能够雅虎的产品在你的手机上得到最好的用户体验。我们还有一些存储服务,当然就是为了方便移动开发者,把他们所有的数据放在我们的移动存储平台上,如果逻辑能够在前端做,其实你都不用你自己的服务器,直接在手机端用SDK就可以把数据存在我们的服务上了,这主要是为了方便开发者进行开发的。我们这个团队主要是做这几块。我觉得总体来说可以称之为一个移动云的概念,这个云服务专门是给移动服务做的。

   

3. 我们知道雅虎在国外的新闻类产品APP的应用体验是非常好的,其实刚才你已经提到了一些,包括图片的压缩,图片的锐化,网页布局的调整,针对每一种手机做出相应的调整,能不能具体讲一讲这个工作是怎么做的?是人工完成的吗?还是后面有项目工具和一些技术来做支持?

朱凌:我就举个简单的例子吧,比如当你在手机上访问yahoo.com的时候,它会发生什么事情呢。比如你访问一个新闻网页,首先这个新闻网页并不是真正生成一个HTML的网页,它是在后端通过一个Blueprint的技术,先做出一些模板出来,MXL的一些模板,把这些内容填进去。每一个请求从某一个设备上过来时,我们首先会去察看这个请求,这是什么样的设备,屏幕尺寸有多大,通过对这个屏幕尺寸,我可以挑选模板对应这个屏幕尺寸和设备。我们会把移动设备分成几类,根据它的能力,比如说屏幕是多大的,对浏览器特性的支持分成几类,然后对每类去选择一个相应的模板,把XML内容填充进去,最后生成出一个HTML出来,然后再把这个HTML返回给手机设备,整个是这么一个过程。

   

4. 刚刚您有总结到了,您这个团队其实做的是移动云的概念,除了图片服务、手机存储和网页适配这种服务以外,我知道国内很多云的服务商可能还有其他的,比如像push服务,可能还提供一些CDN的服务,因为有些需要计算的服务,计算实力可以租给开发者,雅虎会有这样的服务吗?

朱凌:像你刚才说到push notification,雅虎在北京也有一个团队专门做push notification,这也完全是雅虎北京所有的一个东西。另外雅虎最近也刚刚收购了Flurry,不知道你是不是听说过这个,它也是专门给移动开发者做一些分析,广告平台,应该是全球最大的一个厂商。

   

5. 能不能说说这三个服务底层的一些架构的实现?比如说用到哪些技术,我知道雅虎贡献了很多开源的技术给社区,你们可能自己也在做一些新的技术的开发,能否介绍一下这方面的事情?

朱凌:像这种存储的东西,是用雅虎内部的一个存储系统来做的,它主要的好处就是能够做一些跨数据中心的一些备份,这样的话我从任意一个数据中心去访问,都可以得到相同的结果,也有一些容灾方案,任何数据中心如果出现问题,都不会影响到服务,它存储的容量也特别大,这也是选择这个系统的原因。当然这个系统目前还是雅虎内部的一个系统,还没有开源出来。像图片服务,我们更多是采用目前来说还是比较传统的一些开发框架,比如像阿帕奇,用的是阿帕奇的extension去做这个事情。我们也会用一些CPU去做这个图象处理,或者有时候也在用GPU做一些图象处理,当然前端肯定都是有cache。这样如果访问相同的东西,我们可能不会再去重新去做,前端肯定都是有雅虎的CDN Cache,雅虎的Cache节点在全世界还是很多的,能覆盖绝大多数的请求,当然不同的网页不一样,有些网页可能达到99%以上,我指的主要是那种静态的新闻类的网页,有些动态的cache hit ratio会稍微低一些。

   

6. 最后一个问题,雅虎未来这个平台还会去做哪些事情?有哪些新的功能?

朱凌:未来我想我们雅虎的移动云肯定是更加能够给雅虎的移动开发者提供更好的一些服务,我们也在看是不是有可能开放出来,给其他的雅虎外面的移动开发者提供相应的一些服务,当然这都是我们现在在考虑的一些东西。

你可能感兴趣的:(雅虎的移动云服务)