技术
首页  >  技术  >  CNII特约专家

ODCC网络工作组组长杨志华:云计算数据中心网络面临挑战

2015-11-06  来源:中国信息产业网  作者:

CNII网讯11月5日,2015开放数据中心峰会在北京国家会议中心举行。本届峰会由开放数据中心委员会(ODCC)主办,阿里巴巴、百度、腾讯、中国电信、中国移动、中国信息通信研究院、英特尔等单位承办,是国内在数据中心领域的一大行业盛会。会议由上午的主论坛和下午的五个分论坛构成,分论坛的主题分别为天蝎整机柜、新型服务器、模块数据中心、数据中心网络、行业数据中心技术发展与运维。

ODCC网络工作组组长、阿里巴巴资深网络专家杨志华在下午的数据中心网络分论坛上发表了题为《云计算数据中心网络挑战与实践》的演讲。

ODCC网络工作组组长、阿里巴巴资深网络专家杨志华

以下是演讲内容实录:

网络工作组成立以后第一次在峰会亮相得到了大家的支持,非常的感动,希望网络工作组的核心会员们也能为大家奉献更多。

今天我要与大家分享的话题是数据中心的挑战和实践,更针对性的是跟大家分享的是一个本质和三个思考,即我们在做网络,甚至云计算的网络顶层架构设计的一些思考。

考虑云计算的网络架构演进的时候,你要考虑的本质是你要解决什么问题,对于基础设施、虚拟网络和运维方面有一些思考跟大家分享。

本质问题,从我们来看一个大规模的云计算的网络,尤其是公有云的场景的数据中心网络,它要解决的主要问题是什么,或者说我们说的本质问题是什么。第一个是规模。当企业在比较小的时候,网络比较小的时候,其实你是不会想到这一点的,但是如果你要做一个业界前列的,你有志向要做TOP几的云计算的供应商这个时候就要考虑。

规模有几个方面,一是对业务的伸缩性,这个可能大家平时不太注意。阿里有全世界最大的电商交易支付平台,这么大的一个业务系统,我们比全球第二大的同样的电商支付玩家大了10倍的总量,其实没有一个玩家可以拿来供我们参考。尤其还要构建在云计算的环境里,这个云计算不一定百分之百是公有云,实际我们今天有一部分在公有云上,有一部分在私有云上。云计算的网络你要考虑能够支撑这么海量的业务,或者这个业务要上公有云,今天一个很火的话题是怎么让企业上云,怎么让云计算自己的企业上云。对阿里来说,如果我们的淘宝支付宝这么大的体量要上公有云,怎么办?公有云里头很典型的一个场景是VPC,这么大的一个租户你怎么办,VPC能不能支撑,你的网络能不能支撑。这是一种规模。

另外一种规模是百万级别租户的规模。在公有云里绝大部分客户可能都是一个、两个虚机,这么海量的用户如果你的租户的隔离,你的相关的云服务的接口,在海量租户的情况下你能不能支撑。这是两个阶段的规模问题,首先需要考虑你要支撑的业务伸缩程度是什么样的。

另外一个规模问题是你的基础设施,根据前面你的业务伸缩的要求你怎么去考量。对于阿里来说,毫无疑问我们需要有一个全球格局的分布式的数据中心。全国这么多城市我们要有云计算的分布,要分布到这些城市。海外也是一样,像新加坡、美国我们都已经开了公有云的站点,将来还会扩展到更多的地方。这么多的分布式数据中心必然之间是要有通信的,要有一张非常好的骨干网,而且是低成本、大带宽,要能够调度。还有其他的CDN网络等等,这些都是相应配套的。而且配套的这些网络要从基础设施的角度来考虑,而不只是解决眼下的需求。

如果有一个山村说要通汽车,如果当时的需求只是人能走就行,能骑自行车就行,那么土路就可以了,但是将来要修高速公路,要通小汽车等等这些问题都是我们需要提前考虑的。

第二个是成本,这个成本不是狭义的买一个华为、华三的交换机就行了,不是这么简单的问题。我们面临的挑战是什么?对于成本来说,今天的供应链越来越透明。基础设施和供应链的成本已经非常透明了,无非是你买的量大可能溢价能力强一些,但总体来说几大玩家的成本其实相差都不大。另外一方面很突出的问题是资源利用率和复用率,这一点是往往很容易被忽视的。

