本文根据 InfoQ 中文站跟青云(QingCloud)创始人黄允松(Richard Huang)的沟通整理而成。
Richard 是位 70 后,2003 年加入 IBM 实验室,因公司安排及自我兴趣先后参加过 Eclipse、Hadoop、KVM 等多项开源项目。2009 年投身云计算,为 IBM SmartCloud 初创组成员及架构师。2012 年,离开 IBM,跟几位同伴创业,做了 QingCloud(青云)。
青云在 2013 年 7 月 12 日正式上线后逐渐引起了小范围的关注,同样在 IBM 工作过、现在为 Windows Azure 工作的 ShaunFang 在其 2013 年 9 月的一篇评测文章中评价道:
“说起青云,很多人可能没听说过,不过,一年之内这个名字必然成为国内云计算热点。”
文中提到青云的两点神奇之处,“可以秒杀国内所有的IaaS 提供商”:其一是秒级部署,其二是完善的虚拟网络和VPN。QingCloud 上线以来,Richard 应邀对外做了三场技术分享,话题全部都是SDN。按他的话说,IaaS 层有50% 的工作都在网络,30% 在存储,只有20% 在虚拟化,所以说网络是重中之重。
本文主要分享Richard 对网络的观点。
AWS 与 SDN
VPC(virtual private cloud)是 AWS 最重要的功能,开放于 2009 年,应该起步于 2008 或 2007 年。这个功能不是以 SDN 的方式来做的,因为那时还没有 SDN,只能走传统路线,这使得 AWS 无法像 GCE 或者 QingCloud 这样打从一开始就把 SDN 网络作为整体融进去。GCE 宣布 GA 之后,有不少人写了评测文章,其中有一篇转载率比较高,题目是 Ten features that make GCE better AWS ,列了十个点,其中一点就是 Integrated networking。这个是很重要的,我在 2013 年 3 月 26 日推出 QingCloud 的时候也特别强调这个东西。
OpenFlow 并非 SDN 的等价物
谈到 SDN 无法避开 OpenFlow,但其实 OpenFlow 只是个控制协议,并非 SDN 的等价物,关键是它背后的一个很重要的理念:将控制和转发分离。这意味着所有的盒子只有一个功能:转发。包从一个口进去,经过一番处理,从另一个口出去。以前这个处理过程与逻辑,是被网络设备厂商固化在盒子里的,现在人们不这么做了,把这个控制拿出来,那就有很多种做法了:可以放在服务器上,可以放在 VM 里,当然也可以做一个专用的新盒子。一下子变得自由了,这是很棒的事情。用 VM 相比用物理设备有一个很大的好处,就是不用怕它坏了,因为坏了之后你可以立刻获得一个新的控制节点。OpenFlow 用来解决控制层面的问题,用一个统一的协议,大家说一种语言,这样可以跨越各种厂商的设备。当然,也有其他选择,比如 OpenDayLight,未来应该还会有更多。
用户层 SDN:复杂与简单的平衡
在青云中 SDN 实际上有两层:一个是物理层网络如何管理,另一个是用户层网络如何管理与使用。
现在大家谈论的比较多的是我们用户层网络。因为这是看得见摸得着的:拿着鼠标在 WEB 界面上进行简单的操作,交换,路由,各种网络拓扑,安全防护,线缆连接,隧道、VPN 等高级功能都能完成,而且时间非常短,基本上都是几秒钟。如果你会写一些脚本程序,比如 bash、Python 或 Ruby,调用 QingCloud APIs,省去了鼠标操作的时间,那基本上就是一瞬间的事情。深入做过网络工程的人会很喜欢这一点,因为是如此简单和好用。正因为我自己有一些不愉快的使用网络的经验,所以我在设计用户层网络时特别强调友好与简单。我们让用户可以就关心两个设备:二层设备(交换机),三层设备(路由),至于配置及其他组件,都尽量做了默认处理。当然,复杂与简单是一个动态平衡,为了支持复杂的需求,比如本身就是从事 SDN 网络方向研发者,青云在用户层网络还特别提供了自管网络(Unmanaged Network),以满足这些复杂的需求。
物理层 SDN:成熟稳定是关键
在用户层网络,我们主要解决的是被虚拟化之后的网络怎么管理、网络与用户交互。往下走一层就是物理设备要怎么管理的问题。物理设备方面,可以选用近年来兴起的 SDN 交换机,也可以不用,这取决于你自己对物理层的设计。我们现在是一半一半,两者都有。毫无疑问,从事新兴行业我们需要求新,这样才对前辈有后发优势,但也不能一味求新,因为稳定性是商业服务的第一指标,尤其对网络而言,稳定可靠尤其重要。以新晋者 OpenFlow 为例,前程远大,但还年轻,需要时间来磨合、实验,所以我们取其部分、也舍其部分,在发展中不断根据技术的变化而调整青云的实现。
2014 年 QingCloud 物理网络层面会有不少演进,我们不会发明新的轮子,会支持业界的新技术规范,但我们至少要等待两点:
1、新技术真的靠谱,尤其是跨越广域网统筹全局时。现在我们仅在北京有一个部署,PEK1 集群;但是很快,2014 年 4 月初,将会在广东有一个非常大的部署,GD1 集群(编辑注:本采访完成于 2014 年年初,这里所提到的广东节点部署目前已经上线);接下来在香港、美西也会有大的部署等。当大规模跨地域部署之后,网络将成为最大的挑战。怎么把这些网络都很平滑、低成本、可靠地统筹在一起?所以类似 OpenFlow 这样的新技术需要足够靠谱。
2、新型(比如支持 OpenFlow 1.3 或更高)高速(至少万兆)交换机的成熟与稳定。因为无论形式如何变化,硬件设备还是最底层的支撑者,它们必须是可靠的才行,这一点在网络设备层面尤其重要。QingCloud 会同时关注品牌设备商与新近发展不错的白牌机厂商,选择最合适的。
SDN 的这两个层面——物理层和用户层,对 QingCloud 而言都很重要。我们需要在 2014 年继续发展网络部分,使我们的系统能跨越广域网无限趋近 100% 的弹性。SDN 是如此的重要,建构安全的网络、确保隔离、降低成本,它是取信于企业客户的第一块敲门砖。
下一部分的采访内容有关存储以及测试、运维方面的观点,敬请期待。Richard Huang 在 2014 年的 QCon 北京大会上将会有一场有关混合云的分享,在 QCon 现场的朋友们可以去找他沟通。
本次采访由杨赛策划。
评论