谈谈ODPS商业化(二):ODPS的计量计费模型

  这篇BLOG是ODPS商业化一系列文章之一,更多请点击这里……

  ODPS正式商业化以后,微博上议论比较多的是计量计费模型。刚好这件事我全程参与,仔细写写。ODPS的计量计费规则和价格请以阿里云官方网站上的说明和数字为准。这里的内容只反映当前状态,不能保证实时更新。

  ODPS收费以项目(Project)为单位,对存储、计算和数据下载三个方面分别计费。存储和数据下载的收费形式与其他云产品很类似。而计算这边,目前ODPS仅开放了SQL任务,计费公式为:一次SQL计算费用 = 计算输入数据量 * SQL复杂度 * SQL价格。具体而言:
  1.计算输入数据量:指一个SQL语句实际扫描的数据量,大部分的SQL语句有分区过滤和列裁剪,所以一般情况下这个值会远小于源表数据大小。
  2.SQL复杂度:先统计SQL语句中的关键字,再折算为SQL复杂度
  SQL关键字个数 = Join个数 + Group By个数 + Order By个数 + Distinct个数 + 窗口函数个数 + analyze个数 + max( insert into个数-1, 1)
  meter
  例如,用户输入的SQL语句是:INSERT INTO TABLE out1 SELECT * FROM shop a JOIN sale_detail b ON a.shop_name = b.shop_name;则其SQL关键字个数是2,而SQL复杂度是1。
  再例如,用户输入的SQL语句是:SELECT DISTINCT total1 FROM (SELECT id1, COUNT(f1) AS total1 FROM in1 GROUP BY id1) ORDER BY total1 DESC LIMIT 100; 则其SQL关键字个数是4,而SQL复杂度是1.5。

  对于上面这个模型,大家常常提出各种问题:为什么只考虑数据量,而不引入CPU、内存、网络通信等直观的技术指标?进一步,为什么不引入计算时间,使用像“CPU*小时”或“内存*小时”这样的计量单位?为什么引入SQL复杂度这样一个稍微麻烦的概念?模型里包含的关键字和公式里的权重是依据什么标准确定的?从一开始,ODPS策略团队的数据分析师就在这些拷问中不断纠结和探索。

  由于ODPS在阿里内部已经大规模投入使用,每天生产上跑着几十个BU的上万个作业,吞吐上百P的数据。因此分析师先拿到日志,各种清洗,各种图表,各种统计探查,各种回归和分类,获得了很多好玩的发现。由此产生的结论是源于严谨的数据分析和产品逻辑,并通过各方面很多审核。

  下面就来说说建模的过程。由于保密原因很多具体细节不能公开分享,但总体思路也许值得大家看一看。

  首先,要明确什么是好的计量计费模型?计量计费模型是产品特征的重要组成部分,需要遵循的的几个原则:
  1.基于统计,简单,可解释:不拍脑袋YY,模型的逻辑源于统计事实;在可行范围内尽量简化;公式的输入参数都应该是用户可见的条件;
  2.可预期,可重复:在跑计算作业之前,用户能根据输入和环境配置算出这次计算底能花多少钱;完全同样的作业重复跑价格不变;
  3.正引导性:用户采用符合“最佳实践”的操作方式不会受到惩罚,最好受到奖励。
  关于以上这些计量计费原则,举一些类比的例子。
  例子一:手机话费的计量,两个人面对面用手机打电话,与一个在城南一个在城北打电话,实际成本肯定不一样,但是如果电信运营商直接按照通信链路经过了几个路由器,几次转发来计费,用户就要晕倒了。所以真实的计费就采用相对粗略的、阶梯的、区域的划分。因为这符合前文提到的3条建模原则。
  例子二:伊拉克战争中,由于基础设施匮乏,电力局收电费,不是按照电表算,而是到用户家里数灯泡和电器的个数,一个灯泡多少钱,一个空调多少钱。这个计费策略当然很粗略,但是它在这个特定场景下是行之有效的。仔细看看,你会发现它同样符合上面的3条建模原则。

  接下来,要考虑怎么衡量一个计算作业的成本?
  很常见的想法是:把一次计算占用的进程、内存,以及中间IO交换的数字都拿出来,分摊对应的硬件成本,也就是CPU、内存、网络设备和磁盘。
  这个思路是错的,因为实际运行的作业占用各种资源肯定不均衡,总有瓶颈。集群的计算节点是个有机整体,部件不能拆开单用,如果某瓶颈环节100%占满了(例如磁盘和网络IO能力),即使其他硬件空闲(例如CPU),也不可能拿去给其他作业使用了。
  所以正确做法应该是:先统计到底哪项功能指标是瓶颈,平均闲置率最低,然后以该指标直接换算整个节点全部成本,其他指标都可以忽略。当然,不同的计算作业瓶颈不一样,成本分摊的方式也会不一样,例如Mapreduce类作业一般是IO密集型的,磁盘和网络IO交换是瓶颈;而MPI类的算法一般是CPU密集型,CPU和内存是瓶颈。

  有了上面两项思考逻辑做为基础,回过头来,我们看看上文用户提到的问题。

  SQL计算的计量模型为什么引入输入数据量作为参数?
  很明显,因为SQL以及它背后的Mapreduce计算是典型的IO密集型运算。而且“输入数据量”符合上文计量计费原则1和原则2,用户可以自己查看、控制和预估。
  这样还有个好处,就是让用户时刻注意语句的写法。因为这里的“输入数据量”是指实际扫描的数据量,如果SQL语句有分区过滤和列裁剪,费用就会远小于源表数据大小:
  a) 列裁剪:例如用户SQL是select f1,f2,f3 from t1; 只计算t1表中f1,f2,f3三列的数据量,其他列不会参与计费。
  b) 分区过滤:例如SQL语句中含有where ds>”20130101”,ds是分区列,则计费的数据量只会包括实际读取的分区,不会包括其他分区的数据。
  有了这个游戏规则,精明的用户一定会尽量用select f1, f2, f3 from…替代select * from…,能用分区裁剪就尽量避免全局扫描。而这正符合数据仓库开发的最佳实践。很多成熟的数仓团队已经把它作为生产纪律强制执行。比如“不准使用select * from …”这一条,如果上游表追加了新的一列(这在数仓生产中很常见),使用select *的SQL作业往往运行失败。因此,我们的模型又符合了前文建模原则3,鼓励最佳实践,平台和用户都会因此获得好处。
  一个有趣的现象是,当我们用这个计量计费模型试算阿里内部不同团队的作业时,也发现了分化:有一些BU,例如阿里金融,拥有很多资深的数仓专家(这些家伙甚至能用SQL实现一个跳棋程序),这种团队的计算花费汇总下来,往往接近甚至低于平台的成本曲线,说明其主力生产SQL经过了精心优化;然而也有一些BU的团队,显然刚开始接触大数据分析业务,把ODPS当MYSQL用,于是产生的计算费用远远高于平台耗费的成本。我们可以推测,对外的场景下也会有类似的事发生,而且随着时间推移,用户行为会整体向更经济的方向移动。这也是平台团队想要看到的,因为我们可以腾出更多资源给新用户和新业务。

  为什么不引入CPU、内存、网络通信等更直观的技术指标?为什么不引入计算时间,使用像“CPU*小时”或“内存*小时”这样的计量单位?
  的确传统的超算中心是这么计费的。我们认为做错了。因为这样做违反了上文计量计费建模原则1和原则2。
  运行一个SQL作业占用多少CPU、内存、网络通信,完全是由平台方的具体技术实现决定的。这些参数其实和用户无关,用户也无法控制,无法预测。平台定义某条SQL很贵,用户也没办法跑来看代码,挑战说ODPS不应该用这么多内存。
  另外,参考前面说的,其实不需要那么好多个指标,只需要关注一两个关键的瓶颈指标。
  进一步,对于ODPS这样的离线计算场景而言,不可能保证每次运算的时间精确一致,更无法预测。如果以运行时间为依据收费,有可能第一次运算用了10分钟,第二次由于调度原因或者发生了failover,用了12分钟。如果完全相同的计算,今天收1块,明天收1.2块,用户就疯掉了。
  反过来说,采用这种计量计费模型,也会让平台技术团队丧失持续优化系统的动力。

  为什么引入SQL复杂度?模型包括的关键字和公式里的权重是依据什么标准确定的?
  由于ODPS支持强大的SQL语法。实际运行中除了显式输入输出,中间阶段还会进行多次临时文件磁盘交换(专业术语一般称为Shuffle)。例如:可以在一条语句里,join十几个表,套上七八个子查询,再加上各种全局分组和排序……这些操作都会导致IO的明显增多。问题是直接采用中间IO量或者Shuffle次数计费,又违反了上文的计量计费原则1,于是我们必须寻找替代方案。
  幸好能造成Shuffle的SQL关键词操作只有7个:Insert Into、Join、Group By、Order By、Distinct、 窗口函数和analyze。因此我们尝试用关键字个数来拟合中间IO,获得了不错的效果。公式里的权重值都是依据阿里内部实际生产的日志回归出来的,是科学和严谨的。

  说到这里。用户可以看看Google BigQuery是怎么收费的。他们甚至在官网上贴了一篇文字,描述其计量计费模型的“设计哲学”。Google BigQuery与ODPS商业化的进程一先一后,大家彼此完全独立思考,得出的方法论和最终模型却殊途同归,这实在是一件很好玩的事。至于Google BigQuery公式里不包括SQL复杂度,原因也很简单:他们的SQL功能比ODPS SQL弱很多,例如根本就不支持两个大表的Join。由于这个原因,所以其SQL基本就对应于ODPS SQL中,复杂度为1的那个子集。

  和ODPS类似的公有云产品还有AWS EMR。不过EMR本质上是租用虚拟机然后在上面搭hadoop,不是多租户的,也就是多个用户无法分享单节点上的计算和存储。因此大家的收费模型思路不同,针对不同的场景各有优劣。我很想看看接下来市场的反馈。

  当然ODPS还有很多需要做的,例如接下来会推出计费计算器:输入SQL,返回需要花多少钱。再例如会提供更多打包计费的方式,例如包年包月,以简化用户的智力负担。ODPS还支持SQL以外的更多功能,例如mapreduce编程模型、xlib机器学习算法,它们如何计量计费还在摸索中。

  总结一下。如果您是ODPS用户,希望这篇文章展示了ODPS计量计费模型的逻辑,能帮你优化作业节省成本,也希望您能体会到其中的诚意。如果您是同行,云计算领域的产品经理,期望这篇文章对你规划自己产品的收费策略有借鉴意义。我们在创新,要获得问题的答案,甚至定义问题本身,都需要洞察和思考。

  最后感谢ODPS策略团队,尤其是数据分析师@班马明,上面这些逻辑都是他被几百张图表痛苦折磨几个月之后逐步梳理出来的。事实不止一次证明,数据分析师要有一颗产品经理的心,反之亦然。顺便提一下,面对ODPS系统的海量日志数据,@班马明同学“吃自己的狗粮”,利用ODPS本身完成了数据的抽取、探查、挖掘和验证。

  这篇是ODPS商业化一系列文章之一,更多请点击这里……

