7月的一个周末,腾讯云平台总负责人陈磊在中关村的翠宫饭店内等候CSDN的记者。陈磊周六晚刚刚从深圳飞到北京,准备接受北京媒体一系列的采访。
  用陈磊自己的话说:“腾讯云平台过去宣传较少,跟腾讯总体的务实作风是分不开的。我们自己总觉得做的还不够好。等我们自己觉得做好了的时候,外界也已经对我们有了充分的认可,也就觉得没必要进行大肆宣传了。”这次的采访,让我们管中窥豹,揭开腾讯云平台的神秘面纱,了解一个“边运营,边重构,边生活”的腾讯云平台。
运营是腾讯云平台的基因
  在中国的互联网圈,人们熟知腾讯盛产产品经理,也认同腾讯在技术和运营上的能力。但是,由于腾讯在技术分享方面十分低调,围绕腾讯的始终是一种敬畏和神秘感。事情的转折发生在2010年11月:3Q大战”进入白热化,这直接加速了腾讯开放的速度,腾讯开放平台和腾讯云平台相继推出,将腾讯庞大的用户、多年的技术积累及运营经验逐渐开发给第三方开发者,一个开放的产业链正在形成。
  在腾讯开放的战略中,腾讯云平台起着至关重要的作用:将腾讯的基础架构以及海量运营经验开放给第三方开发者,让他们无需投入过多精力和成本在基础架构运维上,可以更聚焦于创新和用户服务,从而获得产品的成功。可以说腾讯云平台是盖房子的地基,没有云平台,开放平台就是空中楼阁。这对腾讯云平台整个团队都是巨大的挑战。
  面对这个挑战,陈磊和他的团队用短短一年半的时间交上了一份令公司和广大第三方开发者满意的答卷 -- 截止2012年7月,腾讯云平台已为腾讯开放平台上一万多款APP提供服务,设备总规模已经超过一万台,设备规模以一个月一千台的速度增长 -- 而秘诀就在于将腾讯云平台作为产品来运营。这个秘诀是腾讯云平台走向成功的基因,它的背后则是腾讯整个公司重视产品运营的大氛围,而陈磊自身从微软到Google的经历也让他在具备深厚技术功底的同时兼具并对互联网产品研发运营体系的深刻理解。
  “边运营、边重构、边生活的方法,这在Google的很多项目中会用到,也对后来我加入腾讯后的工作帮助很大,”陈磊表示,“刚来腾讯时候,就对腾讯的社交产品非常重视运营的理念印象深刻,例如Qzone在产品运营方面的投入就很大,腾讯云平台虽然是更偏向技术层面的平台,但是在这一点上也要借鉴。一个系统软件,20%靠设计,80%靠运营,靠不断理解用户的需求,把握用户需求,满足用户需求,才能去积累,去成长”。
  腾讯云平台项目成立于2010年12月。 “项目成立之初,就已经有很多腾讯的合作伙伴—后来我们统称为第三方开发者--在等着接入腾讯开放平台,这就要求腾讯云平台尽快对外提供服务。”陈磊表示,“12月我们就开始为第三方开发者提供虚拟机服务,以满足对基础架构最基本的需求。这个开放的过程只用了几天的时间,而后台集成了资源管理和调度、监控、安全等十几个不同系统,这是腾讯云平台的雏形。在腾讯云平台建设的过程中,我们始终强调“小步快跑”,抓住用户的主要需求,先做一个简单的系统解决用户的的主要需求,然后在这个上面迭代,增加新的功能以满足用户更多的需求。”
  陈磊认为,所有的大规模系统软件,都需要在运营过程中不断摸索才能取得成功,例如云平台、社交平台,搜索,海量存储,云支付等。离开产品运营,就像闭门造车盲目模仿。在这里,系统架构师固然需要发挥其在技术上的天才,也要清楚的认识到系统的成功绝不是靠猜、靠问、凭经验、靠想象得来。腾讯云平台作为一个大规模的系统平台,虽然其用户与普通的互联网产品例如QQ、微信等有差别,它面向的是第三方的开发者,它的用户对平台的性能、功能上的需求更专业、更高水准,但是腾讯云平台的运营却需要和QQ、微信一样,在服务用户的过程中去发现、去理解他们的需求。
  云平台这么复杂的系统,在运营中可能发生的问题,不可能在设计时就完全预料的到,或者在测试中完全模拟出来,需要在线上运营的过程中及时发现问题、及时解决。
  陈磊说,“我们认为,一个做了几个月都没有发布上线跑过试过的系统,它的设计中一定存在不少问题,一定存在很多意想不到的Bug。这个是由系统软件的复杂性决定的,也是经验反复告诉我们的。所以边运营、边重构、边生活不是一个可选项,而是做好系统软件的必经之路。
  一个系统好不好,我们不是从审美的角度去看的,也不会主观的去判断架构的可扩展性、健壮性、可用性或者柔性。而是去看它的运营数据,看它在运营中是不是能够保持它的生命力,在运营中不断成长发展。所以,设计只是一个起点,运营才是真正磨练一个架构的过程。我们倾向于缩短设计的周期,让系统可以更早的进入运营的周期。这可以解释刚才我提到的为什么20%靠设计,80%靠运营。”
  那么,什么是好的设计?陈磊认为没有绝对的标准,要看这个设计的应用场景。“最好的设计是那些没有办法避免的设计”。我们希望设计不是靠灵感、拍脑袋想出来的,而是在理解了用户需求,分析了运营数据之后找到的必然的解决方案。所以设计的关键还是要对用户需求把握准确,对运营数据充分掌握。我们强调设计要简单,系统研发周期要短,抓好监控,在运营中注意挖掘运营数据,注意总结。这也是为什么好的架构设计往往是在边运营、边重构、边生活的过程中产生出来的。
  “正是因为边运营、边重构、边生活,我们才对自己的产品充满信心。因为我们做的每一件事都是为了满足我们客户的真实需求,我们做的每一个优化都是在现网上验证了行之有效的。我们相信自己的架构会永远年轻,因为我们每天都在更新它,都在改造它,”陈磊说,“运营是让系统上线投入使用,重构是不断的优化和改造,生活是在优化和改造的过程中维持正常的运营,让用户没有感知”。 这就是边运营,边重构,边生活的要义。