举个简单的例子,比如同样是一台服务器,你能部署多少台虚机。你有没有胆量像航空公司一样超卖座位,不是座位的多卖就是超卖了,你要解决超卖了以后,到了机场你得能解决,不能简单的说没有座位了。要考量怎么把成本降低,更重要的是将来资源的复用率和利用率。当然还要做调度,要做负载均衡、隔离。

成本的一个最大的挑战是理念的改变。有一件事情比较有意思,IDC总体成本里面网络占的比重不超过10%,但是领导往往会盯着网络成本每年要降多少,所以更多的要从我们自己开始到引导单位整体的思路,网络占的比重不大,但是起的作用很关键,而且要把所有的设备都连接起来,它的高效率是可以提升整个系统的效率的。所以讨论网络成本的时候,我们在打造云计算大规模基础设施的时候要改变一种观念,以往的观念都是量体裁衣,性能千兆,1:1、2:1还是3:1,要多少才能够,最好你给我签字画押。量体裁衣式的成本考量坦白的说是很难适应云计算的发展的。云计算的发展更多的是要更快的采用新技术、新产品,亚马逊的一台虚机生命周期基本100多天,服务器可能要下线或者别的原因你要迁走,他的产品的更新换代比我们想象的要快得多。这就带来另外一个问题,在大规模云计算的情况下成本的考量,我们更多的是从打造基础设施的角度去考量,能不能快速的把新技术、新产品的成本降下来,占领技术制高点的同时,还要把握住成本。

前面说到了规模和成本的问题,很大程度上要靠运营来解决。并不是说前两个问题不考虑了,把运营做好就自然而然解决了,而是运营作为解决这两个问题了入口抓手。对于运营来说最重要的问题是什么,由于我们的云计算规模越来越大,增长越来越快,至少从人员上来说绝对不可能按照业务的增长规模去配备,所以你的运维标准化、自动化,弹性的能力是非常重要的。只有这样才能让系统去替代人,而且不容易出错。

作为网络的人来说,大家很担心的是网络故障,在出网络故障的百分比里有人统计过是721,7是人为的变更导致的,不管你是人为失误还是变更方案不理想。2可能是软件Bug,如果你能够给多的自动化、标准化,就意味着你能够把人参与的能影响的方面尽可能的降低。这对于网络整体的质量,你的业务提供的质量才能有保障。

因为网络运营有点像后勤部门,我们需要转变一个观念,运营的手段一方面对内我们是管理基础设施提供给业务部门,但我们还要想到在云计算发展到今天,网络能力其实已经是云计算的核心能力之一。大家参加一些云计算的会,经常会听到有人说我的出口跨一千万,这种都作为核心竞争力拿出来,这个时候你要考虑到网络的运营其实也是对外提供服务的,你要从另外一个角度考虑运营。

我们要把云计算环境下,尤其大规模的云计算环境下,大规模的公有云环境下,把你的架构设计好之前要考虑的本质性的问题。

其中有一点提到打造网络基础设施,有什么样的关键点?第一,要解决我们做网络架构,包括设备选型的需求来源。正常的来源都是来源于业务需求,我们经常挂在嘴边的一句话,说架构无非就是业务需求、成本、运营。业务需求是什么,我根据业务需求来响应,作为传统行业、传统企业是OK的,没有问题,但是在云计算行业这条路可能是走不通的。云计算的产业发展非常之迅猛,我不知道大家有没有关注过一些数字,即便亚马逊这么大的体量,几十亿美金收入的体量,他仍然能够增长百分之七、八十。即便阿里,阿里今天跟亚马逊还是有很大的差别,对于阿里在国内是第一阵营的云计算企业来说,最近的政府也在100%多。