谈谈ODPS商业化(一)

  首先深深道歉,居然五个月没有发BLOG。这几个月是我近年来最辛苦,心理压力最大的一段经历。也直接导致很多生活习惯被打破,例如早睡,例如定期备份工作目录,例如定期修改登录密码,再如逛书店,也包括每周写一两篇博客。这些习惯现在正逐渐恢复。感谢回来的读者。

  很多人可能已经知道了,ODPS在7月上旬终于实现了一期商业化,部分功能结束邀请试用,全网开放,开始收费。大家可以访问阿里云官网开通ODPS服务,并下载用户手册和SDK客户端。除了阿里云以公有云的形式对外租用ODPS的存储和计算能力,还有两个渠道可以使用ODPS:御膳房,是阿里数据平台事业部推出的大数据解决方案,可以支撑淘宝天猫大买家和ISV利用阿里丰富的数据;天池,是阿里技术发展部的平台,主要针对高校和科研单位进行合作,目前正进入冲刺阶段的2014阿里大数据竞赛就是基于这个平台举办。

  阿里对ODPS做了很多宣传,网上看到不少讨论。如果要了解ODPS的方方面面,我认为下面对子楠和常亮的采访是比较好的资料:

  汤子楠:飞天、ODPS经历了许多血淋淋教训

  徐常亮:ODPS的愿景、技术实现与难点

  还有不少朋友在知乎上问与ODPS有关的问题,我们也都尽可能做了回答。

  尽管刚刚对外开放,已经看到大量的第三方用户上来,在ODPS上做各种各样有趣的大数据业务。尤其是各个领域的创业团队给我留下了深刻印象:金融保险、电商营销,运动手环,手机游戏,基因测序……

  接下来我会写一系列的博客,从个人观点谈一谈ODPS的产品和业务。计划谈的主题可能包括:

ODPS对外开放!

  ODPS刚刚上线成功,在阿里云官网对外开放!一期还仅仅开放Sql,很快会开放Mapreduce、Graph和Xlib等更多功能。公测阶段,用户还需要经过人工审核才能开通服务。

  加入阿里两年。经历了这么多,俺把这件事做成了。

  上个月AWS进中国反响很大,发了一条微博:“AWS进中国,对阿里云和用户当然都是好事。有了EMR,我ODPS就不再寂寞。明年可以好好杀一场。从进阿里第一天起,我就只盯着ODPS对外开放这一件事,终于快等到了。亚马逊,来战!”

  2014年会很有趣,看ODPS如何把对手打得满地找牙!

2014新年快乐

  新年快乐,万事如意!

  2013年一共发表了32篇BLOG,比往年平均值要少很多,10月份以后因为忙ODPS对外开放的事情,更新频率更下降了。但我会继续写下去,还会写很多年。感谢您对这个BLOG的关注。

  单细胞动物,又很懒,没法多线程。关注这BLOG稍久一点的同学,大概会知道我总习惯在一月份定些重点,之后一年里如果遇到冲突纠结,就力保这两三个主要目标,其他一律让路。这种做法是从2006年开始的:软件、论文、专利、买房、买车、求婚、生娃、跳槽、旅游……运气好的一年,定了4项大事,忙到年底累得臭死,居然都能搞定;也有瓶颈年头,只定1个目标,年底仍然有遗憾。但总体而言,集中精力是个好习惯,受益匪浅。

  回去翻了翻BLOG,2012年有3个目标,年底感觉其中工作方面的目标没达标。于是2013年继续,而且只定了这一个目标:成为合格的产品经理,给ODPS留下独特贡献。

  一年下来,在ODPS团队里帮了些忙,仍然称不上“独特贡献”。所以2014年还得继续盯住这个目标。不过我快沾到边了。等ODPS对外开放一期、二期、三期的事都妥帖了,修炼可算小成。

  最近两个月为工作焦头烂额,家人说我:“念念叨叨总是你的ODPS对外开放,其他事完全不关心。”我的确像是有点魔障了。但这事真的很重要。感谢老婆、老妈和刚会说话的女儿,家里这三个女人都比我聪明、体贴、淡定和坚韧。

  除了眼前的具体目标,我希望在2014年能有更多勇气面对理想。回去看2006年初次盘点年度目标的BLOG,写了这么一段:"本科听老罗的课:'年纪大一点以后,最难的就是保持强悍,仍然敢把理想挂在嘴边'。没真正理解,或者说不够老,还没资格发表观点。"8年过去,三十多岁的大叔了,是证明所谓“强悍”的时候了。