从硬件到软件--整个服务体系的开放
  做为中国互联网的先行者,一路走来,腾讯经历了很多挑战。比如有五亿多日活跃用户的Qzone,其首页几秒可以完全打开,这个过程有一个很长的技术积累。经过十余年的发展,腾讯在大流量接入、分布式存储、安全防护、自动化运维等方面都积累了丰富的经验。同时,也打磨出了一套高质量的数据中心,高性能网络和服务器基础设施。
  陈磊坦言,目前腾讯开放平台上的应用数已达50万,大大小小的第三方开发者在将应用上线到腾讯开放平台后遇到了很多问题,这是因为很多开发者从没有运营过一个支撑几十万人、上百万人同时访问的应用。这些应用想达到和Qzone一样的高性能,就如同要求第三方开发者把腾讯几年的学习过程,在几天里就要完成,这个挑战是非常大的。“所以我们做云平台很重要的一点,就是把腾讯多年积累的海量运营的经验变成一种能力开放给第三方开发者。”
  腾讯云平台为此做了长远的规划—围绕硬件和软件展开的一整套完善的服务体系:优质的IDC,海量计算,海量存储,海量数据分析,以及完善的安全体系。
  目前,腾讯云平台的设备总规模已经超过一万台,这些设备分布在三个IDC,这些IDC都拥有骨干节点出口,其网络速度和稳定性可以很好满足第三方开发者对于网络的要求,同时其按照带宽而不是流量计费的计费模式,也可以很好的降低第三方开发者的带宽成本。值得一提的是腾讯在跨IDC上的运营能力,腾讯云平台天然继承了这种IDC异地分布和容灾上能力。
  在国内的网络环境下,跨IDC的挑战是非常大的。“我们建设一套虚拟IDC的系统,首先会在自研的产品里使用,然后才会在云平台推广。因为经历过考验,就能够保证腾讯云平台对外提供服务的质量,”陈磊说,“在这套系统里面,最核心的一点是数据的同步。
  在朋友、Qzone业务上面,我们做了一套同步中心系统,Qzone大家知道是非常复杂的系统,光是首页、个人中心的展现有十几个模块(例如签到、礼物、认证空间、相册等等)。原来Qzone个人中心的展示,先展示一个框架,然后这个框架里的每一个模块服务器再去拉取,这样就有很多的连接,虽然它是并发的,但是连接数大。我们现在在做的一件事情,这个框架直接把所有的HTML5渲染全都做完,前台的性能就会提高很多。但这会对后台造成很大的压力:十几个模块的数据,都要能够被这个框架取到。我们采取的方案是将Qzone部署在多地,Qzone在全国有将近30多个set(set是腾讯专有的技术名词,你可以理解为每个set是一个完整版本的Qzone)。Qzone的数据很多是好友数据,你不知道这个数据是写到那个set去的,但不管你是写到哪个set,在任何一个set框架机里面,需要吐页面的时候数据都必须已经ready,这就要求数据能够快速的吐。而且在很多情况下,我们的业务是要求同步,不但数据要保持一致,甚至数据发生写操作的次序都要保证,这个在业界也是一个很大挑战。
  Qzone的成功经验证明这个同步中心系统实际上是有这个能力,这个能力我们会开放出来。现在腾讯开放平台上的部分应用已经在用到虚拟IDC的这套体系。未来这个体系会完全开放出来,从某种意义上来讲,第三方开发者已经不需要关心你的设备到底是在哪个IDC了。”
  除了优质的IDC,腾讯云平台提供的海量数据分析服务也值得一提,该服务有一个很形象的产品名称:腾讯罗盘,顾名思义,它立意于为产品运营提供数据导航。
  目前,腾讯罗盘提供的数据分析模型达14种,从用户来源、用户行为、用户参与度、用户属性、收入等多种纬度为第三方开发者提供应用的用户画像。它可以做很深入的分析,“你在腾讯开放平台上做了一些推广,效果如何?你的用户里面哪些是高质量用户?哪些是付费用户?用户流失情况怎么样?在什么环节流失?”陈磊表示,“未来我们会给开发商提供一些营销策略,建议这个应用该去拉新,该去做回流..”
  “这是一套顾问系统,一般个人开发者、小团队去做这套系统很难。当你的用户量小的时候,分析用户用excel表就能完成,但当你有几百万、几千万用户的时候怎么办?腾讯罗盘这样的系统对第三方开发者是非常有帮助的。”
  此外,提到云,大家都会很关注“安全”这个话题。陈磊也给我们详细介绍了腾讯云平台的安全服务体系:“安全是一个极为关键的问题,我们不仅要面对巨量的DDOS攻击,还要保护好用户数据,要防止第三方开发者为了赚钱恶意扣费,甚至去骗取用户资料。这些都必须配备相应的安全手段。”陈磊表示,“此外,有些开发者因为经验不足,开发的应用本身有安全漏洞,我们每天在做漏洞扫描,首先对上传代码进行扫描,然后对他在外网进行自动化的攻击尝试和扫描,为应用提供安全防护。”
  最后,谈到安全不能不提支付。腾讯的Q币体系已经十分完善,但这个体系开放给第三方的时候就会有许多挑战。“我们自己内部业务用的时候,是互相彼此信任的,现在支付体系开放了。当第三方应用告诉我们要扣费,我们要能够信任这个扣费的行为真的是用户自主发起的,这就需要有一个保障的机制来确立这种信任关系。此外,我们在扣费后要第三方向用户发货,第三方也要信任这个发货的行为确实是应用发起的,这里面会遇到一些复杂的工作。”
  这一整套完善的服务体系并非一蹴而就,而是不断发展得来,在这个过程中,腾讯云平台始终坚持一切以用户为中心,深入挖掘第三方开发者的需求,不断地对平台进行优化和重构,在这个过程中去积累,去成长,平台和用户共存共赢。
