"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。
经典科幻电影《2001太空漫游》中,有一个充满了神秘宗教意义的象征:黑石(黑色的方碑)。黑石每次的出现,都昭示了文明的转机。远古,黑石第一次出现,教会了猿人使用工具;2000年,黑石第二次出现,将人类从月球引向了木星,才有了之后2001太空漫游的故事。
时钟指向了2016年—NASA的玩具车在火星上溜达了4年之后,人类仍然没有漫游到木星。同一年,腾讯云推出了一款叫做“黑石”的私有云产品,成功的把多个私有云大客户忽悠上腾讯云的大船,开始了在云世界中的“太空漫游”。在这块黑色的方碑上,汇集了TEG和云平的多种先进技术。其中第一条,也是整个黑石的基础,5.0V网络架构。好吧,主角的名字很朴(Su)实(Qi),不过她,很有的内涵。
挑战
腾讯是一个持续高速发展的互联网公司,每年会持续不断的新增海量服务器建设需求,使用的是一个完全标准化的网络建设形态,有如下特色:
以时下最热的楼市为例,腾讯自营业务的网络就是一个庞大的公寓群,拎包入住,高档精装修。
而在私有云网络中,面对的是各种千奇百怪的客户需求,和定制化的网络架构。在2015年一整年,原有在自营业务中使用的标准化网络建设方式,被腾讯云私有云用户虐的死去活来:
仍然以房地产为例,私有云用户的网络要求就如同一个小区里即有茅草屋,也有联排别墅。而且茅草屋的用户第二天就有可能要求原地推到重来为独栋别墅。
所有的挑战归结起来,只有两点:敏捷和资源共享。
5.0V架构概览
2016年,马特呆萌在火星自力更生的种了一年菜,网平那些被虐的死去活来的网工们也没有放弃,成功的研发出了次世代的IDC网络架构:5.0V。
首先是硬件选型,资源共享是主要考量:
接下来的考量是敏捷。动辄上万W的功耗,数百公斤的重量,金属打造的机身,复杂难懂的CLI,网络设备难免给人沉默、呆板的印象。怎么让他敏捷起来?
网平网工们的选择:Infrastructure As Code。
由Network Orchestrator、NFV Controller和Fabric Controller三种控制器组件,构成分层、解耦的网络编排架构,实现灵活高效的交换机和NFV设备控制,并提供丰富的北向API接口。
当最终的用户需要使用网络功能时,IT人员不再需要去学习那些复杂的网络协议和设备命令行,只需要在软件中调用简单的API接口,既可以完成如下这些网络功能的弹性部署。
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的实现与技术突破
接下来的部分是技术秀,对网络技术名词不明觉厉的同学请略过,直接拉到最后一章:
控制平面:分层的编排系统架构
转发平面:在标准BGP-EV**的分布式网关方案基础上的大幅优化
- 纯L3的overlay转发,规避大二层的BUM问题 。
- 优化转发芯片表项资源,简化控制平面处理。
- EV**协议优化,降低协议开销,增加稳定性。
- 单模块网络规模可以达到转发芯片能力上限。
- 网络任意节点/链路故障,100ms级别的中断 恢复时间。
丰富的网络增值服务
价值与展望
5.0V并不是一个传统意义上只涉及交换机的数据中心网络架构,而是涵盖了交换机、NFV设备、云服务、云间互联能力的一体化的SDN解决方案。控制平面的SDN赋予她敏捷和弹性;转发层面的硬件选择和协议优化,赋予她高性能和高可靠性;分层编排的系统架构,赋予她多样的服务能力和良好的生态。
5.0V已经成功的在腾讯云黑石项目投入运营,并逐渐走向成熟,她以Infrastructure As Code的方式整合了腾讯所有IDC网络节点,并为上层的网络服务搭建了一个弹性敏捷的网络支撑平台。将腾讯的数据中心网络架构正式带入了SDN的时代。