Page One书店和格雷厄姆·格林

  总算到周末了,睡得不醒人事。周六一直睡到早上10点,创了今年的记录。

  起来以后开车带一家人出去玩。上一篇BLOG刚抱怨望京附近找不到好书店,今天在颐堤港看到一家Page One很不错。环境、服务、选书都很有品位。以后可以多带女儿去逛。

IMG_Ali_00179

  买了格雷厄姆·格林的《权力与荣耀》,村上春树的《碎片,令人怀念的1980年代》,北岛的《蓝房子》

权力与荣耀  碎片,令人怀念的1980年代  蓝房子

  格雷厄姆·格林的书都比较压抑,不适合心情不好的时候看。不过他本人很有趣。他同时又是正牌的英国军情六处间谍。还曾经在非洲当过著名双重间谍金·菲尔比的下属。格雷厄姆晚年的作品《尼斯的黑暗面》揭露了尼斯市的腐败,因此惹上官司并败诉,最终抑郁而死。在他死后三年,尼斯市雅克·梅德桑前市长因腐败和其他罪名被逮捕。

  至于为什么格雷厄姆·格林被提名了那么多次诺贝尔文学奖,却始终未曾获奖?,我在知乎上看到这么一段有趣的回答

  格雷厄姆·格林为什么拿不到诺贝尔文学奖,可以分两个阶段看:1968年前和1968年后。

  1968年前他被提名过几次,但都没有拿到,原因不外乎几种:他过于流行招致偏见、当年有和他同样够格的人选,或者运气不佳。比如1967年,格林和奥登竟然齐齐输给危地马拉的阿斯图里亚斯,奥登难道不够格么,而且他更穷,又去找谁哭?

  1968年之后,人为因素多一点,这一年Artur Lundkvist当选瑞典学院院士,他是著名的格林黑,以及天主教黑,我们知道格林是天主教徒……

  他说,格林那么畅销,奖金给他没意义。他还说,格林要想拿奖,除非从他尸体上跨过去。

  前面那句话有记录,后面那句话是别人爆料的,半信半疑吧。

  不过他的确在和格林拼寿命。格林是1991年4月去世,Lundkvist熬到了当年的12月才去世,真是在用生命捍卫偏见啊!

  Artur Lundkvist还喷过威廉·戈尔丁,喷过亚洲文学。在文学问题上,本来就不存在绝对的不偏不倚,每个人都有自己的偏见。

