云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado
提到 Martin Casado,人们往往尊称其为软件定义网络之父,当然除此之外,Martin Casado 的头上还围绕着诸如,硅谷最炙手可热的“40 under 40”之一,OpenFlow 的发明人,Nicira 的创始人等一系列光环。毫无疑问,达成其中的任何一个成就足以载入史册,但 Martin Casado 所做的远远不止这些,这其中不太为人所知的是,Martin Casado 作为程序员发起并提交了虚拟交换机 Open VSwitch 的第一个 Commit,而这个 Commit 也奠定了多年以后开源云计算平台中最受欢迎而且也是部署最为广泛的开源虚拟交换机 Open VSwitch。
OpenFlow 与软件定义网络
起源于 60 年代的网络技术随着计算机工业的高速发展也在不断完善,伴随人类信息技术产业进化到云计算时代,面对数以十亿记用户规模的平台不断涌现,人类建立起遍布全 球的超大规模的数据中心来应对这一挑战,但是原本以“人”为控制核心的网络基础架构层已经远远无法适应这一要求,其背后体现的是,在宏观上,基础网络架构 进化推进缓慢,在微观上,硬件厂商在涉及数据转发与控制层面上创新乏力,网络硬件厂商要么安于现状,要么因为商业利益所困无法凝聚业界从而无法发起和推动 创新,但市场永远不会等人,当工业界裹足不前的时候,富含创新土壤的学界当仁不让的肩负起了这一角色,而其中的佼佼者就是斯坦福大学,以 Martin Casado 和他的老师 Nick McKeown 为首的研究团队发起并推动了著名的控制与转发分离的网络部署模型和关键协议 OpenFlow,正式宣告软件定义网络的诞生。
x86,硬件的可编程与虚拟交换机
网络设备一直是一个较为封闭的领域,一方面是网络硬件设备制造商为了成本等因素不提供对硬件进行重新编程的能力,另一方面是核心 ASIC 芯片从设计、定型到市场推广所需的超长周期使得芯片制造商不愿意对新协议和标准轻易试水这一现实考量,缺乏硬件的可编程特性,毫无疑问,软件定义网络将会 丧失其最重要的特性,面对这一两难选择,Martin Casado 认为,基于 x86 的虚拟交换机将会弥补传统硬件交换机转发面灵活性不足这一短板,毫无疑问,这一观点存在巨大争议,尤其在传统硬件厂商看来无疑于痴人说梦,但是在支持者看 来,这一方案简直是水到渠成、自然而然的事情,有开源文化和 Linux OS 这些利器做后盾,基于 x86 和 Linux 的网络开源软件栈如雨后春笋般涌现出来,这一切都为虚拟交换机的提出打下了坚实基础,但是这一方案还缺乏一个强有力的支撑点来使这一切真正的顺理成章。
网络虚拟化,云计算皇冠上的明珠
进入二十一世纪,随着 x86 体系架构逐步统治了数据中心,以 Intel VT-x 和 AMD-V 为核心的服务器虚拟化技术获得了突飞猛进的发展,有可能是人类历史上最伟大的商业和技术创新的云计算终于登上了历史舞台,并迅速被这个星球上所有的信息技 术巨头青睐,且不约而同都将云计算视作其通往成功的关键战略。但是,只有服务器虚拟化远远不够,云计算的隔离性、弹性、动态迁移等特性都需要网络架构的紧 密支持,而且与主流服务器虚拟化普遍采用的分时复用模式不同,网络虚拟化的可选方案更多,但主要以逻辑“分层”来提供物理网络的复用与隔离,而且,与 x86 的寡头竞争格局不同,网络领域的玩家更多,标准化组织林立,想要凭借一己之力快速建立事实标准几乎是一件不可能完成的任务,即使对巨头 Cisco 来说也是如此,此外,网络虚拟化迫切需要解决从 NIC 到虚机的“最后一公里”问题,而且这一延伸也意味着控制权从硬件转移到了软件,管理方式由手动转变为自动,这一切都为基于 x86 的虚拟交换机的提出铺平了道路。2007 年 8 月的某一天,Martin Casado 提交了第一个开源虚拟机的 commit,这个开源虚拟交换机在 2009 年五月份正式称之为 Open VSwitch,并于 2012 年 3 月(内核模块)正式进入 Linux 内核主干。技术标准难以统一和利益冲突促使各个厂商分别推出了自己的虚拟交换机,例如 Cisco 的 Nexus 1000V、VMware 的 vDS 以及 IBM 的 DOVE 等产品,与此同时,开源体系中的 Linux Bridge 还不能完全称之为虚拟交换机,而且不支持 OpenFlow 以及其它相关协议,这一现状使得 Open Vswitch 一经推出就获取了高度关注,尤其是在内核部分合并进入 Linux 主干之后,Open Vswitch 几乎成为了开源虚拟交换机的事实标准。
No silver bullet
人类信息科技史上不止一次出现过颠覆性的技术,使得人们认为可以一劳永逸的解决某些领域的问题而不会带来其它新问题,例如面向对象,SOA 等等,但遗憾是,一次又一次人类认识到完美的技术是不存在的,但也决不能因此就否认这些技术的颠覆性特征,纯粹基于 x86 的虚拟交换机的方案一经推出就站在了风口浪尖上,网络硬件厂商一方面不约而同的不看好,另一方面纷纷收购初创公司来应对这一挑战,而且这一次,丝毫不出所 料,“性能”又被(硬件厂商)当成武器,使我们不仅想到蒸汽机刚刚被发明的时候也被指责装备蒸汽机的火车跑的还没有马快。性能固然非常重要,但显然还不是 最重要的,人类已经为这一点吃尽了苦头,最近的一次是史上最严重的安全事件 Heart Bleeding,造成了几十亿美元的损失,要知道在七十年代末和八十年代初,早期的处理器中是存在类似 INTO 和 BOUND 这样的专门为安全设计的处理器指令的,但这些指令会在一定程度上影响性能,而当时人们对性能的关注远高于安全,用 Avi Kivity 的话说就是,”性能是可以度量的,而安全则不能“。虽说信息产业领域普遍缺乏远见,但是也不乏先知先觉者,2014 年 3 月 Google 在 ONS 大会上披露了 Google 的新一代基于 SDN 的网络虚拟化方案仙女座(Andromeda),以其 Logical Centralized 架构特点和低延时和高吞吐的性能又一次深深震撼了业界。
Say it with me, I don’t know
不出所料,Martin Casado 最经常被问到的一个问题就是,“SDN 到底是什么”,而他的回答总是那么的直截了当,“我不知道”,Martin Casado 坦言,在软件定义网络刚刚被提出的时候,是非常清晰并易于理解的,但是现在,几乎所有网络中“有趣”的东西都被贴上软件定义网络的标签。一方面,这种局面 体现了软件定义网络是多么的深入人心,另一方面,也说明业界仍然缺乏统一,尤其是网络巨头 Cisco 刚刚推出了自己的“SDN”方案 ACI 架构并强推 OpFlex 标准,来继续巩固其在云计算数据中心网络设备的霸主地位,普遍认为,就像蓝色巨人无法抗拒 x86 对于小型机的侵蚀一样,网络巨头 Cisco 也将会在交换机和路由器上重蹈覆辙。
软件定义一切
Jobs 说过,自信来自于自律,因此他每天四点钟起床,七点钟之前就处理完了一天的邮件。但是对于当时默默无闻的 Martin Casado 来说,自律远远不够,因为直到今天软件定义网络对很多人来说依然是一个大胆又疯狂的念头,更别说在云计算才刚刚萌芽的当时,自律显然无法让 Martin Casado 自信,Martin Casado 需要的是对信息技术、软件、硬件、网络等诸多领域真正的深刻洞察与非凡远见,软件定义网络毫无疑问是人类未来信息技术宏伟蓝图中的一块关键拼图。Mark Andreessen 凭借软件将会吞噬整个世界为未来指明了方向,而 Martin Casado 则凭借软件定义网络为其给出了具体路线图。
整个信息技术产业发展史就是一部”垄断与反垄断”、”颠覆与反颠覆“的历史,所不同的是,发起方不再仅仅是政府,开源文化的兴起,使得众多草根 创业公司和千千万万普通的 engineer 与 programmer 汇聚成为一股无法忽视的力量站到了这个“舞台”的中央,加入到这场战争中来,他们蔑视保守,封闭,专利,私有,他们崇尚开放,协作,共享,多赢,他们用他 们的价值观来投票,而他们所需要做的仅仅是在某一天坐在电脑跟前,就像那一天 Martin Casado 为 Open Vswitch 提交第一个 commit 一样把自己的想法用代码描述出来,而这个 commit 注定要揭开一个波澜壮阔的软件定义网络时代。