云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado
【编者按】在一次采访中,Martin Casado说:“虚拟化具有一种魔力,它碰到谁就改变谁,过去它改变了内存、改变了计算、改变了存储,现在它也会改变网络”。Martin Casado是网络虚拟化真正的先锋人物,他是在网络虚拟化颇负盛名的Nicira公司的创始人,还是OpenFlow的发明人,2012年随着VMware收购Nicira而成为VMware网络系统总设计师。今天我们给大家介绍的云计算背后的天才程序员是Martin Casado,本文来自OpenStack中国社区。
提到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注定要揭开一个波澜壮阔的软件定义网络时代。
本文来自OpenStack中国社区,点击“阅读原文”可查看全文并参与讨论。