列书单2013.12.14

  最近ODPS临近对外开放,一周里好几次都会忙到半夜2点。BLOG就只好停一停。抱歉。

  今天稍微放松一点,听douban FM。搬家期间不得不处理掉了157公斤的书,有一段时间不怎么买纸质书,在豆瓣阅读上买了不少电子书看。也许我是老古董,也许是我的云手机该换了,憋死。于是这两个月报复性买了不少纸质书,今天列一列。

  说到买书,望京还没找到像样的好书店。路过一家新华书店,管理混乱,电脑上查到书架上却找不到,店员表情冷漠目光呆滞。书店里的气氛就像坟场,让人很不愉快。很多人说实体书店会被网上书店杀死,这可不一定。当年大家都说电影院会被VCD杀死,部分说对了,那些设备陈旧环境脏乱的影院都死了,但环境好服务好的影院发展起来,赚了很多钱。人们花钱买的其实未必只是一场电影或一本书籍,也许是一种服务和体验,是一个可以带着女朋友去消磨几个小时的漂亮舒适的消费场所。要说这个,中关村那边的好书店比望京多,尤其那些养着猫、可以喝咖啡的特色小书店。写到这里搜索了一下,2008年在BLOG贴过这些漂亮书店的照片

  言归正传。买了王强的《螳螂》,威廉吉布森和布鲁斯斯特林的《差分机》,村上春树的《没有颜色的多崎作和他的巡礼之年》,柯云路的《新星》,阿瑟克拉克的《神的九十亿个名字》,杰克卡希尔的《教皇与银行家》,鲁奇尔夏尔马的《一炮走红的国家》,顾森的《思考的乐趣:Matrix67数学笔记》,特纳西尔弗的《信号与噪声》,Peter HarringTon的《机器学习实战》,Haralambos的《智能Web算法》

                    

