写点什么

青云眼中的云计算(一):SDN 这个革命性的东西

2014 年 4 月 22 日

本文根据 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 现场的朋友们可以去找他沟通。

本次采访由杨赛策划。

2014 年 4 月 22 日 00:285565

评论

发布
暂无评论
发现更多内容

【LeetCode】基于时间的键值存储Java题解

HQ数字卡

算法 LeetCode 7月日更

在线脑图思维导图生成工具

入门小站

工具

模块一作业

Always

架构实战营

模块8作业

dwade

#架构实战营

图像的模板匹配,Python OpenCV 取经之旅第 29 天

梦想橡皮擦

7月日更

我赌一包辣条这是全网最详细的代码审计(没有之一)

网络安全学海

黑客 网络安全 信息安全 代码审计 漏洞分析

架构实战营 模块八课后作业

iProcess

架构实战营

从明天起开始认真更新了

IT蜗壳-Tango

7月日更

长文图解:金字塔思维如何指导技术系统优化

JAVA前线

性能优化 金字塔 结构化思维

架构训练营模块 1 作业 - 1班助教

Geek_97d901

我为什么要学习业务建模?

escray

极客时间 学习笔记 7月日更 如何落地业务建模

Javascript 的工作原理:引擎、运行时和调用堆栈概述

devpoint

JavaScript V8 7月日更

京东智造云:在世界人工智能大会上,听到的工业智能生长的声音

脑极体

TEMS模型--衡量你的人生资源

俞凡

认知

Ta想做一粒智慧的种子

白洞计划

公司内部使用的数仓开发规范

白程序员的自习室

数据仓库 开发规范 数仓规范 7月日更

网络攻防学习笔记 Day70

穿过生命散发芬芳

网络攻防 7月日更

PowerShell 正则表达式

耳东

PowerShell 7月日更

直接上干货!这些细节在Android面试上要注意了

欢喜学安卓

android 程序员 面试 移动开发

图解DDD建模六个问题与六个步骤

JAVA前线

Java 领域驱动设计 DDD

ACM金牌选手整理的【LeetCode刷题顺序】

编程熊

Java 面试 算法 面经 笔试

暑假期间快手将重点整治平台:短视频平台如何完善内容审核机制

石头IT视角

Kats-Facebook最新开源的时序分析工具

好孩子

只更新代码,然后发布版本:基于 Serverless Devs 原子化操作阿里云函数计算

Serverless Devs

记录一次Neokylin_Server_V5系统已有分区的扩容操作

星河寒水

分区扩容

正式加入字节跳动!如何才能更容易拿到大厂Offer

欢喜学安卓

android 程序员 面试 移动开发

模块一作业

架构0期-Bingo

Linux之find命令的参数详解

入门小站

Linux

密码你真的了解吗

卢卡多多

7月日更

推荐系统的未来发展(三十三)

数据与智能

价值观 推荐系统

全面了解Java并发编程基础!超详细!

程序员的时光

Java 并发编程

低代码的认知误区与落地实践

低代码的认知误区与落地实践

青云眼中的云计算(一):SDN这个革命性的东西-InfoQ