从王博士说起

By , December 25, 2013 9:58 pm

不知道为啥,最近几天频繁看到关于王博士的文章,便有了一些从王博士说起的思绪。认真说来,我与王博士不算熟悉,将来也不会有深入交流的机会。因此,这篇文章与其说是谈王博士,不如说是以王博士为引子谈一谈云计算。

如果Google没有搞错的话,王博士是2008年加盟阿里的。在这之前,我对阿里的唯一印象,却是下面的这一桩小事。

2007年5 月,阿里在杭州举办首届中国网络工程师侠客行大会。一位名为Andy的技术负责人与Sun 公司ISV部门联系,请Sun 公司推荐一位Java领域的讲师。当时我在Sun 公司负责中国地区的开发者社区工作,这个任务几经辗转就落到了我的头上。阿里方面的本意,大概是希望邀请到James Gosling前来参会,但是James Gosling在那个时间段已经有了别的安排。在公司的牛棚里头转了一圈之后,我向阿里推荐了Java EE团队的杰出工程师(Distinguished Engineer)Mark Hapner,阿里方面欣然接受。但是Mark Hapner任职于没有差旅预算的研发团队,因此我向Andy的秘书询问阿里方面是否可以解决Mark Hapner的往返机票和酒店费用。Andy的秘书回答说阿里方面可以安排酒店,但是机票需要Sun 公司先买,然后再向阿里报销。由于不需要Sun 公司支付差旅费用,Mark Hapner就自己刷信用卡买了机票,从三藩飞到杭州做了个讲座,第二天又飞回三藩上班。问题是我向Andy的秘书提起报销Mark Hapner的机票费用时,小姑娘改口说是国际机票太贵只能为演讲者报销一半,剩下的一半需要演讲者自理,以前往返邮件里面的白纸黑字做不得数了。又经过几轮邮件沟通,干脆就再也不回邮件,连说过的一半也没了下文。到了年底,我实在不好意思欠同事的人情,就自掏腰包通过PayPal把机票钱还给了Mark Hapner。

之所以提起这一陈年旧事,只是想帮助各位客官了解一个事实。如今阿里的技术团队声名远扬如日中天,但是在王博士加盟阿里之前,阿里并不是一个尊重技术人才的公司。也正因为如此,没有学过心理学的其他大牛(譬如传说中的陆奇)在阿里根本没有可能谈到预期的薪水。王博士加盟阿里之后,在提高工程师地位和待遇方面做了很多工作。用吴翰清的一句话说,“王博士是唯一一个能把技术讲得连马云都能听懂的人”。平心而论,在提高工程师地位和待遇这个事情上,很多技术VP都做了大量工作。不过,如果不是王博士能够把技术讲得连马云都能听懂,今天的阿里对技术人员的吸引力可能就会大打折扣。所以我建议阿里内部的工程师在批评王博士的时候,可以尝试着用一下“虽然…但是…”这个句式。

据说王博士是打着云计算的旗号混进阿里的。在那个时间点上,“云计算”这个词还没有现在这般炙手可热,并且通常用来指代类似于网格(使用N 台物理机虚拟出一个具有超级计算或者存储能力的系统,用户通过命令行或者Web界面向系统提交计算或者存储任务)而不是类似于AWS(在单台物理机上虚拟出N 台物理机,用户通过命令行、API、或者Web界面获得虚拟机资源)的系统。那时候AWS发布才两年时间,在国内并没有引起很大的反响。国内互联网公司的系统团队更关心的是类似于vCenter的数据中心虚拟化,而不是类似于AWS的自助服务模式(关于数据中心虚拟化和自助服务模式的区别,可以参考我在2012年10月写的一篇博客《虚拟化、云计算、开放源代码及其他》)。在国外,第一个提供类似AWS功能的软件是闭源的Enomaly(2009年7 月),然后是开源的Eucalyptus(2009年11月)。2010年上半年,王博士已经开始试图在阿里内部推广(并且遭到了顽强的抵抗)自己轮出来的后羿(也就是阿里云的前身)了。考虑到产品设计和研发的周期,可以推测出王博士启动后羿项目的时机应该与Enomaly和Eucalyptus差不了多少。那时CloudStack和OpenNebula都还是单纯的数据中心虚拟化管理软件,而现在大名鼎鼎的OpenStack(起始于2010年7 月)还没有生出来。单从这一点来看,王博士不仅不是在重复发明轮子,而是极具远见和魄力了。

