怎么搭建这个庞大的基础网络平台本身是一个非常复杂的议题,网络技术本身在这其中可能只占据不到20%的分量,为了让网络规划、建设、运营形成一个健康的体系,并不断提升业务系统面向用户的体验,需要考虑非常多的问题:包括网络技术选型、公司资源发放趋势、端到端的运营体系、网络技术发展趋势、硬件供应链管理、综合成本把控、迭代与稳定运营之间的Trade-off、风火水电、国内/国际通信环境等等因素,而这其中每一项几乎都可以写几本书来讲了。本文则聚焦于网络本身,笔者争取用通俗易懂的描述,简单的分享一下鹅厂构建基础网络平台的思路。 先看一张鹅厂基础网络平台的整体架构图(如下),网络之所以会演进到今天这个样子,主要是因为鹅厂网络的价值主体是不断构建和优化的两个能力——“连接服务与服务的能力”与“连接服务与用户的能力”,网络架构的发展必须围绕着两个能力来演进。同时,再根据上层业务特点(离线/在线)、地理资源丰富程度(地/电)、ISP网络布局、灾备要求、综合成本构成等因素,将整体基础网络平台分为三大块:
每一块网络架构都会遵循整体基础网络的价值目标,并且结合自身独有的特点进行演进与优化,下面就针对这三大网络架构的构建思路展开进行探讨。 数据中心网络 数据中心网络聚焦于“连接服务与服务的能力”,在整个网络投资板块占据很高分量,通过多年的积累,数据中心网络已经形成几万网元的体量。面对如此体量的网络,一定是需要有一套严密的构建体系来支撑的,包括设计、建设、运营、供应链管理等环节,因为随便一个错误意味着不可想象的影响范围和返工量。按照常理来看,数据中心网络是离业务最近的网络,而如此大的体量应该是运营压力最大的部分,其实这个问题在鹅厂并没有想象的那么严重,前文提到过,鹅厂是一个专业能力较强、内部合作顺畅的生态系统,经过了多年的磨合,上层业务和基础网络形成了很好的合作默契,业务系统架构(尤其是平台级业务)的健壮性、容灾设计、调度能力达到了非常高的水平,使得基础网络平台的架构师可以用标准化、健壮性好的技术来满足几乎绝大部分业务对数据中心网络的要求,从而可以有更多精力集中在数据中心网络相关更底层、更专业领域内深耕细作。 关于鹅厂数据中心网络的玩法,或者说要运转数据中心网络需要具备什么能力,将这些年的经验和思路可以稍作总结如下:
边缘网络(海外) 边缘网络(Edge)聚焦于“连接服务与用户的能力”,其主要任务就是能将鹅厂的服务以最短的路径、最好的质量送到全球各地用户的手上。国内的边缘网络普遍以静态对接ISP的形式存在,海外则以BGP对接为主,本章节主要对鹅厂海外的边缘网络架构进行介绍。 海外ISP数量众多,导致全球Internet是一个非常复杂的网络环境,如果鹅厂所有的服务都是从海外的Data Center直接送给当地的几个大ISP从而触达全球每一位用户的话,是非常难做到给各地用户都提供非常好的网络体验的。鹅厂花了大力气来解决这个问题:
边缘网络在技术上也会遇到很多挑战,即多出口管理能力、流量调度能力、故障恢复能力等。在很早的时候,管理多出口和调度流量还使用的是传统的网络手段,经常会因为某一个出口的质量恶化,鹅厂网络工程师需要手工登录到网络设备上用脚本去调整路由策略,以牵引流量去往质量更好的出口,随着出口数量的不断增加,不管是在网络规划方面还是手工优化流量方面,都变的越来越复杂和力不从心。举一个简单的例子,当只有两个出口的时候,规划和优化都非常简单,要么双活要么主备,谁出问题就关掉谁,动态路由协议会自动收敛,看起来非常简单,但试想当出口的数量有几百个甚至上千个的时候,如何规划这些出口的使用规则?正常情况下每个出口走哪些服务或者用户的流量?故障或者质量恶化情况下这些出口之间的备份关系如何?还要结合带宽、成本、互联ISP网络内部负载情况等因素来进行综合考虑和设计,这个就变成了非常复杂的议题了,曾几何时,鹅厂的出口网络设备上有着几千行的路由策略命令,有的跟规划有关,有的跟优化有关,有的跟处理故障有关,网络运营变的越来越复杂,而且出口的数量还在迅猛增长。 几年前,我们就意识到如果不重构这一块的设计,迟早有一天会玩不下去,正当SDN的浪潮席卷而来,我们借鉴了SDN的思路,并花了不短的时间来构建这一块的能力,形成鹅厂网络的一个非常重要的竞争力,这个能力的核心就是多出口的集中控制,我们内部称之为 “用上帝视角来选择出口和调度流量”。简单的来说,我们将所有出口的带宽、路由、流量、质量、成本、IP与AS对应关系等信息采集或输入至中央控制系统中,再开发出一套符合我们业务要求的算法,实现集中计算,保证各ISP、各地的用户都能以当下的基础设施条件下,以最好的网络质量访来问鹅厂的服务,计算完成后再将执行策略下发到转发设备从而牵引流量落地。目前,这一整套体系已经在现网落地,同时,我们还在这个平台上构建了一套服务层,让上层业务可以自行开发APP使用这套集中控制系统来实现自己的需求,比如在DDOS就近清洗与一键封堵方面、公有云客户流量自动切换出口方面、平台级业务区域质量优化方面等。 DCI广域网络 DCI广域网络同时负责构建“连接服务与服务的能力”及“连接服务与用户的能力”,即是将鹅厂全球所有Data Center连接起来的网络,是整个基础网络平台的重中之重,前文讲的多出口流量调度(海外DC与海外用户之间的流量)也承载在这张广域网上面。 上图即为DCI网络架构的示意图,可以留意到在中间的位置有两张广域网,这个设计跟鹅厂的上层业务特点是密不可分的。最初只有一张DCI网络,即DCI for Elastic Services,这张网络承载了所有的广域流量,是一张重载的网络,我们几年前开始使用TE技术来提高这张网络的利用率和流量调度能力,使得这张网络的技术迭代和建设扩容成为频繁的日常工作,而鹅厂平台级业务的容错性和架构设计都非常强大,与基础网络配合也较为默契,使得这张网络得以高速的发展。近些年,金融业务和公有云业务逐渐成为网络保障的重点,这两种业务和之前鹅厂的大流量平台级业务的差异较大,对网络质量和可用率都提出了极高的要求,我们为了应对公司业务这方面的变化,开始着手构建了第二张网络(图中的DCI for Interactive Services),来重点服务这部分业务。关于这两张网络特点,分别描述如下:
前文多次提到,网络架构设计是一个庞大的系统工程,需要考虑非常多的因素,而这些因素中最基础,以及与网络本身最贴近的部分就是组网与技术选型了。广域网拓扑按需建设,随着业务的发展和流量增长,最终形成一张非常复杂的无序拓扑,对比数据中心组网有着显著的区别,这其中的核心原因大概有以下几点:
上述四点基本描述了广域网的特点,这些都是在做架构设计的时候要考虑的最基本的要素,那么下面就着重介绍一下鹅厂“DCI for Elastic Services”这张广域网的构建思路。 广域链路极贵,网元硬件成本占比很低,那么问题的关键就变成在获得最佳的网络质量的前提下,如何提高链路利用率了。抛开网络,任何想提高资源利用率的领域,技术都是最关键的因素之一,所以我们在广域网的技术应用上下足了功夫。试想一下,如果用传统的路由方法去驱动这张广域网,只会得到一个结果,就是网络整体利用率不高,但是经常发生局部拥塞,优化团队每天都在火烧眉毛的扩容,这个结果就比较讽刺了。而这个问题的原因就是传统的路由方法不够智能和感性,感知不到哪里有资源可以利用,而我们为了解决这个问题而选择的技术方法是“集中控制的流量工程系统”,主体思路描述如下:
总结 构建大型基础网络平台是一个非常需要团队耐心和意志力的复杂系统工程,需要非常强的规划设计能力,但更为重要的是在运营过程中,结合业务规划的变化、产业链的变化、通信环境的变化、主要矛盾的变化、综合成本构成的变化等因素,能够敏捷的跟进和调整。本文涵盖的内容较广,笔者用较小的篇幅来讲实现细节,而较多的内容聚焦在鹅厂在做这些工作时候的一些思路和经验,希望能给大家带来一点点参考价值。 |
|
来自: 昵称40459605 > 《文件夹1》