ODPS团队在招人:阿里大脑-智能数据平台项目

  ODPS团队在招人,我们要做一件大事:阿里大脑-智能数据平台项目,下面是项目和职位介绍。大家给我的微博 @还是地雷 私信联系。

  随着PC和移动互联网成为人们的生活方式,搜索、推荐、广告、和社交网络正在迅速融合,新的商业模式层出不穷,数据和流量已出现超过人们想像地爆发增长,我们已经彻底告别数据不足的时代;随着大型分布式数据处理平台在规模、可用性、和安全领域的技术突破,存储和处理数据的技术已不再是主要瓶颈;在阿里巴巴我们已经面对数据规模超出人类理解极限的局面,我们相信未来一定要依靠更有智能的平台才能理解和利用如此海量海量的数据,我们相信数据是最有价值的资产,未来商业数据的管理和利用一定会出现像今天的银行一样的模式,有一种平台不仅为人们保管数据资产,还能够以类似投资的形式实现数据资产的保值和升值。这是一场影响和改变未来互联网商业模式的深刻变革,阿里数据平台作为阿里数据资产的主要经营者,肩负着推动这场变革的使命,阿里大脑-智能数据平台项目是这场变革的开始。

  这里有世界上最具价值的互联网商业数据,从每天上亿用户在淘宝上的浏览和购物行为,到支付宝的每一笔付款纪录,从商家所有的销售纪录,到快递送货到每个消费者的过程,从PC端到手机端,我们运营着一个每天增量上百TB,数据总量有几百PB的超大型数据仓库。如果你对使用机器学习和人工智能的方法深度挖掘海量数据的价值有兴趣,这里是你最好的选择。

  这里拥有世界级的大规模计算平台和数据平台技术,完全自主研发的飞天大型分布式系统和数据处理平台,多个5000台规模集群每天运行着大量生产任务,从大型互联网数仓到BI分析和决策支持,从信用评估到无担保贷款风险控制,从国内互联网最大的广告业务,到每天几十亿流量的搜索和推荐相关性分析,阿里数据平台为所有这些业务提供基础平台和核心算法。如果你对开发新一代分布式数据分析技术和机器学习算法有兴趣,这里是你最好的选择。

  这里有一批充满梦想又脚踏实地的天才工程师,在大规模分布式数据平台领域,我们用了5年的时间走过了业界领导者8-10年的技术发展历程,我们鼓励技术创新,我们支持改变世界的工程构想,我们推崇那些用天才的想法影响和改变中国互联网主流业务的工程师。如果你热爱代码又有难以抑制好奇心想了解机器里面的每一个细节,如果你是一个充满梦想又热衷动手实践的工程师,这里有一个硕大无比的复杂机器,等着你来优化、改进、甚至重新设计。

  阿里大脑-智能数据平台项目正在打造一个拥有10万台服务器规模的智能数据平台,通过大规模分布式计算、Deep Learning等先进机器学习算法、和云计算开放平台等技术,理解和挖掘海量数据中的商业价值,通过精准营销和全面个性化,服务广大中小互联网企业。阿里大脑项目期待你的加入!

  我们不能承诺这里有世界上最丰厚的收入,我们不能承诺这里不用加班有完美的工作生活平衡,我们不能承诺这里能够实现一个企业家的辉煌与荣耀,我们唯一能够承诺的是:在这里你能够实现你一生最辉煌的技术成就!这里是培养像Jeff Dean和Sanjay Ghemawat这样伟大工程师的摇篮,对这点我们充满信心!

分布式系统研发工程师
  1. 拥有C++大型系统开发经验
  2. 在以下领域之一有大型生产系统研发经验
    - 大型分布式系统开发
    - 大流量和高性能在线服务设计和性能调优领域有实践经验
    - 大型搜索相关性、广告投放、推荐引擎的研发
  3. 在大型线上系统的部署、诊断(Debug)、和算法优化等方面有实际工程经验
  4. 在Linux kernel和网络领域有实践经验的候选人优先考虑

分布式机器学习算法工程师
  1. 拥有C++大型系统开发经验
  2. 在以下领域之一有大型生产系统研发经验
    - 机器学习算法的实现
    - 图像处理和语音识别算法设计和引擎实现
    - 大型搜索相关性、广告投放、推荐引擎的研发
  3. 在大型线上系统的部署、诊断(Debug)、和算法优化等方面有实际工程经验
  4. 在大规模Deep Learning模型训练领域有经验的候选人优先考虑

  大家给我的微博 @还是地雷 私信联系,或者把简历发到:“leheng 点 wang 爱特 alibaba-inc 点 com”。

开发者大会现场印象:5K、华大基因和AmyPI

  上周跑到杭州出差,主要是参加阿里云开发者大会。ODPS临近对外开放,所以想了解一下生态环境。好玩的东西很多,先写两个:

5K集群和华大基因

  2013年8月,阿里云的飞天分布式平台成功实现单集群5000台、同时ODPS实现了多集群跨机房计算。国际上仅有Google、Facebook在内的屈指可数的几家公司拥有这样的技术!而5000节点单集群拥有的计算规模无疑是惊人的:

  · 10万核的计算能力
  · 100PB存储空间
  · 可处理15万并发任务数
  · 可承载亿级别文件数目
  · 100TB 排序30分钟完成,是现有世界纪录的两倍以上

  9月,阿里云把其中一个5K集群拿出来,搞了一次开发者ODPS体验。这是全球范围内第一次把如此强大的计算能力以公共服务方式分享给开发者。 参加的团队基于ODPS和5K集群都做出了很多有趣的成果。例如CSDN利用5K集群对人群标签进行数据挖掘。

  而我最感兴趣的是华大基因在生物信息领域的开发工作。华大研究院的牛人们ODPS上实现了两个大规模的算法。其中一个是MapReduce的,另外一个短基因拼接图算法使用到了ODPS Graph Task编程接口(类似Google Pregel的BSP编程模型)。两个算法都取得了非常好的效果。这次大会华大基因的同学们做了报告,台下一片膜拜。他们也因为这次的工作,获得了5k体验的最佳工作奖。

  这次会上见到华大基因的陈钢博士真人,聊了不少。希望有机会业务合作。

  顺便提一下,自从华大基因收购了CG,美国的竞争对手就开始恐惧。如果明年华大上市成功,这个领域就会热起来,像当年的新浪。华大加油!

AmyPI

  这次开发者大赛前20的产品有专门的展台,我跑去逛了一圈,很多东西都很有趣。其中“AmyPI市场”引起了我的兴趣,这是一个帮助云服务管理API架构,并提供计量计费服务的独特产品。这种有深度的东西出来了,说明阿里云的生态系统真的建立起来了。我就和展台上的负责人聊了一段。

  说起来还挺有趣,我第一次和AmyPI负责人聊,忘记交换名片了。后来又路过他们展台,就把自己的名片递过去。当时看那位负责人在忙着和别人交流,就没打搅他。

  过一会儿他打电话找到我,问有什么事,我很奇怪,“我们刚才聊了好久,你不记得了?”

  人家笑了,“你一定是和我弟弟聊的……”

  汗,原来是双胞胎一起创业,真的分不出来谁是谁。

  最终AmyPI得到了云峰奖,银杏谷资本还现场签约投资他们,恭喜恭喜!希望这个产品能不断发展。希望出现更多AmyPI这种有技术含量的、专注而深入的专业级服务。

产品经理感悟

  我一本正经教训过别人如何当产品经理,其实自己也入行没多久。这个夏天有些进展,邮件报捷各路老大回复鼓励。自己却一度纠结困扰:领导力、产品设计、执行……都抓不住方向。

  tiny4cocoa论坛有个帖子这么说:“几乎所有研发团队的技术都听命于技术经理,并且尊称老大,没人会去听命于产品经理的。产品经理虽然挂着一个经理的头衔,但是却没有实权。在天朝,大部分产品经理所作的工作就是把老板的想法产品化,而不是自己设计产品”。写得挺好,要警醒,不要仅仅成为监军。

  看到一个国外电视节目叫Design Superheros,镜头跟着专业设计师从头构思一间咖啡馆、书店或者服装店的每个细节。挺有意思。各个行业其实都有类似“产品经理”的角色。例如二战之前的美国报纸行业的鼎盛时代,各大著名报刊一般都有几个坚持自己品味的传奇性编辑,这些人甚至会跑去修改登在报纸最后一版上的广告和寻人启事的文辞和标点,以便“与其他版面的文字品质一致”。我做了十多年软件开发,总是有意无意把设计仅仅当成了一门技术,只要按某种流程依次按电钮就能得到满意结果。现在才意识到,做好产品的关键是思考人会怎么用它,这需要感悟,即使是我们这种只有API和SDK的平台型产品。

  老大点拨说我太执着于拉更多的业务上来。他还说很多人把所谓“创业精神”当作思维懒惰的借口。没多久coolshell.cn里就发表了一篇博客,摘录了《Rework》的一段话:“他们花大把大把的时间去解决问题,他们以为能靠蛮力来弥补思维上的惰性,其结果就是折腾出一堆粗糙无用的解决方案”。反省:首要目标应该是做出好平台。于是开始花很多时间动脑子,煎熬了一个多月。有一次周六,我在客厅里瞪着天花板呆了一夜,直到周日早上5点外头蒙蒙亮。系统独立思考好难。

  当然除了推演和品位,还有很多工具可以辅助梳理用户的使用场景,例如用户反馈调研和数据分析。有幸参加新浪微博的一次用户访谈,调研内容是针对新推出的某个收费功能。调研员是中科院心理所毕业的美女。细节值得回味。新浪的同学没解释产品设计思路和调研目的,回来搜索了一下,又想了想。意识到这次重点不是为了收集新需求,而是为了验证产品设计。还按照老大的建议,扎到数据仓库里写了一大堆SQL去分析系统日志。实际情况往往和“我以为”有好大差距。挖出了数据,再给典型用户打电话,他们惊讶:“这你都知道……”

  最晕的时候请xc吃饭,说来说去,出问题的根源,不是背景能力,不是做事方法,不是人际关系,而是无法“入戏”。就去找zn老大,主动承担了对外有关的产品功能规划。起初各种开会。记得有个高端复杂的功能需求,花了大家很多精力,最后成果是:把这个需求砍掉,客户和我们暂时啥都不做。以前在哪里看过一句话说:给产品经理打分,不必看他引入了哪些新功能,而是要数数他砍掉了几个需求。如果这句话是真的,那我又加一分。后来又开始一个类一个类梳理ODPS SDK。平台发布出去的接口就像嫁出去的闺女、泼出去的水,再想重构不向前兼容就很难了。花了很多精力讨论、文档、编码。前两天有测试同学在reviewboard吐槽,说leheng是pd没资格审核ship别人的代码。俺只好上去解释:客户端的这个模块很多代码都是俺写的。测试同学回复:“算我没说,leheng牛的”……快乐指数稳步上升,开始“入戏”

  刚写好一份比较像样的产品规格说明,心情很好。看样子这次算挺过来了。旁人看来波澜不惊,自己的感受却很像pFind第一次被客户现场实用那回一样

