腾讯DCI——面向服务 应云而生

前言

       为更好的满足腾讯云百万级客户的个性化需求,腾讯DCI(Data Center Interconnection)数据中心互联网络除了提供质量、成本、效率三个维度的基本保障外,迫切的需要一款产品具备灵活的差异化网络服务能力,为客户提供多维度的定制化网络服务。让我们一起走进腾讯DCI,探索如何让大象跳舞。

筑基炼己,提升网络核心能力

       近几年来,腾讯DCI经历了几次重要的演进。网络的本质是为业务提供支撑和服务,所以网络的演进也应由需求驱动而非技术驱动。过去五年腾讯基础网络需求的最大变化,来自于服务对象的变化。基础网络所支撑的,从以产品导向为主的To C自研业务,逐渐变为以需求导向为主的、To B的公有云业务。两类业务各自特点的不同,直接导致了对网络需求的差异。客户期望我们提供一张质量尽量好、成本尽量低的网络,并且能够根据需求随时交付。相信很多网络工程师都因为这样的需求而产生过焦虑。

       我们并不质疑需求的合理性,这个问题的矛盾实际是过去传统网络的演进无法匹配业务的发展速度而引起的,伴随而来的是一次次运营事件和客户抱怨。我们进行了深入的复盘和反思,总结了网络核心能力三要素——质量,成本,效率,并针对这三个要素对DCI网络进行了系统的优化:

  • 对全网数通设备、传输设备、线路的性能和可靠性进行专项攻坚提升;
  • 优化变更管理和监控流程,确保所有网络操作一旦触发异常可被第一时间定位并恢复;
  • 网络架构优化,推出全新DCI架构B2,采用多平面+分域网络设计,集中式+分布式的SDN控制调度,简化网络的同时有效控制了DCI故障的爆炸半径;
  • 自动化运营能力提升,基于自研NetOps自动化运营平台,通过配置建模、代码化架构发布和管理、全流程自动化下发等方法,实现了对网络配置、变更的完全可控;通过立体监控、优雅隔离、灰度恢复等手段实现了快速故障定位和自愈。

       当我们信心满满的迎来2021年时,我们却被一些“个性”的需求难住了。21年初,某云上客户需要使用腾讯会议举行一场重要的跨国视频会议,需要网络侧为该用户的会议业务流量在穿越DCI时提供最高的可靠性保障;某游戏加速类客户提出腾讯云国内外多个边缘数据中心到核心数据中心需要提供极低的网络时延,这意味着DCI需要专门针对这类客户提供定制化的网络加速……我们突然发现网络面对的需求,不再是单纯的讨论网络整体的质量效率成本,而是需要针对不同客户提供灵活的、定制化的网络服务。网络核心能力三要素也需要进行一个重要的补充——差异化服务。

分层解耦,开放灵活的网络服务

       腾讯云早在2018年就推出了提供全网互联服务的云联网(Cloud Connect Network,CCN)产品,为客户提供云上私有网络间(VPC)、VPC与本地数据中心间(IDC)内网互联的服务,具备全网多点互联、路由自学习、链路选优及故障快速收敛等能力。帮助客户轻松构建极速、稳定、安全、灵活的全球互联网络。

       云联网对客户的网络意图进行转译解析,拆分成不同的网络任务执行,极大的简化了客户对于云上网络的运维复杂度。但在物理网络层执行时,受限于传统数通网络设备的种种限制(如相对固化的软硬件实现,性能规格限制等),很难实现细粒度的差异化服务,而传统的基于业务优先级的QoS能力,已经远远无法满足公有云百万级客户的个性化需求。所以,我们需要一款对上可以与云联网联动,对下可以按客户粒度进行精细化调度,并且直接参与报文数据转发的,可以快速灵活迭代的网络产品。符合这些特点的,就是一款腾讯自研NFV产品,我们把它命名为vDCI。

       vDCI产品的诞生,也标志着腾讯DCI从SDN时代正式演进到了SDN+NFV时代。

       这是一张vDCI产品的落地场景图,vDCI在接收到从数据中心发出的流量后,通过Overlay技术为每个客户构建一个独立的专属网络平面,并在专用平面内基于客户的不同业务类型进行精确匹配和灵活的按需调度,同时确保不同客户间互不影响。

       vDCI作为腾讯DCI的流量出入口,通过隧道技术在低时延、高质量、低成本网络路径间进行精细化的选路调度;同时也通过vDCI这个虚拟平面,将个性化的业务需求与物理网络解耦,vDCI专注于满足业务的灵活调度需求,底层物理网络则聚焦于网络性能和可靠性的持续提升。

      上图展示了vDCI产品的服务能力和高可靠性能力。首先是通过高速加密隧道,实现多种网络资源的灵活利用,同时保证业务的安全性;通过vDCI的可编程能力,支持业务自定义调度标识,帮助客户可以按照不同的业务类型进行差异化调度选择;同时vDCI产品通过与底层物理网络在控制面和转发面的联动提供灵活的多级调度,客户可以在多个网络路径中,按需选择时延最低、成本最低或质量最优的线路,甚至可以在不同的网络中进行按需的调度和切换;最后通过腾讯自研SDN控制器和调度算法,实现客户可自定义的、多维度组合的调度策略,比如“在满足指定的时延范围内,选择成本最低的线路”,“在满足指定可用率范围内,选择时延最小的线路”等等,以帮助公有云产品尽可能的满足客户个性化的网络需求。

       vDCI作为一款全自研产品,除了在差异化服务能力方面的提升,在高可靠性方面也做了丰富的设计。首先是通过vDCI产品自身发送亚秒级的高精度探测报文,基于每条隧道进行实时探测,一旦检测到异常,可以按照制定好的运营策略(异常的判定条件和运营策略均支持客户自定义或使用腾讯云推荐值),实现多级的保护切换。基于图中展示的链路级、路径级、网络级三级调度能力,可按需进行端口级、设备级、路径级、平面级、网络级5级切换,以保证在异常场景下,仍然尽量满足客户的原始选路诉求。为客户提供了多级快速故障自愈能力,这在传统网络中是非常难做到的。截至2021年底,vDCI产品已经完成了腾讯云全球Region的覆盖部署,稳定运营超过6个月,为多种类型客户提供了定制化DCI加速服务。

端网协同,打造极致网络

       如果仅仅将vDCI作为DCI的流量入口,则不得不为了实现少部分客户的精细化调度需求,需要将全部用户的流量都引入到vDCI,这可能会带来额外的成本开销。所以接下来vDCI将通过自研网络协议,实现数据转发面直接与业务网关系统的对接,实现端侧的按需引流。后续随着Smartswitch、SmartNIC的规模上线,vDCI可以以更灵活的方式与业务进行联动,实现端网协同调度。这也标志着DCI网络系统从控制面到转发面的全面开放,让上层业务可以灵活、高效的享用底层网络提供的丰富的服务能力。

结语

       最后总结一下腾讯DCI的演进历程,首先通过B2网络和自动化运营平台,解决了业务对于网络质量、效率、成本的最基础需求;然后通过vDCI+SDN调度算法,实现了为业务提供差异化服务能力;接下来基于管理面、控制面、转发面全栈自研的腾讯DCI网络平台,通过高精度网络度量和数据建模与分析,进一步深入理解业务,更好的帮忙云上客户产生价值。