经典科幻电影《2001太空漫游》中,有一个充满了神秘宗教意义的象征:黑石(黑色的方碑)。黑石每次的出现,都昭示了文明的转机。远古,黑石第一次出现,教会了猿人使用工具;2000年,黑石第二次出现,将人类从月球引向了木星,才有了之后2001太空漫游的故事。
时钟指向了2016年—NASA的玩具车在火星上溜达了4年之后,人类仍然没有漫游到木星。同一年,腾讯云推出了一款叫做“黑石”的私有云产品,成功的把多个私有云大客户忽悠上腾讯云的大船,开始了在云世界中的“太空漫游”。在这块黑色的方碑上,汇集了TEG和云平的多种先进技术。其中第一条,也是整个黑石的基础,5.0V网络架构。好吧,主角的名字很朴(Su)实(Qi),不过她,很有的内涵。
挑战
腾讯是一个持续高速发展的互联网公司,每年会持续不断的新增海量服务器建设需求,使用的是一个完全标准化的网络建设形态,有如下特色:
- 多:常年大规模建设和部署。
- 快:全流程自动化,建设高效率。
- 好:网络性能充分满足腾讯自营业务需求。
- 省:标准化建设,实现规模效应下的成本最优化。
以时下最热的楼市为例,腾讯自营业务的网络就是一个庞大的公寓群,拎包入住,高档精装修。
而在私有云网络中,面对的是各种千奇百怪的客户需求,和定制化的网络架构。在2015年一整年,原有在自营业务中使用的标准化网络建设方式,被腾讯云私有云用户虐的死去活来:
- 可能多:每个用户建设规模不确定,会动态变化。
- 快不起来:各种定制化需求,无法自动化,建设效率低,人力成本消耗严重。
- 众口难调:不能完美的满足不同用户的定制化需求。
- 不太省:不同用户的定制化架构,无法共享资源,无法有效的降低成本。
仍然以房地产为例,私有云用户的网络要求就如同一个小区里即有茅草屋,也有联排别墅。而且茅草屋的用户第二天就有可能要求原地推到重来为独栋别墅。
所有的挑战归结起来,只有两点:敏捷和资源共享。
5.0V架构概览
2016年,马特呆萌在火星自力更生的种了一年菜,网平那些被虐的死去活来的网工们也没有放弃,成功的研发出了次世代的IDC网络架构:5.0V。首先是硬件选型,资源共享是主要考量:
- 通过overlay转发的方式构架基础网络架构,即实现网络隔离,也实现了用户对基础网络架构的与位置无关的共享。简单来说,用户可以使用IDC机房里的任意位置的服务器,接入自己的自定义网路,并自由的定义该服务器的IP网段和路由。
- 硬件ovlerlay转发:overlay转发节点为交换机,使用低成本高吞吐能力的转发芯片,实现高转发性能。相对于传统的云网络,无需损耗服务器性能。
- NFV:计算要求高,交换机无法满足的L4-7层服务节点和网络增值业务节点(例如防火墙,LB,VPN接入等),不再使用传统的昂贵且不易统一管理运维的硬件设备,而是改为部署在标准X86服务器上的NFV软件,实现灵活的功能部署和横向扩展。用户需要哪些NFV服务,只需要在标准的X86服务器上安装部署即可,随用随装,按需扩容。
- 标准化的硬件选型+多用户共享IDC网络,实现规模效应下的成本优化。不同的用户使用同一个IDC网络,但同时满足用户之间的隔离,用户网络自定义以及质量保证。
接下来的考量是敏捷。动辄上万W的功耗,数百公斤的重量,金属打造的机身,复杂难懂的CLI,网络设备难免给人沉默、呆板的印象。怎么让他敏捷起来?
网平网工们的选择:Infrastructure As Code。
由Network Orchestrator、NFV Controller和Fabric Controller三种控制器组件,构成分层、解耦的网络编排架构,实现灵活高效的交换机和NFV设备控制,并提供丰富的北向API接口。
当最终的用户需要使用网络功能时,IT人员不再需要去学习那些复杂的网络协议和设备命令行,只需要在软件中调用简单的API接口,既可以完成如下这些网络功能的弹性部署。
- 用户网络自定义:满足多样的用户网络需求。
- 网络部署自动化:大量节省网络交付时间。
- 丰富的互联能力:Internet出口,与用户自有机房通过专线互联/通过IPsec VPN互联、跨地域的云间互联。
- 丰富的增值服务能力:防火墙,LB等L4-L7的网络服务,云数据库、云存储、docker等云服务。
5.0V承载案例
敏捷和资源共享是5.0V的主要卖点。我们举几个例子,看看她是怎么工作的。
案例1:中小企业客户IDC网络建设交付周期
传统架构: 中小企业客户的私有云网络建设。首先企业的IT人员需要和业务部门沟通需求;然后是资源评估;之后再结合计划使用的网络设备的具体规格和能力,做架构设计;最后才是网络建设。整个流程下来,从用户立项到最终的机房交付,即使是加班加点,整个周期也得3-4个月。
5.0V:中小企业客户在腾讯云下单后,用户的IT人员,直接在云平的前台web页面上,按照腾讯抽象出来的网络模型设计自己的网络架构,不需要考虑底层网络设备的差异。下发提交后,5.0V的业务编排系统会根据用户的需求和网络设计,全自动化的完成资源调配和网络配置,1天搞定。
案例2:网络资源的弹性调度
某电商客户要搞促销活动,需要临时紧急进行网络资源扩容。
传统架构下存在如下问题:
- 问题1:机房里是否还有机位资源,机房是否还有多余的出口带宽资源?没有! 新建一个IDC吧,3个月;
- 问题2:公网出口设备、LB和FW的性能是否够用?不够!紧急采购扩容,修改网络架构,重新做业务部署,2个月;
- 问题3:城市A的机房到城市B的机房的专线带宽是否够用?不够!紧急进行专线建设,联系运营商施工,做网络设备配置,2-6个月;
好吧,看起来该电商如果想搞促销,得提前半年就开始准备了。而且,这些资源促销之后就只能闲置了。
5.0V:
- 问题1:腾讯云储备了海量的机位资源和出口资源,5.0V将这些资源完全扁平化管理,用户在前台页面点点鼠标,就可以拿来使用了。同时,虽然资源是多个用户共享的,但是5.0V保证用户之间的安全隔离和质量保证。而且,这些资源只是借用,不用了还可以退。
- 问题2:5.0V以NFV的形态实现这些L4-7层服务,并支持横向扩容。用户需要扩容时,不需要采购新的硬件设备,点点鼠标,5.0V会自动化的新增服务器,安装上相应的软件,并完成部署。
- 问题3:5.0V可以将腾讯遍布全世界的DCI网络有机的调度起来。用户在城市A的5.0V机房和城市B的自有机房新建专线时,只需要从城市B的自有机房拉一条专线到腾讯在城市B的接入点即可。其他的工作,交给5.0V吧。
案例3:IP的灵活部署和快速上下线
container技术和serverless架构和的流行,要求IP节点可以快速灵活的在网络的任意节点上进行部署和释放。
传统架构下,每新增一个container的IP,需要网工手工使用CLI在设备上配置;同时,因为受广播域大小的限制,该IP网段的使用范围受限,无法在IDC中所有的服务器上部署和迁移。
5.0V提供对外的API进行IP的部署,用户的管理平台需要部署container时,直接调用5.0V的API,就可以灵活的部署container的网络。同时,5.0V使用overlay技术,将IP和IDC内的物理机架位置解耦,container可以在IDC内的任意服务器上部署和迁移。
5.0V的实现与技术突破
接下来的部分是技术秀,对网络技术名词不明觉厉的同学请略过,直接拉到最后一章:
- 控制平面:分层的编排系统架构
- Network Orchestrator负责网络业务编排,NFV Controller负责NFV设备控制,Fabric Controller负责交换机控制。组件间访问均为腾讯根据自营业务,以及私有云用户需求场景定义的标准化的网络对象和API。
- 标准化Fabric 控制器的对象模型和接口,只要是遵循腾讯规范的Fabric 控制器都可以在腾讯网络部署。由此,将交换机选型与网络业务编排解耦,不同供应商的交换机,只需要进行控制器北向API开发,既可以接入5.0V。
- 标准化NFV控制器的对象模型和接口,NFV控制器通过Plugin方式,具备支持多厂商NFV设备的能力。NFV设备只需要支持业界标准的北向接口,就可以与NFV控制器即插即用。
- L2-L3层网络服务(交换机)和L4-L7网络服务(NFV)独立演进和发展,可以兼容不同供应商产品,构建良好生态。
转发平面:在标准BGP-EVPN的分布式网关方案基础上的大幅优化
- 控制器只负责业务下发,不负责转发表项的计算。转发表项的计算使用成熟度高的标准BGP-EVPN协议完成。
- 使用IBGP+高性能RR的方式,进行overlay路由的计算,与Underlay路由的计算解耦。
- 在标准协议和商用方案的基础上做减法,降低协议开销:
- 纯L3的overlay转发,规避大二层的BUM问题 。
- 优化转发芯片表项资源,简化控制平面处理。
- EVPN协议优化,降低协议开销,增加稳定性。
- 在标准协议的基础上,针对性的增加定制化特性,优化网络稳定性和HA能力:
- 单模块网络规模可以达到转发芯片能力上限。
- 网络任意节点/链路故障,100ms级别的中断 恢复时间。
丰富的网络增值服务
- 5.0V的业务编排层使用模块化架构,可以接入各种类型,不同主体提供的网络增值服务,包括网平提供的服务器安装部署、TGW提供的Internet出口和LB服务,云平台提供的云服务,5.0V自身具备的L4-L7层服务。每个服务都可按模块横向扩展。
- 5.0V网络架构的业务驱动,与所有这些增值服务的业务驱动,统一编排,但是独立执行;业务下发层级实现关联,但是技术实现解耦。简单来说,就是各种增值业务,只需要与5.0V的NO对接,不需要修改原有的业务实现方式,就可以SDN的方式进行业务部署和运维。
- 资源共享和独占灵活控制,所有服务都可以实现多用户按需共享服务资源,由控制平面统一调度,也可以按照用户需求独占资源,并灵活弹性的控制规模。
价值与展望
5.0V并不是一个传统意义上只涉及交换机的数据中心网络架构,而是涵盖了交换机、NFV设备、云服务、云间互联能力的一体化的SDN解决方案。控制平面的SDN赋予她敏捷和弹性;转发层面的硬件选择和协议优化,赋予她高性能和高可靠性;分层编排的系统架构,赋予她多样的服务能力和良好的生态。
5.0V已经成功的在腾讯云黑石项目投入运营,并逐渐走向成熟,她以Infrastructure As Code的方式整合了腾讯所有IDC网络节点,并为上层的网络服务搭建了一个弹性敏捷的网络支撑平台。将腾讯的数据中心网络架构正式带入了SDN的时代。