作者:李丽 来源:计算机世界
SDN好,但是如何落地?这是摆在众多企业面前的现实问题。青云QingCloud是第一个让SDN在公有云上落地的云服务商。从1.0到今天的3.0, 青云QingCloud的不断进取,走出了一条独特的SDN之路。
1.0到3.0的功能演进及创新突破
从诞生之日起,青云的SDN就没走寻常路。在1.0时代,青云的切入点放在,让IDC的各种网络组件以虚拟化的形式放在云上,让用户自行组合,形成自己的网络,并且做到100%二层隔离的私有网络。
2.0时代,青云的思路是把以前树型结构的网络拓扑打散,变成分散的网状结构。SDN 2.0主要的改变就是推出分布式网关,可以让用户虚拟机所在的物理节点,也就是计算节点上,有自己独有的虚拟网关,可以直接跟其他节点连接在一起。SDN 2.0还提供了分布式多节点负载均衡器,这也是为了更大程度上提高用户业务性能。
今天,SDN 3.0来了,不断升级后的青云SDN 3.0相对上一个版本,又有哪些升级和改变?
“如果说2.0时代,所有的网络组件都是虚拟的,由软件实现的,那么3.0时代,青云QingCloud则更多利用了硬件路由器的能力。比如分布式网关在计算节点上,下一跳的路由器是物理路由器,不再是NFV。这样做的好处是可以作为一个集中节点,承担整个可用区的网络流量,使其更高效的和其他机房连接在一起。同时,负载均衡器场景中,青云把LVS的功能也就是以前NFV的作用直接体现在硬件交换机上,通过发掘硬件交换机特有的功能,与SDN进行融合,让产品性能更好、稳定性更好。”青云QingCloud云计算基础平台研发总监陈海泉在采访中这样介绍说。
另外,3.0版本相对于上一版本的区别还在于,用户业务可以从一个可用区延伸到多个可用区之间,帮助用户构建同城多活或者异地灾备的业务。与2.0相比,3.0除了有分布式虚拟路由器,还有集中的硬件路由器。只有让我们的SDN能与物理设备完美的结合在一起时,才有可能做到同城多活和异地灾备。这就是为什么青云引入了集中式硬件路由器的原因,目的就是让路由器承担集中的节点,再用路由器接入青云的骨干网,把不同可用区之间的业务高效的连接在一起。
除了集中的硬件路由器,青云青云QingCloud还增加了以下功能:
一、任播公网IP,通过BGP AnyCast的方式,把一个IP部署在多个可用区之间,达到多活的效果。如果有一个可用区光纤中断,它可以自动把业务切换到其他可用区,这在很大程度上保证了用户业务的可靠性。
二、基于任播IP,SDN 3.0提供了多活负载均衡器,可以让用户自己的业务部署在不同区的同一个VPC中,不同VPC之间的业务也可以高效互相连接。不同组件的互相连接之间都可以通过硬件集中路由器实现。
SDN 3.0给用户带来的价值
基于以上这些功能,青云QingCloud能为用户提供多活业务。以青云北京3区举例,北京3区包含三个可用区(B、C、D),三个区之间共享一套负载均衡器集群,实际上是部署在每个区之间的路由器。为什么他们能够多活呢?因为每个路由器上的IP地址都是以任播的方式配置在一起。对于用户来说,他离哪个可用区近,这个区的路由器就能到达它的业务集群。假设某一个可用区的光纤被挖断,这时候BGP会把用户流量自动切换到其他区,在用户看来几乎没有影响,它的业务可以继续被使用。
除了对公网的负载均衡器集群可以做到多活,用户自己的业务也可以做到多活。这是因为青云给用户提供虚拟网络,可以在不同可用区之间漂移虚拟IP。部署过高可用业务的用户可能深有体会,那就是假如有3个MySQL节点可以共享同一个IP对外提供服务。一旦这个IP所在的节点死掉,IP可以通过keepalived的方式直接迁移到其他节点,在客户端这个IP始终是可用的,只是中间断了一下,业务基本没有太大的影响。基于这种方式,用户仍然可以在可用区之间部署他的数据库节点集群。即使某个区整体故障,用户的其他区仍然可以工作。
如何让用户部署其高可用业务?青云采取的措施是,在不同的可用区之间都有完全相同的一套SDN软件,以及硬件部署设施。对用户来说,他的虚拟主机运行在计算节点上,每个计算节点上有自己独有的分布式网关,可以让虚拟机直接路由到其他的各种网络设备。除了SDN 2.0已有的VPC网络、基础网络、公网隧道以及负载均衡器,这一系列的虚拟网络单元外,SDN 3.0最重要的一点是让分布式网关能够跟物理边界路由器直接相连,它可以通过路由器进入青云的骨干网,之后通过BGP路由转发到其他可用区之间。从青云的基础设施来看,可用区A、可用区B独立工作,并且互相连通。当他们部署在同一区域时,就适合组建同城多活的业务;当他们部署在异地时,就比较适合异地灾备。这样用户可以根据实际需求以及IDC部署的位置,自己选择做多活还是灾备。
青云QingCloud SDN3.0和目前其他商用SDN的最大区别则在于:青云可以把NFV与硬件网络设备融合在一起,取长补短,使用各自优点。对于软件来说,好处是部署灵活、功能强大,用户的数据表可以无限大,配置规模没什么限制,成本不高;硬件交换机的特点是性能好、很稳定,可以高可用部署。硬件交换机的缺点也很明显,表象非常少,如果在公有云上直接以硬件SDN的方式使用,面临的问题是表象不够。所以,我们把二者结合起来,能分散的用软件NFV设备;分散不了的就放在硬件SDN交换机上,用硬件的能力实现需要的功能。
负载均衡器将适用于更多场景
在陈海泉看来,负载均衡器的改变也是此次升级版3.0的价值所在。通过对比你会发现,使用LVS的方式,主要转发率大概是2Mpps,而SDN 3.0使用交换机实现,其转发率可提升到1Gpps,而且这只是青云诸多节点中的一个。
陈海泉对此解释说:“因为LVS部署必须是主备的方式,给用户提供的虚拟IP部署在一个LVS节点上。我们架构升级之后,每台交换机以多活的方式运行。青云在一个区域一共部署了四台交换机来组成负载均衡器,它的总转发率变成4Gpps,与以前相比提升了2000倍,同时成本下降成零。”因此陈海泉也建议用户无论是否有LVS,交换机也一定要买,这是青云负载均衡器的全新升级。
青云也希望负载均衡能在更多的场景被使用,今年青云会将负载均衡器3.0做成开源项目放在社区。并且计划将其用在同样开源的容器平台KubeSphere产品上。