我所理解的远见,或者说是方向感,大概就是模模糊糊地看到未来的一个缩影,但是并不清楚要达到那个境界需要经过哪些步骤。我们通常把在企业里面的人分为两类,一类是战略型(或者说务虚型)的,另外一类是战术型(或者说务实型)的。这两类人的共同特征是互相看不起,战略型的人认为战术型的人没见识,战术型的人觉得战略型的人瞎扯淡。对于中小型公司来说,战略型的人太多通常意味着一场灾难。对于大型公司来说,战略型的人则是一把双刃剑 - 他有可能把公司给带到沟里,也有可能让公司实现第二次腾飞。王博士应该是一种典型的战略型人才,他早早地看到了云计算在未来的重要性,并且预见到要把远景变成现实道阻且长。吴翰清在博客里说:“我最佩服王博士的是无论他被外面的人、下面的人、其他BU的老大们骂的有多惨,鄙视的有多厉害,他总能不露声色,该做什么就做什么,和我们聊天时还能跟没事的人一样。”这样的人,才真真是能够做大事的人。

但是光靠王博士一个战略型人才绝对是做不成云计算的。王博士开始疯狂地在阿里内部挖人,一直挖到兄弟部门怨声载道,然后又“不设上限”地从外头招人。我同意王博士一开始不应该招那么多微软的人这样的看法,因为微软已经是一家美人迟暮型公司,培养出来的人大都是战略型人才,和王博士是同一类型但是水平又远远没有王博士那么高。从Google挖人的愿景很美好但是可行性较低,因为当时市场的薪资水平是微软小于阿里小于Google,并且进得去Google的人看得起土豪的也不多。(插播一下广告:章文嵩在2009年9 月加盟淘宝,只能够说是阿里捡到宝了。)在这样的背景下,王博士早期的团队缺乏高端的战术型人才,走一些弯路也在所难免。但是到了今年,王博士早期的一些努力开始取得了初步的效果。其中一例,是去IOE的巨大成功;另外一例,则是聚石塔在今年的双11中大显身手。这两个例子,其实都可以归结为云计算理念的成功。王博士从今年9 月起不再担任阿里云总裁一职,未来专注于CTO一职。不过,如果现在就试图去评价王博士对阿里云所起的作用的话,我个人觉得还是为时过早了。

目前我们所说的云计算,基本上就是以虚拟机的形式提供计算资源,谁需要计算资源的时候就买一个,不再需要的时候就把它杀掉。按需获取,按量计费,节能减排,自主可控,安全高效,这些词语市场和销售人员都背的滚瓜烂熟,熟得让人不敢相信这有可能是真的。但是我不仅认为这些口号都是真的,并且相信云计算的未来远远不止于此。我在《虚拟化、云计算、开放源代码及其他》这篇博客里面提到了英国经济学家威廉杰文斯(Willian Jevons,1835-1882)在《煤矿问题》(The Coal Question)一书中指出的一个似乎自相矛盾的现象:蒸汽机效率方面的进步提高了煤的能源转换率,能源转换率的提高导致了能源价格降低,能源价格的降低又进一步导致了煤消费量的增加。这种现象称为杰文斯悖论,其核心思想是资源利用率的提高导致价格降低,最终会增加资源的使用量。在过去150年当中,杰文斯悖论在主要的工业原料、交通、能源、食品工业等多个领域都得到了实证。我在这篇博客里面又进一步断言:“公共云计算服务的核心价值,是将服务器、存储、网络等等硬件设备从自行采购的固定资产变成了按量计费的公共资源。虚拟化技术提高了计算资源的利用率,导致了计算资源价格的降低,最终会增加计算资源的使用量。”。

如果说云计算使得用户可以象用电用水一样使用计算资源,那么最终会达到什么效果呢?看一看我们平时用电用水的情况,哪些属于刚性(必不可少的)需求,哪些属于柔性(可有可无的)需求。很快你就会发现我们大部分的消费,其实应该归类到柔性需求里面去。我们在房间里装个漂亮的壁灯,不见得是因为没有它就看不见路,而是因为点亮了之后我们变得心情愉快了。我们到游泳池去游泳,不见的是因为家里实在没有地方洗澡。但是,你看看我们现在的云计算用户。他们之所以使用云计算,是因为他们必须使用计算资源去做一些他们认为很重要的事情,他们不是仅仅想要高兴一下就刷卡去买你的云主机。要想让云计算象用电用水一样,至少需要两个前提条件:一是简单,二是便宜。 我想在书桌上加一盏台灯,不需要单独跑到供电公司去签一个合同。我在你这里买一个虚拟机,为什么需要我单独下一个订单呢?我买的台灯想什么时候拆掉就什么时候拆掉,我买的虚拟机你为什么要按天、按星期、甚至是按月计费呢?很多做IDC出身的人会跟你扯什么合同,什么协议,什么ITIL,什么ETOM,你们家换个灯泡还要先跑去供电公司签个合同吗?

所以说,云计算是一场革命。这场革命既是服务提供商的,也是云资源用户的。对于服务提供商来讲,云计算不仅仅是将物理机换成虚拟机,更重要的是提供服务的方式和对服务计费的方式。对于云资源用户来说,要理解虚拟机已经不是传统意义上的服务器,并且学会如何去使用这一新形式的计算资源。想象一下这个场景吧:某个物理系的学生想要验证一下关于宇宙起源的一个新想法,他随手登录进入某某云创建了1000台虚拟机,用了半个小时之后又随手杀掉所有的虚拟机。等什么时候人们不仅仅是因为刚性需求 - 而是因为柔性需求 - 而使用云计算的时候,云计算才能说是真的取得了成功。