互联网行业,如果有人跟你说三个月或者半年以后的需求这本身就是扯淡的事情,还有云计算发展的速度这么快。从业务需求来讲,你的这种规划往往是不准确的。业务增长非常快的时候,导致的新的需求会对你的基础设施造成很大的压力,你可能很短的时间就要去研发你的新的架构,去满足新的需求。与其这样,我们的打造网络基础设施的思路应该变成更前瞻的考虑我们架构本身的演进,更客观的考虑它需要的方面。首先改变这么一个思路,从业务驱动改成网络自己往前走。

还有一个方面是成本,就是以量体裁衣的方式来改变,改变成网络自动往前走的方式。比如说网络25G,你提供25G,跟万兆成本差不多,用户肯定是欣然接受的。这个转变其实是非常困难的,一个是网络团队本身的理念,还有一个是属于管理层的老板的理念。在云计算的环境下,这是我们需要去推动解决的理念的转变,只有这种转变你才能真正的去打造网络基础设施,才不会成天被业务指责说你都是被业务驱动的,我的需求你总是满足不了。

今天是我用25G我能不能拿到跟万兆差不多的成本,我们解决问题的思路就变了,而不是像以前的思路签字画押,保证1:1,要转变这个思路。本身对于每一个架构师来说你要考虑的一个很重要的问题就是你的网络架构演进的节奏问题,因为网络架构的演进,坦白说周期时间是比较长的。刚才华三提到研发一款新的产品要18个月,其实我们研发一个新的网络架构,从提出设想到认证到小规模的尝试,到大规模上线,时间差不多也要一年的时间,周期时间很长。也就意味着你的网络架构的演进,如果不提前做准备的话,你就会被逼得手忙脚乱。这方面我们也有深刻的教训,我们曾经在短短的四、五个月内必须要研发一个全新的架构,连硬件带软件,压力非常之巨大。现在比较好的做法是网络架构一定要有前瞻性的研究思路,在芯片行业,特别是英特尔做的是比较好的。网络架构有没有可能参考这种思路,其实是有可能的。对于阿里来说,我们现在在尝试的是三代同堂的演进架构。

我们有一代大规模成熟的架构,这一代结构刚上市的时候马上就要研发下一代架构,这代架构是有改进的,在现在的架构基础上做大的改进。同时我还要预言再下一代的架构,这样我才能领先业务的需求。

前面华为、华三的两位老总提到了虚拟网络,虚拟网络的发展,对大家来说首先第一个碰到的问题,也是我曾经碰到过的问题,就是谁来主导。是网络方主导,还是业务方去主导,是云计算的研发团队主导,还是网络研发团队主导,这的确是一个问题,这涉及到网络团队在SDN转型的过程当中你的研发是不是跟得上,还有很关键的一点是虚拟网络是云计算的核心竞争力之一。如果传统的基础架构部门研发的节奏跟不上,研发能力满足不了,团队之间的配合、跨部门的配合会有问题,客户会怎么选择?所以这是一个很严肃的问题。虚拟网络有两种,一个是软的,一个是硬的。从实践上来说做云的这些玩家基本上都用两个方案,甚至跟物理的网络没有什么关系,自己软件就做了,但是从技术来说,这两种方案各有优缺点,各有局限性。所以大家不要啊说我必须要硬必须要软,要考虑你的云业务模式是什么。作为网络架构师来说不要拘泥于网络控制器,还有非常广阔的天地。

云计算环境下的网络运维有很大的不一样,第一个,云计算环境下无疑要引入很多SDN,引入节奏很快,不管是硬件还是软件的解决方案,但带来的风险是很多的。我们曾经碰过一个案例,在VXLAND环境下,它会消耗大量的CPU,CPU没有控制好的时候就会影响其他的。这种风险是非常大的,如果真的是生产的时候出现问题损失将会是非常大的。再比如初期的时候控制器如果掉了,我的网络也能正常运行,也有分布式协议去解决,从运营角度来讲无疑是稳妥的方式,实际上这本身给整体解决方案的设计会带来很多的复杂性。

云计算下面很多的因素叠加在一起,安全方面,比如一个虚机被打的时候,你的网络是不是能够进行抑制。

对于海量运维来说,我们的架构设计之初就需要考虑到运维和监控的自动化。

以上就是我要跟大家分享的,希望大家多交流。

关键词:开放数据中心峰会 ODCC 云计算