做深做专,瞄准电商
  陈磊表示,腾讯云平台的发展思路与腾讯开放平台的发展紧密相连。一方面是因为业务的需要,开放平台需要云,云也需要开放平台。腾讯云平台最初的用户,大部分来自腾讯开放平台。另一方面,也是腾讯云平台的整体发展战略的导向。腾讯云平台并没有选择IaaS这条道路,一个很重要原因是每一个垂直领域的需求都大相庭径。“例如互联网的游戏类和非游戏类应用,包括网络游戏和社交游戏,这些应用对云的需求都不相同。此外,不同规模的开发者,大规模的公司型开发者、小规模的公司型开发者、个人开发者,他们对云的需求也不一样。怎么样能够把握住不同层次不同类型的用户需求,在一个垂直领域中做的很深入,这对现在整个互联网开放领域都是一个比较大的挑战。所以我们抓住开放平台上的应用,这些都是面向互联网广大用户的应用,我们的目标是先把这个垂直领域做好”。
  此外,陈磊表示,腾讯云平台电商类应用的支持也是后续云平台的一个方向。“对于电商企业来讲,他们希望能够聚焦于他的业务去做好它的用户体验、价格,而把基础的底层工作,交给一家专业做云的公司可能更好。”目前,包括易迅等许多电商公司,已经在腾讯云平台上开始尝试。“电商行业的对云的需求,和互联网行业不一样,我们下一个垂直领域就是要把电商领域做深、做透。包括向开发者提供腾讯罗盘这样做业务数据分析的云服务。电商领域里面,有哪些服务是我们可以做,可以深入的帮助企业和个人开发者去运营它的业务等,我们正在不断尝试并抓住这样的机会。”
关于云OS的标准
  在2010年12月腾讯与电子四所探讨过云计算的标准问题。陈磊告诉CSDN:“在美国,有RightScale这样的公司,RightScale提出了一套系统的API。美国很多的亚马逊的用户实际上是用RightScale,及时在GCE上也是一样可以工作的,所以如果你是用RightScale来运维发布你的系统的,都是可以兼容的。”
  “我们从来没有想过说要把用户锁在我们的云里面,通过API这种方式,怎么样能够在一个垂直领域中做更多增值的东西,做成一个最理解用户的需求,客户的需求的云,最体贴的这样一个云,也是功能最全面的一个云。”
【后记】
  与陈磊的交流中,他经常对某一个数据或观点,反复推敲,十分严谨,我们从中看到一个互联网巨人成功的基因--严谨、务实、深挖用户需求、重视运营--这一切成就了现在的腾讯,我们也期待在腾讯开放的步伐中扮演重要角色的腾讯云平台走的更高更远,为互联网产业链的繁荣贡献更多的力量。

<