所以我说,云计算是一个刚刚显现的蓝海。现在国内各家做公有云的公司杀得你死我活,看起来似乎已经是一片血海。在我看来,这些不过都是假象。现在如果阿里不往这个方向去努力,那才是真的错过了时机。

另:本来还想再写一些关于阿里云的具体的意见,但是考虑到这篇博客本来就是务虚,如果硬要加入一些务实的内容的话,反而不美。

又另:写这篇博客,绝没有在阿里谋求任何职位的意愿。作为一个半路出家的程序员,我深感自己在CS领域的先天不足已经阻碍了我在这个领域的继续发展。因此,过完年之后我就要暂时离开中国,到悉尼大学攻读第二个硕士学位,为期两年。我在悉尼大学的导师是IEEE Fellow Albert Zomaya教授,我的研究内容包括开源社区、云计算经济、云服务可靠度等等内容。

Security – The #1 Concern Behind Amazon Prime Air

By , December 3, 2013 10:28 pm

prime-air_high-resolution02-660x340

I read, with great interest, all the media reports and commentaries regarding Amazon’s ambitious plan to deliver packages with unmanned aviation vehicles (UAV). In the early days of my career, I was exposed to some of the core UAV technologies such as IMU (inertial measurement unit), autonomous guidance and navigation,  as well as collision avoidance. I have also the experience of building my own UAV with Sun SPOT – an embedded wireless sensor network (WSN) platform developed by Sun Microsystems five years ago – as the central control unit and FreeWave TDMA modem as the datalink. With all the advancements in WSN, IOT and UAV, I tend to believe that the technology to fly the package to the customer’s back yard has already been there, or needs only very little ruggedization and refinement.

In my point of view, the biggest challenge behind Amazon Prime Air is to ensure the security of the UAV itself, which can be further categorized as anti-hijacking and collision avoidance.

Hijacking a UAV might sound impossible at a first glance, but was done at least once. On December 4 2011, an American Lockheed Martin RQ-170 UAV, operated by the Central Intelligence Agency, was hijacked and brought down by an Iranian cyber warfare unit. I am not an expert on hijacking UAV’s but I can can think of at least the following approaches:

  • Datalink Repression – It is almost certain that the UAV has been designed with the ability to accept and execute navigation and control commands on the fly. In this case, commercial carrier networks (such as AT&T, T-Mobile) seem to be the most convenient (and economically feasible) way to provide the datalink between Amazon and the UAV. In other words, the network being used to transmit guidance, navigation and control (GNC) commands for the UAV’s might be the very same network on which people surf the Internet, which is vulnerable to hacker sniffing and attacks. For example, radio repression technologies might be used to cut off the connection between the UAV and the command center, which can pave the road for further malicious attacks.
  • GNC Injection – Assuming that a malicious group had access to some UAV’s (with brute force such as gun shots), it might not be long for them to reverse engineer the UAV to unveil the underlying GNC protocol. All in a sudden, the whole Amazon fleet is under the control of one (or even more then one) malicious group lurking somewhere waiting for a perfect timing to change the course of the UAV’s via GNC injection. Can’t believe this? UAV’s are computers too, and are vulnerable to virus and human attacks. Remember, NSA infected 50,000 computer networks with malicious software, and so can other malicious groups.
  • Location Spoofing – The Amazon UAV’s might be using GPS as the primary positioning technique, and each UAV might have a built-in GPS coordinate as its home address. In this case, GPS spoofing might be employed to make the UAV believed that it has arrived at the desired location, and landed in the hands of a malicious group. Therefore, additional technologies such as IMU or WSN should be employed to improve the credibility of the sensed / calculated position of the UAV’s.

Collision might not be a problem if Amazon was the only business to obtain a license to operate UAV’s for civilian applications. This is very unlikely because FedEx had already expressed similar interests, and there are already a wide range of UAV applications waiting for the approval of FAA. When the number of UAV’s increases, the possibility of UAV collision also increases.

For commercial airlines, they fly on pre-designated air ways with pre-determined schedules. There is a global effort trying to keep track of all the airplanes, and prevent them from crashing into each other. On June 30, 1956 two airplanes collided over Grand Canyon with over 100 fatalities. A Wikipedia page on mid-air collision lists 48 civilian mid-air collisions during 1922~2012, with a total number of 2884 fatalities.

For civilian UAV’s, the air way network will be a lot more complicated as compared to the commercial airline network. Each and every home address now becomes a potential “airport”, and each UAV flight has a unique destination which can’t be planned months ahead. New routing algorithms, as well as collision avoidance protocols, will be needed to facilitate these UAV flights.

Panorama Theme by Themocracy