2013年12月11日,UCloud正式宣布已经将盛科的硬件SDN交换机应用在自己的线上公有云环境中。UCloud CEO季昕华在发布会中介绍了SDN在其公有云上满足的七个用户需求,并表示这是世界上第一款SDN硬件交换机在云计算中的应用。
UCloud CEO季昕华在发布会上表示,SDN更多是一种隐藏的特性,不是作为独立的服务提供的。SDN在UCloud中的分为完善现有服务和实现新服务两类:
现有服务的完善,包括自动化、隔离、物理机与虚拟机混合管理方案的智能化、性能提升
基于SDN的特性,达成其VPN产品、安全产品、广播服务、混合云的实现
季昕华详细介绍了这七种应用场景的需求、实现难点,以及SDN是如何解决这些问题的。以下是其演讲内容的重点摘要:
自动化:以前客户生成一个网络或者更改网络,需要提交一个工单,等待时间要2~3个小时。虽然以前可以用CLI包装操作或网络设备管理接口来实现软件控制,但各个公司的接口和API都不一样,功能又很有限,所以一直无法实现完全的自动化。引入了SDN设备之后,现在网络操作也可以完全由用户自己操作了,而且以后迁移的时候可以自动将网络配置也跟计算配置、存储配置一并迁移,方便很多。
隔离:隔离的需求包括不同用户之间的安全隔离,以及同一公司内(尤其是大公司)不同项目组的隔离。隔离的难点在于同一个物理机的VM都在同一个Port。最早我们用iptables(3层)+ebtables(2层)+TC(流量控制以处理流量竞争)实现隔离,但是隔离的不彻底;后来我们引入了Open vSwitch,这种方案简化了iptables/ebtables的规则,功能更多,隔离更安全,但性能问题严重,因为建立tunnel非常耗CPU。硬件SDN交换机引入后,tunnel加封装、解封装都放在TOR交换机上执行,并通过流表预先加、非动态报文学习等方式减少flow学习带来的冲击,性能方面提高了50%以上,而且流量控制也更加精准。现在我们的流表应该是全世界最大的流表。
物理机和虚拟机混合管理:有的时候出于安全或性能的考虑,数据库会放在独立的物理机上跑,所以需要同时管理VM和物理机;但是,物理机和网络在以前都是我们无法控制的,这意味着我们无法对物理机进行自动分配、安装、升级,也无法自动更改包含物理机的网络。有了SDN,就可以把物理机和虚拟机整合成一个网络,自动加载新加入的虚拟机和物理机,同时实现自动化操作。
多播&广播:这个需求主要是游戏行业的,比如游戏中出现一个重大事件(比如很稀有的宝物被打了出来),需要进行全区广播。这个需求的实现难点在于,既要保证账号之间的隔离,又要保证广播送达到所有账号。在引入SDN之前,这个功能是没有的。
VPN:复杂度同上。这也是引入SDN之前没有的功能。
混合云:混合云的难度在于将网络打通的同时保证安全。这项服务在引入SDN之前也是没有的。
安全:安全设备一直是黑盒子,AntiDDoS、IPS、WAF这样的服务要如何引入云平台?我们考虑过把安全设备做成VM提供给客户,但是这样做迁移成本很高,用户操作也不方便,做一下变更还需要停机、插拔之类的。有了SDN,上述的动态流量加减就非常容易做到;不仅如此,当一个VM遭受入侵的时候,我们还可以用VM做一个镜像,可以直接做一个蜜罐用来收集入侵者攻击的证据,非常方便。这些安全服务在引入SDN之前也是没有的。
季昕华的演讲Slides可以在这里下载,里面更详细的介绍了各个服务实现的演进过程,以及相关的架构设计,建议研究SDN的同学们都看一看。