Google为何进军生化领域?也许是因为老板要离婚。

  TIME报道:Google投资成立了一家名叫Calico的生物技术公司。Apple董事长Arthur Levinson也参与投资而且担任CEO。Arthur Levinson自己是生化专业的博士,也是Genentech的董事长。没透露太多细节,但是新公司的愿景听起来口气很大。

  从2005年起就一直在猜测,Google什么时候会大规模进军生化领域。最近的一次消息是DNAnexus在2011年获得Google Ventures投资。Google还将利用自身的IAAS对DNAnexus提供技术支持。因为预算吃紧美国政府关闭了NCBI,所以DNAnexus的DNA数据云服务有望成为生化科研的公共数据基础。

  Google为什么对生化领域有浓厚兴趣?Google两个创始人Sergey Brin和Larry Page都娶了生物信息专业美女。Larry Page患有罕见的神经系统疾病,阻碍声带的动作,无法在公众场合演讲。另外Larry Page还患有桥本氏甲状腺炎。而Sergey Brin的妻子Anne Wojcicki创立了著名的基因技术公司23andMe(也被Google投资)。前些年Sergey Brin尝试23andMe的DNA测序服务,发现自己患上帕金森症的概率很高。

  八卦一点:最近Sergey Brin在闹离婚(新闻炒得很热,原安卓系统的负责人Hugo Barra被Sergey Brin抢走了女友,怒而投奔雷军的小米),Anne Wojcicki和Sergey Brin已经分居。所以我猜,23andMe指望不上了,那就索性自己投资一家。

  至于国内互联网,腾讯研究院2010年发表过一篇学术论文:How to build a DNA search engine like Google? 还申请了与此相关的专利。2011年公开了实验性的DNA搜索引擎。阿里云和华大基因也有试验性的业务合作。倒是百度没听过这一类消息。

  八卦写完了,稍微说点严肃的。上月美国高等法院裁定基因是“自然造物”,属于不能申请专利之范畴。然而,法院同时认定,cDNA作为细胞基因的人工复制品,可以申请专利。诉讼中的一方是Myriad Genetics公司,分别在1994和1995年为两个乳腺癌突变基因BRCA1/2申请了专利。现在BRCA1/2本身不再受限,但cDNA专利会让其他竞争对手的研究过程异常艰难。

  关于生物信息创业,以前还写过一些业务需求技术特点